Fix: prevent user from saving todo item with empty text