Commit Graph

7 Commits

Author SHA1 Message Date
hailin ccbe63f9e4 fix: API path prefix + style defaults for chart rendering
- All 4 API clients now consistently use /api/v1/ prefix on all routes
- ChartRenderer fills missing style fields with defaults to prevent
  undefined property crashes when backend returns minimal style
- KPICard uses safe defaults for background/border/title

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 01:53:58 -07:00
hailin d03ee90f40 fix: replace WidthProvider with ResizeObserver for grid layout
react-grid-layout v2 removed WidthProvider. Use ResizeObserver to
track container width and pass it directly to Responsive component.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 01:48:25 -07:00
hailin 28ebbbfb82 fix: critical data mapping bugs in useImportData and useCreateChart
- useImportData: use dataset_id instead of id from backend response,
  fetch rows after import, fix column type mapping
- useCreateChart: fix bindings mapper to use axis instead of fieldRole,
  graceful error handling instead of throwing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 01:43:16 -07:00
hailin 0c0592b511 fix: wire chart creation onClick in LeftPanel chart gallery
Clicking a chart type card now calls useCreateChart to create
a chart instance on the backend and add it to the canvas.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 01:39:18 -07:00
hailin b222429475 fix: dynamic import react-grid-layout to avoid SSR crash
WidthProvider is not available during SSR. Use dynamic import
inside useEffect to load it only on the client side.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 01:29:35 -07:00
hailin 79c144d74b fix: wire real components into AppShell instead of placeholders
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 01:26:29 -07:00
hailin 6079ec8b97 feat: add frontend source code (Next.js + React + TypeScript)
Previously excluded due to nested .git from create-next-app.
Includes all Clean Architecture layers, API client integration,
and full UI component suite.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 23:33:37 -07:00