- Remove tab system entirely (tab-store, tab-bar, tab-link) - Split monolithic AuthContext into zustand auth + workspace stores - Move issue components/config to features/issues/ - Move WebSocket provider to features/realtime/ - Move api.ts to shared/ - Migrate all consumers from useAuth() to direct store imports - Simplify sidebar: replace hand-built dropdown with shadcn DropdownMenu, replace custom layout wrapper with SidebarInset - Remove unused @multica/store and @multica/hooks dependencies - Add @/ path alias and zustand dependency - Update CLAUDE.md with feature-based architecture conventions Net change: +293 / -2435 lines Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
17 lines
467 B
TypeScript
17 lines
467 B
TypeScript
import { ApiClient } from "@multica/sdk";
|
|
|
|
const API_BASE_URL = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:8080";
|
|
|
|
export const api = new ApiClient(API_BASE_URL);
|
|
|
|
// Initialize token from localStorage on load
|
|
if (typeof window !== "undefined") {
|
|
const token = localStorage.getItem("multica_token");
|
|
if (token) {
|
|
api.setToken(token);
|
|
}
|
|
const wsId = localStorage.getItem("multica_workspace_id");
|
|
if (wsId) {
|
|
api.setWorkspaceId(wsId);
|
|
}
|
|
}
|