fix: correct CSS module import paths after file renames (Task 4.4)

- Fix incorrect relative paths in feature components after directory restructure
- Components in features/{domain}/ were importing ./features/{domain}/X.module.css
  instead of ./X.module.css
- Affected: AppShell, GitToolbar, FileEditor, CommitDialog, CommitPanel,
  MergeDialog, SettingsTabLayout, InstanceList, TerminalComponent

Quality gates: tsc (pass), eslint (pass), build (pass)
Refs: repo-restructure Task 4.4
This commit is contained in:
Developer
2026-06-02 23:07:37 +00:00
parent be29da667f
commit 543fee5d56
11 changed files with 70 additions and 53 deletions
+2 -6
View File
@@ -41,14 +41,10 @@ function checkFileSize(filePath, maxLines = 300) {
const relative = path.relative(SRC_DIR, filePath); const relative = path.relative(SRC_DIR, filePath);
if (lines > maxLines) { if (lines > maxLines) {
if (OVERSIZE_ALLOWLIST.includes(relative)) { if (OVERSIZE_ALLOWLIST.includes(relative)) {
console.warn( console.warn(`⚠️ OVERSIZED (${lines} lines, allowlisted): ${relative}`);
`⚠️ OVERSIZED (${lines} lines, allowlisted): ${relative}`,
);
warnings++; warnings++;
} else { } else {
console.error( console.error(`❌ OVERSIZED (${lines} lines): ${relative}`);
`❌ OVERSIZED (${lines} lines): ${relative}`,
);
errors++; errors++;
} }
} }
@@ -1,4 +1,4 @@
import styles from "./features/git/CommitDialog.module.css"; import styles from "./CommitDialog.module.css";
import React, { useState } from "react"; import React, { useState } from "react";
import { Icon } from "../../ui/Icon"; import { Icon } from "../../ui/Icon";
@@ -1,7 +1,7 @@
import { useState } from "react"; import { useState } from "react";
import { commitChanges } from "../../../api/git-repositories"; import { commitChanges } from "../../../api/git-repositories";
import styles from "./features/git/CommitPanel.module.css"; import styles from "./CommitPanel.module.css";
interface CommitPanelProps { interface CommitPanelProps {
projectId: string; projectId: string;
@@ -1,4 +1,4 @@
import styles from "./features/git/FileEditor.module.css"; import styles from "./FileEditor.module.css";
import React, { useCallback, useEffect, useState } from "react"; import React, { useCallback, useEffect, useState } from "react";
import { useSearchParams } from "react-router-dom"; import { useSearchParams } from "react-router-dom";
import { apiClient } from "../../../api/client"; import { apiClient } from "../../../api/client";
@@ -11,7 +11,7 @@ import {
} from "../../../api/git-repositories"; } from "../../../api/git-repositories";
import { Icon } from "../../ui/Icon"; import { Icon } from "../../ui/Icon";
import { MergeDialog } from "./MergeDialog"; import { MergeDialog } from "./MergeDialog";
import styles from "./features/git/GitToolbar.module.css"; import styles from "./GitToolbar.module.css";
interface GitToolbarProps { interface GitToolbarProps {
projectId: string; projectId: string;
@@ -1,4 +1,4 @@
import styles from "./features/git/MergeDialog.module.css"; import styles from "./MergeDialog.module.css";
import { useState } from "react"; import { useState } from "react";
import { mergeBranches } from "../../../api/git-repositories"; import { mergeBranches } from "../../../api/git-repositories";
@@ -13,7 +13,7 @@ import {
startInstance, startInstance,
stopInstance, stopInstance,
} from "../../../api/sessions"; } from "../../../api/sessions";
import styles from "./features/session/InstanceList.module.css"; import styles from "./InstanceList.module.css";
const API_BASE_URL = const API_BASE_URL =
import.meta.env.VITE_API_BASE_URL ?? "http://localhost:8000"; import.meta.env.VITE_API_BASE_URL ?? "http://localhost:8000";
@@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import { Link, useLocation } from "react-router-dom"; import { Link, useLocation } from "react-router-dom";
import styles from "./features/settings/SettingsTabLayout.module.css"; import styles from "./SettingsTabLayout.module.css";
interface Tab { interface Tab {
id: string; id: string;
@@ -10,7 +10,7 @@ import type {
ServerControlMessage, ServerControlMessage,
TerminalConnectionState, TerminalConnectionState,
} from "../../../types/terminal"; } from "../../../types/terminal";
import styles from "./features/terminal/TerminalComponent.module.css"; import styles from "./TerminalComponent.module.css";
interface TerminalProps { interface TerminalProps {
instanceId: string; instanceId: string;
+1 -1
View File
@@ -8,7 +8,7 @@ import { useAuth } from "../../state/auth";
import { useSessions } from "../../state/sessions"; import { useSessions } from "../../state/sessions";
import { Icon } from "../ui/Icon"; import { Icon } from "../ui/Icon";
import type { IconName } from "../../utils/icons"; import type { IconName } from "../../utils/icons";
import styles from "./layout/AppShell.module.css"; import styles from "./AppShell.module.css";
const NAV_ITEMS: { to: string; label: string; icon: IconName }[] = [ const NAV_ITEMS: { to: string; label: string; icon: IconName }[] = [
{ to: "/", label: "Home", icon: "dashboard" }, { to: "/", label: "Home", icon: "dashboard" },
+59 -38
View File
@@ -19,42 +19,63 @@ import { ToolTypesPage } from "./pages/ToolTypesPage";
import { SessionsPage } from "./pages/SessionsPage"; import { SessionsPage } from "./pages/SessionsPage";
export const AppRouter = () => { export const AppRouter = () => {
return ( return (
<Routes> <Routes>
<Route path="/login" element={<LoginRedirectPage />} /> <Route path="/login" element={<LoginRedirectPage />} />
<Route path="/sessions" element={<Navigate to="/" replace />} /> <Route path="/sessions" element={<Navigate to="/" replace />} />
<Route path="/ssh-keys" element={<Navigate to="/settings/ssh-keys" replace />} /> <Route
<Route path="/tool-types" element={<Navigate to="/settings/tool-types" replace />} /> path="/ssh-keys"
<Route path="/tool-configs" element={<Navigate to="/settings/tool-configs" replace />} /> element={<Navigate to="/settings/ssh-keys" replace />}
<Route />
path="/" <Route
element={ path="/tool-types"
<ProtectedRoute> element={<Navigate to="/settings/tool-types" replace />}
<AppShell /> />
</ProtectedRoute> <Route
} path="/tool-configs"
> element={<Navigate to="/settings/tool-configs" replace />}
<Route index element={<HomePage />} /> />
<Route path="projects" element={<ProjectsPage />} /> <Route
<Route path="projects/:projectId" element={<RepoWorkspace />} /> path="/"
<Route path="projects/:projectId/repositories" element={<GitRepositoriesPage />} /> element={
<Route path="projects/:projectId/repositories/:repoId/history" element={<GitHistoryPage />} /> <ProtectedRoute>
<Route path="projects/:projectId/settings/*" element={<ProjectSettingsPage />} /> <AppShell />
<Route path="profile" element={<ProfilePage />} /> </ProtectedRoute>
<Route path="settings" element={<SettingsPage />}> }
<Route index element={<Navigate to="general" replace />} /> >
<Route path="general" element={<GeneralSettingsTab />} /> <Route index element={<HomePage />} />
<Route path="ssh-keys" element={<SSHKeysPage />} /> <Route path="projects" element={<ProjectsPage />} />
<Route path="tool-types" element={<ToolTypesPage />} /> <Route path="projects/:projectId" element={<RepoWorkspace />} />
<Route path="tool-configs" element={<ToolConfigsPage />} /> <Route
<Route path="*" element={<Navigate to="general" replace />} /> path="projects/:projectId/repositories"
</Route> element={<GitRepositoriesPage />}
<Route path="tool-workshop" element={<ToolWorkshopPage />} /> />
<Route path="instances/:instanceId/terminal" element={<TerminalPage />} /> <Route
<Route path="sessions" element={<SessionsPage />} /> path="projects/:projectId/repositories/:repoId/history"
</Route> element={<GitHistoryPage />}
<Route path="/404" element={<NotFoundPage />} /> />
<Route path="*" element={<Navigate to="/404" replace />} /> <Route
</Routes> path="projects/:projectId/settings/*"
); element={<ProjectSettingsPage />}
/>
<Route path="profile" element={<ProfilePage />} />
<Route path="settings" element={<SettingsPage />}>
<Route index element={<Navigate to="general" replace />} />
<Route path="general" element={<GeneralSettingsTab />} />
<Route path="ssh-keys" element={<SSHKeysPage />} />
<Route path="tool-types" element={<ToolTypesPage />} />
<Route path="tool-configs" element={<ToolConfigsPage />} />
<Route path="*" element={<Navigate to="general" replace />} />
</Route>
<Route path="tool-workshop" element={<ToolWorkshopPage />} />
<Route
path="instances/:instanceId/terminal"
element={<TerminalPage />}
/>
<Route path="sessions" element={<SessionsPage />} />
</Route>
<Route path="/404" element={<NotFoundPage />} />
<Route path="*" element={<Navigate to="/404" replace />} />
</Routes>
);
}; };