refactor: replace barrel imports with direct module imports for tree-shaking

Replace all `from '@/api'` barrel imports with direct imports from
specific module files (e.g. `from '@/api/trees'`) across 20 files.
This enables better tree-shaking so each page only bundles the API
modules it actually uses.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michael Chihlas
2026-02-10 18:52:14 -05:00
parent d155c83ef0
commit 0e0e3572f4
20 changed files with 32 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
import { useState, useRef, useEffect, useCallback } from 'react'
import { X, Plus } from 'lucide-react'
import { tagsApi } from '@/api'
import { tagsApi } from '@/api/tags'
import type { TagListItem } from '@/types'
import { cn } from '@/lib/utils'

View File

@@ -1,6 +1,6 @@
import { useState, useEffect, useRef } from 'react'
import { FolderPlus, Check, Plus } from 'lucide-react'
import { foldersApi } from '@/api'
import { foldersApi } from '@/api/folders'
import type { FolderListItem } from '@/types'
import { cn } from '@/lib/utils'

View File

@@ -1,6 +1,6 @@
import { useState, useEffect, useMemo } from 'react'
import { X } from 'lucide-react'
import { foldersApi } from '@/api'
import { foldersApi } from '@/api/folders'
import type { FolderListItem, FolderCreate, FolderUpdate } from '@/types'
import { cn } from '@/lib/utils'
import { toast } from '@/lib/toast'

View File

@@ -1,6 +1,6 @@
import { useState, useEffect, useCallback } from 'react'
import { Folder, ChevronDown, ChevronRight, Plus, MoreVertical, Pencil, Trash2, FolderPlus, X } from 'lucide-react'
import { foldersApi } from '@/api'
import { foldersApi } from '@/api/folders'
import type { FolderListItem, FolderTreeItem } from '@/types'
import { cn } from '@/lib/utils'

View File

@@ -1,7 +1,7 @@
import { useState, useEffect } from 'react'
import { X, Copy, Check, Link2, Users, Lock, Globe } from 'lucide-react'
import type { TreeListItem, TreeShare, TreeVisibility } from '@/types'
import { treesApi } from '@/api'
import { treesApi } from '@/api/trees'
import { cn } from '@/lib/utils'
import { toast } from '@/lib/toast'

View File

@@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'
import { X, Star, Copy, Check, HelpCircle, Zap, CheckCircle, User, Calendar } from 'lucide-react'
import { cn } from '@/lib/utils'
import { MarkdownContent } from '@/components/ui/MarkdownContent'
import { stepsApi } from '@/api'
import { stepsApi } from '@/api/steps'
import type { Step, Review } from '@/types/step'
interface StepDetailModalProps {

View File

@@ -1,7 +1,7 @@
import { useState, useEffect } from 'react'
import { Plus, X, HelpCircle, Zap, CheckCircle } from 'lucide-react'
import { cn } from '@/lib/utils'
import { stepCategoriesApi } from '@/api'
import { stepCategoriesApi } from '@/api/stepCategories'
import type { StepCreate, StepCategory, StepCommand } from '@/types/step'
interface StepFormProps {

View File

@@ -1,7 +1,8 @@
import { useState, useEffect, useMemo } from 'react'
import { Search, ChevronDown, ChevronUp, Loader2 } from 'lucide-react'
import { cn } from '@/lib/utils'
import { stepsApi, stepCategoriesApi } from '@/api'
import { stepsApi } from '@/api/steps'
import { stepCategoriesApi } from '@/api/stepCategories'
import { StepCard } from './StepCard'
import { StepDetailModal } from './StepDetailModal'
import type { Step, StepListItem, StepCategory, PopularTag, StepListParams } from '@/types/step'

View File

@@ -1,5 +1,5 @@
import { useEffect, useState } from 'react'
import { categoriesApi } from '@/api'
import { categoriesApi } from '@/api/categories'
import { useTreeEditorStore } from '@/store/treeEditorStore'
import { TagInput } from '@/components/common/TagInput'
import type { CategoryListItem } from '@/types'