diff --git a/apps/web/scripts/check-structure.js b/apps/web/scripts/check-structure.js index ea15fa8..4ccebab 100644 --- a/apps/web/scripts/check-structure.js +++ b/apps/web/scripts/check-structure.js @@ -19,7 +19,9 @@ function checkFileSize(filePath, maxLines = 300) { const content = fs.readFileSync(filePath, "utf-8"); const lines = content.split("\n").length; if (lines > maxLines) { - console.error(`❌ OVERSIZED (${lines} lines): ${path.relative(SRC_DIR, filePath)}`); + console.error( + `❌ OVERSIZED (${lines} lines): ${path.relative(SRC_DIR, filePath)}`, + ); errors++; } } diff --git a/apps/web/src/api/config_folders.test.ts b/apps/web/src/api/config-folders.test.ts similarity index 99% rename from apps/web/src/api/config_folders.test.ts rename to apps/web/src/api/config-folders.test.ts index 9f32449..7b5645a 100644 --- a/apps/web/src/api/config_folders.test.ts +++ b/apps/web/src/api/config-folders.test.ts @@ -5,7 +5,7 @@ import { deleteConfigFolder, listConfigFolders, updateConfigFolder, -} from "../api/config_folders"; +} from "../api/config-folders"; const mockGet = vi.fn(); const mockPost = vi.fn(); diff --git a/apps/web/src/api/config_folders.ts b/apps/web/src/api/config-folders.ts similarity index 100% rename from apps/web/src/api/config_folders.ts rename to apps/web/src/api/config-folders.ts diff --git a/apps/web/src/api/git_repositories.ts b/apps/web/src/api/git-repositories.ts similarity index 100% rename from apps/web/src/api/git_repositories.ts rename to apps/web/src/api/git-repositories.ts diff --git a/apps/web/src/api/ssh_keys.ts b/apps/web/src/api/ssh-keys.ts similarity index 100% rename from apps/web/src/api/ssh_keys.ts rename to apps/web/src/api/ssh-keys.ts diff --git a/apps/web/src/api/tool_configs.ts b/apps/web/src/api/tool-configs.ts similarity index 100% rename from apps/web/src/api/tool_configs.ts rename to apps/web/src/api/tool-configs.ts diff --git a/apps/web/src/api/tool_types.test.ts b/apps/web/src/api/tool-types.test.ts similarity index 99% rename from apps/web/src/api/tool_types.test.ts rename to apps/web/src/api/tool-types.test.ts index 8609907..0acc59c 100644 --- a/apps/web/src/api/tool_types.test.ts +++ b/apps/web/src/api/tool-types.test.ts @@ -6,7 +6,7 @@ import { listToolTypes, updateToolType, validateToolType, -} from "../api/tool_types"; +} from "../api/tool-types"; const mockGet = vi.fn(); const mockPost = vi.fn(); diff --git a/apps/web/src/api/tool_types.ts b/apps/web/src/api/tool-types.ts similarity index 100% rename from apps/web/src/api/tool_types.ts rename to apps/web/src/api/tool-types.ts diff --git a/apps/web/src/components/protected-route.test.tsx b/apps/web/src/components/ProtectedRoute.test.tsx similarity index 96% rename from apps/web/src/components/protected-route.test.tsx rename to apps/web/src/components/ProtectedRoute.test.tsx index d2fd135..a0194d5 100644 --- a/apps/web/src/components/protected-route.test.tsx +++ b/apps/web/src/components/ProtectedRoute.test.tsx @@ -2,7 +2,7 @@ import { render, screen } from "@testing-library/react"; import { MemoryRouter, Route, Routes } from "react-router-dom"; import { describe, expect, it, vi } from "vitest"; -import { ProtectedRoute } from "./protected-route"; +import { ProtectedRoute } from "./ProtectedRoute"; const mockUseAuth = vi.fn(); diff --git a/apps/web/src/components/protected-route.tsx b/apps/web/src/components/ProtectedRoute.tsx similarity index 100% rename from apps/web/src/components/protected-route.tsx rename to apps/web/src/components/ProtectedRoute.tsx diff --git a/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx b/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx index 95aa8dc..ecca9b2 100644 --- a/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx +++ b/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx @@ -1,5 +1,5 @@ import type { Session } from "../../../types/session"; -import { Icon } from "../../../components/icon"; +import { Icon } from "../../ui/Icon"; interface ActiveSessionsListProps { sessions: Session[]; @@ -28,7 +28,11 @@ export const ActiveSessionsList = ({
-

{session.display_name || session.tool_type_name || "Unnamed Session"}

+

+ {session.display_name || + session.tool_type_name || + "Unnamed Session"} +

{session.status} diff --git a/apps/web/src/components/features/dashboard/QuickCreateForm.tsx b/apps/web/src/components/features/dashboard/QuickCreateForm.tsx index 7f707c3..51d8bab 100644 --- a/apps/web/src/components/features/dashboard/QuickCreateForm.tsx +++ b/apps/web/src/components/features/dashboard/QuickCreateForm.tsx @@ -2,7 +2,7 @@ import { useState } from "react"; import type { Project } from "../../../types/project"; import type { GitRepository } from "../../../types/git-repository"; import type { ToolType } from "../../../types/tool-type"; -import { Icon } from "../../../components/icon"; +import { Icon } from "../../ui/Icon"; interface QuickCreateFormProps { projects: Project[]; diff --git a/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx b/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx index 31044c7..8e0852d 100644 --- a/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx +++ b/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx @@ -24,7 +24,9 @@ export const RecentSessionsSection = ({
- {session.display_name || session.tool_type_name || "Unnamed Session"} + {session.display_name || + session.tool_type_name || + "Unnamed Session"} {session.project_name} · {session.tool_type_name} diff --git a/apps/web/src/components/commit-dialog.tsx b/apps/web/src/components/features/git/CommitDialog.tsx similarity index 99% rename from apps/web/src/components/commit-dialog.tsx rename to apps/web/src/components/features/git/CommitDialog.tsx index fd80688..97e6b04 100644 --- a/apps/web/src/components/commit-dialog.tsx +++ b/apps/web/src/components/features/git/CommitDialog.tsx @@ -1,7 +1,7 @@ import styles from "./features/git/CommitDialog.module.css"; import React, { useState } from "react"; -import { Icon } from "./icon"; +import { Icon } from "../../ui/Icon"; interface CommitDialogProps { isOpen: boolean; diff --git a/apps/web/src/components/commit-panel.tsx b/apps/web/src/components/features/git/CommitPanel.tsx similarity index 97% rename from apps/web/src/components/commit-panel.tsx rename to apps/web/src/components/features/git/CommitPanel.tsx index 5712702..665ec34 100644 --- a/apps/web/src/components/commit-panel.tsx +++ b/apps/web/src/components/features/git/CommitPanel.tsx @@ -1,6 +1,6 @@ import { useState } from "react"; -import { commitChanges } from "../api/git_repositories"; +import { commitChanges } from "../../../api/git-repositories"; import styles from "./features/git/CommitPanel.module.css"; interface CommitPanelProps { diff --git a/apps/web/src/components/features/git/FileBrowser.tsx b/apps/web/src/components/features/git/FileBrowser.tsx index c6d4d76..b1b906c 100644 --- a/apps/web/src/components/features/git/FileBrowser.tsx +++ b/apps/web/src/components/features/git/FileBrowser.tsx @@ -1,6 +1,6 @@ import { useCallback, useEffect, useState } from "react"; import { useSearchParams } from "react-router-dom"; -import { Icon } from "../../icon"; +import { Icon } from "../../ui/Icon"; import { apiClient } from "../../../api/client"; import type { GitStatus } from "../../../types/git-repository"; diff --git a/apps/web/src/components/file-editor.tsx b/apps/web/src/components/features/git/FileEditor.tsx similarity index 94% rename from apps/web/src/components/file-editor.tsx rename to apps/web/src/components/features/git/FileEditor.tsx index 8c4442c..06bd03e 100644 --- a/apps/web/src/components/file-editor.tsx +++ b/apps/web/src/components/features/git/FileEditor.tsx @@ -1,13 +1,13 @@ import styles from "./features/git/FileEditor.module.css"; import React, { useCallback, useEffect, useState } from "react"; import { useSearchParams } from "react-router-dom"; -import { apiClient } from "../api/client"; -import { useAuth } from "../state/auth"; -import { CodeEditor } from "../components/code-editor"; -import { CommitDialog } from "../components/commit-dialog"; -import { Icon } from "../components/icon"; -import { SyntaxHighlighter } from "../components/syntax-highlighter"; -import { detectLanguage } from "../utils/language"; +import { apiClient } from "../../../api/client"; +import { useAuth } from "../../../state/auth"; +import { CodeEditor } from "../../ui/CodeEditor"; +import { CommitDialog } from "./CommitDialog"; +import { Icon } from "../../ui/Icon"; +import { SyntaxHighlighter } from "./SyntaxHighlighter"; +import { detectLanguage } from "../../../utils/language"; interface FileEditorProps { projectId: string; diff --git a/apps/web/src/components/git-toolbar.tsx b/apps/web/src/components/features/git/GitToolbar.tsx similarity index 98% rename from apps/web/src/components/git-toolbar.tsx rename to apps/web/src/components/features/git/GitToolbar.tsx index 8980be6..9b4000e 100644 --- a/apps/web/src/components/git-toolbar.tsx +++ b/apps/web/src/components/features/git/GitToolbar.tsx @@ -8,9 +8,9 @@ import { pullRepository, pushRepository, type GitStatus, -} from "../api/git_repositories"; -import { Icon } from "./icon"; -import { MergeDialog } from "./merge-dialog"; +} from "../../../api/git-repositories"; +import { Icon } from "../../ui/Icon"; +import { MergeDialog } from "./MergeDialog"; import styles from "./features/git/GitToolbar.module.css"; interface GitToolbarProps { diff --git a/apps/web/src/components/merge-dialog.tsx b/apps/web/src/components/features/git/MergeDialog.tsx similarity index 97% rename from apps/web/src/components/merge-dialog.tsx rename to apps/web/src/components/features/git/MergeDialog.tsx index ee59b50..04c832d 100644 --- a/apps/web/src/components/merge-dialog.tsx +++ b/apps/web/src/components/features/git/MergeDialog.tsx @@ -1,8 +1,8 @@ import styles from "./features/git/MergeDialog.module.css"; import { useState } from "react"; -import { mergeBranches } from "../api/git_repositories"; -import { Icon } from "./icon"; +import { mergeBranches } from "../../../api/git-repositories"; +import { Icon } from "../../ui/Icon"; interface MergeDialogProps { projectId: string; diff --git a/apps/web/src/components/syntax-highlighter.tsx b/apps/web/src/components/features/git/SyntaxHighlighter.tsx similarity index 94% rename from apps/web/src/components/syntax-highlighter.tsx rename to apps/web/src/components/features/git/SyntaxHighlighter.tsx index 09fe87b..9c95318 100644 --- a/apps/web/src/components/syntax-highlighter.tsx +++ b/apps/web/src/components/features/git/SyntaxHighlighter.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; -import { Icon } from "./icon"; -import { highlightCode, loadLanguage } from "../utils/language"; +import { Icon } from "../../ui/Icon"; +import { highlightCode, loadLanguage } from "../../../utils/language"; interface SyntaxHighlighterProps { code: string; diff --git a/apps/web/src/components/features/git/WorkspaceSidebar.tsx b/apps/web/src/components/features/git/WorkspaceSidebar.tsx index 58f766c..515e5c7 100644 --- a/apps/web/src/components/features/git/WorkspaceSidebar.tsx +++ b/apps/web/src/components/features/git/WorkspaceSidebar.tsx @@ -1,9 +1,9 @@ import type { GitRepository } from "../../../types/git-repository"; -import type { GitStatus } from "../../../api/git_repositories"; +import type { GitStatus } from "../../../api/git-repositories"; import type { ToolType } from "../../../types/tool-type"; import { FileBrowser } from "./FileBrowser"; -import { CommitPanel } from "../../../components/commit-panel"; -import { InstanceList } from "../../../components/instance-list"; +import { CommitPanel } from "../git/CommitPanel"; +import { InstanceList } from "../session/InstanceList"; interface WorkspaceSidebarProps { projectId: string; @@ -29,10 +29,7 @@ export const WorkspaceSidebar = ({