fix: correct relative imports after component reorganization

Fixed import paths for 43 components moved into features/ directories.
Key fixes:
- api/, types/, hooks/, state/, utils/ imports need ../../../ from features/*/
- components/ imports need ../../ from features/*/
- Cross-feature imports use relative paths (e.g., ../tool/tools-bottom-sheet)
- app-shell.tsx updated to import from features/ subdirectories

Frontend typecheck now passes except for one pre-existing error:
xterm-addon-webgl missing type declarations.

Quality gates: ruff passed on backend, py_compile passed on all backend files.
This commit is contained in:
2026-06-04 12:46:45 +02:00
parent 2680a8c44a
commit 8c7affc933
39 changed files with 117 additions and 117 deletions
@@ -3,7 +3,7 @@ import { render, screen, fireEvent, cleanup } from "@testing-library/react";
import { NotificationCenter } from "./notification-center";
import { NotificationProvider } from "../state/notifications";
vi.mock("../api/notifications", () => ({
vi.mock("../../../api/notifications", () => ({
getNotifications: vi.fn(),
getUnreadCount: vi.fn(),
markNotificationRead: vi.fn(),
@@ -12,7 +12,7 @@ vi.mock("../api/notifications", () => ({
clearAllNotifications: vi.fn(),
}));
import { getNotifications, getUnreadCount } from "../api/notifications";
import { getNotifications, getUnreadCount } from "../../../api/notifications";
const mockedGetNotifications = vi.mocked(getNotifications);
const mockedGetUnreadCount = vi.mocked(getUnreadCount);
@@ -142,7 +142,7 @@ describe("NotificationCenter", () => {
fireEvent.click(screen.getByRole("button", { name: /mark all as read/i }));
const { markAllNotificationsRead: mockMarkAll } = await import(
"../api/notifications"
"../../../api/notifications"
);
expect(vi.mocked(mockMarkAll)).toHaveBeenCalled();
});
@@ -162,7 +162,7 @@ describe("NotificationCenter", () => {
fireEvent.click(screen.getByRole("button", { name: /clear all/i }));
const { clearAllNotifications: mockClearAll } = await import(
"../api/notifications"
"../../../api/notifications"
);
expect(vi.mocked(mockClearAll)).toHaveBeenCalled();
});