feat: dashboard error boundaries, loading guards, and data import settings page

- Add page-level and layout-level error.tsx boundaries for dashboard
- Add loading guard to dashboard page to defer API calls until auth is ready
- Fix Dockerfile to accept NEXT_PUBLIC_API_URL as build arg
- Fix .env.example API URL to include /api suffix
- Add Data Import tab in settings for CSV/Excel import of clients and invoices
- Create import page with template download, drag-drop upload, and row-level results
This commit is contained in:
kevin-asprec
2026-05-07 06:19:24 +08:00
parent 8c91ee7e4b
commit 9c4ab46c76
7 changed files with 376 additions and 3 deletions

View File

@@ -5,6 +5,8 @@ COPY packages/shared/package.json ./packages/shared/
RUN npm install
COPY packages/shared/ ./packages/shared/
COPY . .
ARG NEXT_PUBLIC_API_URL=http://localhost:3001/api
ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
RUN npx next build
FROM node:20-alpine AS runner