diff --git a/frontend/src/components/common/TagInput.tsx b/frontend/src/components/common/TagInput.tsx index fdd2bc91..c6c0e805 100644 --- a/frontend/src/components/common/TagInput.tsx +++ b/frontend/src/components/common/TagInput.tsx @@ -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' diff --git a/frontend/src/components/library/AddToFolderMenu.tsx b/frontend/src/components/library/AddToFolderMenu.tsx index fd199f74..5764b359 100644 --- a/frontend/src/components/library/AddToFolderMenu.tsx +++ b/frontend/src/components/library/AddToFolderMenu.tsx @@ -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' diff --git a/frontend/src/components/library/FolderEditModal.tsx b/frontend/src/components/library/FolderEditModal.tsx index 61eb692d..a8f10f9c 100644 --- a/frontend/src/components/library/FolderEditModal.tsx +++ b/frontend/src/components/library/FolderEditModal.tsx @@ -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' diff --git a/frontend/src/components/library/FolderSidebar.tsx b/frontend/src/components/library/FolderSidebar.tsx index cb455bca..ffd9bdd6 100644 --- a/frontend/src/components/library/FolderSidebar.tsx +++ b/frontend/src/components/library/FolderSidebar.tsx @@ -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' diff --git a/frontend/src/components/library/ShareTreeModal.tsx b/frontend/src/components/library/ShareTreeModal.tsx index 5e2babe3..311e2196 100644 --- a/frontend/src/components/library/ShareTreeModal.tsx +++ b/frontend/src/components/library/ShareTreeModal.tsx @@ -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' diff --git a/frontend/src/components/step-library/StepDetailModal.tsx b/frontend/src/components/step-library/StepDetailModal.tsx index 34080f18..df75d8f3 100644 --- a/frontend/src/components/step-library/StepDetailModal.tsx +++ b/frontend/src/components/step-library/StepDetailModal.tsx @@ -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 { diff --git a/frontend/src/components/step-library/StepForm.tsx b/frontend/src/components/step-library/StepForm.tsx index 50e6b19d..6fdbc271 100644 --- a/frontend/src/components/step-library/StepForm.tsx +++ b/frontend/src/components/step-library/StepForm.tsx @@ -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 { diff --git a/frontend/src/components/step-library/StepLibraryBrowser.tsx b/frontend/src/components/step-library/StepLibraryBrowser.tsx index 532ca140..4854b107 100644 --- a/frontend/src/components/step-library/StepLibraryBrowser.tsx +++ b/frontend/src/components/step-library/StepLibraryBrowser.tsx @@ -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' diff --git a/frontend/src/components/tree-editor/TreeMetadataForm.tsx b/frontend/src/components/tree-editor/TreeMetadataForm.tsx index ef55d275..a95f52ba 100644 --- a/frontend/src/components/tree-editor/TreeMetadataForm.tsx +++ b/frontend/src/components/tree-editor/TreeMetadataForm.tsx @@ -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' diff --git a/frontend/src/hooks/useCustomStepFlow.ts b/frontend/src/hooks/useCustomStepFlow.ts index 5c8e0906..b528f152 100644 --- a/frontend/src/hooks/useCustomStepFlow.ts +++ b/frontend/src/hooks/useCustomStepFlow.ts @@ -1,7 +1,8 @@ import { useState } from 'react' import { useNavigate } from 'react-router-dom' -import { sessionsApi, stepsApi } from '@/api' -import { treesApi } from '@/api' +import { sessionsApi } from '@/api/sessions' +import { stepsApi } from '@/api/steps' +import { treesApi } from '@/api/trees' import type { Tree, Session, DecisionRecord, TreeStructure, CustomStep, Step } from '@/types' import type { CustomStepDraft } from '@/components/step-library/CustomStepModal' import type { DescendantNode } from '@/components/session' diff --git a/frontend/src/pages/AccountSettingsPage.tsx b/frontend/src/pages/AccountSettingsPage.tsx index 8b276ead..051ab6de 100644 --- a/frontend/src/pages/AccountSettingsPage.tsx +++ b/frontend/src/pages/AccountSettingsPage.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react' import { Link } from 'react-router-dom' import { Building2, Users, Mail, Crown, Loader2, AlertCircle, Check, X, Settings, FolderTree } from 'lucide-react' -import { accountsApi } from '@/api' +import { accountsApi } from '@/api/accounts' import type { Account, AccountMember, AccountInvite } from '@/types' import { cn } from '@/lib/utils' import { usePermissions } from '@/hooks/usePermissions' diff --git a/frontend/src/pages/AdminCategoriesPage.tsx b/frontend/src/pages/AdminCategoriesPage.tsx index d20a16a8..f92cf5a6 100644 --- a/frontend/src/pages/AdminCategoriesPage.tsx +++ b/frontend/src/pages/AdminCategoriesPage.tsx @@ -3,7 +3,8 @@ import { Plus } from 'lucide-react' import { DndContext, closestCenter } from '@dnd-kit/core' import type { DragEndEvent } from '@dnd-kit/core' import { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable' -import { stepCategoriesApi, stepsApi } from '@/api' +import { stepCategoriesApi } from '@/api/stepCategories' +import { stepsApi } from '@/api/steps' import { CategoryRow } from '@/components/admin/CategoryRow' import { CreateCategoryModal } from '@/components/admin/CreateCategoryModal' import { EditCategoryModal } from '@/components/admin/EditCategoryModal' diff --git a/frontend/src/pages/MyTreesPage.tsx b/frontend/src/pages/MyTreesPage.tsx index bb76aed6..567524dc 100644 --- a/frontend/src/pages/MyTreesPage.tsx +++ b/frontend/src/pages/MyTreesPage.tsx @@ -1,7 +1,8 @@ import { useEffect, useState } from 'react' import { useNavigate, Link } from 'react-router-dom' import { Play, Pencil, Share2, Trash2, GitBranch, Clock, TrendingUp, FolderTree } from 'lucide-react' -import { treesApi, sessionsApi } from '@/api' +import { treesApi } from '@/api/trees' +import { sessionsApi } from '@/api/sessions' import type { TreeListItem } from '@/types' import { TagBadges } from '@/components/common/TagBadges' import { ConfirmDialog } from '@/components/common/ConfirmDialog' diff --git a/frontend/src/pages/RegisterPage.tsx b/frontend/src/pages/RegisterPage.tsx index d94f867a..9c89142f 100644 --- a/frontend/src/pages/RegisterPage.tsx +++ b/frontend/src/pages/RegisterPage.tsx @@ -1,7 +1,7 @@ import { useState } from 'react' import { Link, useNavigate } from 'react-router-dom' import { useAuthStore } from '@/store/authStore' -import { inviteApi } from '@/api' +import { inviteApi } from '@/api/invite' import { BrandLogo } from '@/components/common/BrandLogo' import { cn } from '@/lib/utils' diff --git a/frontend/src/pages/SessionDetailPage.tsx b/frontend/src/pages/SessionDetailPage.tsx index e117feee..3827b60f 100644 --- a/frontend/src/pages/SessionDetailPage.tsx +++ b/frontend/src/pages/SessionDetailPage.tsx @@ -1,7 +1,8 @@ import { useEffect, useState } from 'react' import { useParams, useNavigate } from 'react-router-dom' import { Copy, Check, Eye, Save } from 'lucide-react' -import { sessionsApi, stepsApi } from '@/api' +import { sessionsApi } from '@/api/sessions' +import { stepsApi } from '@/api/steps' import { ExportPreviewModal } from '@/components/session/ExportPreviewModal' import { SaveSessionAsTreeModal } from '@/components/session/SaveSessionAsTreeModal' import { StepRatingModal } from '@/components/session/StepRatingModal' diff --git a/frontend/src/pages/SessionHistoryPage.tsx b/frontend/src/pages/SessionHistoryPage.tsx index 872939fb..1e2d35b8 100644 --- a/frontend/src/pages/SessionHistoryPage.tsx +++ b/frontend/src/pages/SessionHistoryPage.tsx @@ -1,6 +1,7 @@ import { useEffect, useState } from 'react' import { useNavigate, useSearchParams } from 'react-router-dom' -import { sessionsApi, treesApi } from '@/api' +import { sessionsApi } from '@/api/sessions' +import { treesApi } from '@/api/trees' import type { Session, TreeListItem } from '@/types' import type { DateRange } from 'react-day-picker' import { SessionFilters } from '@/components/session/SessionFilters' diff --git a/frontend/src/pages/TreeEditorPage.tsx b/frontend/src/pages/TreeEditorPage.tsx index f847524f..3ee1aed5 100644 --- a/frontend/src/pages/TreeEditorPage.tsx +++ b/frontend/src/pages/TreeEditorPage.tsx @@ -3,7 +3,8 @@ import { useParams, useNavigate, useBlocker } from 'react-router-dom' import { useStore } from 'zustand' import { Undo2, Redo2, Save, CheckCircle2, Monitor, FileText, Code2, LayoutList } from 'lucide-react' import { getMonacoEditor } from '@/components/tree-editor/code-mode' -import { treesApi, treeMarkdownApi } from '@/api' +import { treesApi } from '@/api/trees' +import { treeMarkdownApi } from '@/api/treeMarkdown' import type { TreeCreate, TreeUpdate, TreeStatus } from '@/types' import { useTreeEditorStore, useTreeEditorTemporal } from '@/store/treeEditorStore' import { TreeEditorLayout } from '@/components/tree-editor/TreeEditorLayout' diff --git a/frontend/src/pages/TreeLibraryPage.tsx b/frontend/src/pages/TreeLibraryPage.tsx index 9d355cfa..29267359 100644 --- a/frontend/src/pages/TreeLibraryPage.tsx +++ b/frontend/src/pages/TreeLibraryPage.tsx @@ -1,7 +1,9 @@ import { useEffect, useState, useCallback } from 'react' import { useNavigate, Link } from 'react-router-dom' import { Plus, X, FolderOpen } from 'lucide-react' -import { treesApi, categoriesApi, foldersApi } from '@/api' +import { treesApi } from '@/api/trees' +import { categoriesApi } from '@/api/categories' +import { foldersApi } from '@/api/folders' import type { TreeListItem, CategoryListItem, FolderListItem } from '@/types' import { FolderSidebar } from '@/components/library/FolderSidebar' import { FolderEditModal } from '@/components/library/FolderEditModal' diff --git a/frontend/src/pages/TreeNavigationPage.tsx b/frontend/src/pages/TreeNavigationPage.tsx index 19ea936a..d0065a78 100644 --- a/frontend/src/pages/TreeNavigationPage.tsx +++ b/frontend/src/pages/TreeNavigationPage.tsx @@ -1,6 +1,7 @@ import { useEffect, useState } from 'react' import { useParams, useNavigate, useLocation } from 'react-router-dom' -import { treesApi, sessionsApi } from '@/api' +import { treesApi } from '@/api/trees' +import { sessionsApi } from '@/api/sessions' import { useTreeNavigationShortcuts } from '@/hooks/useKeyboardShortcuts' import { useCustomStepFlow } from '@/hooks/useCustomStepFlow' import type { Tree, Session, DecisionRecord, TreeStructure } from '@/types' diff --git a/frontend/src/store/authStore.ts b/frontend/src/store/authStore.ts index cb8976ee..f057abf8 100644 --- a/frontend/src/store/authStore.ts +++ b/frontend/src/store/authStore.ts @@ -1,8 +1,8 @@ import { create } from 'zustand' import { persist } from 'zustand/middleware' import type { User, Token, UserCreate, UserLogin, Account, SubscriptionDetails } from '@/types' -import { authApi } from '@/api' -import { apiClient } from '@/api' +import { authApi } from '@/api/auth' +import { apiClient } from '@/api/client' interface AuthState { user: User | null