mirror of
https://github.com/Dvorinka/Dash.git
synced 2026-06-04 07:22:56 +00:00
17a579880f
Relocate frontend source code from `next-app/` to `frontend/` to align with the new project structure. This includes removing the old Next.js boilerplate files and establishing a cleaner workspace. Additionally, updates the OpenAPI specification to include support for the `immich` widget type and its corresponding configuration schema. - Move frontend files to `frontend/` - Delete obsolete `next-app/` directory and its configuration - Add `immich` widget type to `openapi.yaml` - Update `FrontendPlan.md` with dashboard refactor and UX direction
1.4 KiB
1.4 KiB
Dash Frontend – Agent Rules
Scope
- This agent may edit:
/frontend - This agent must not edit
/backend,/db, or/openapi
Tech Stack
- Next.js 15 App Router + React 19 + TypeScript strict
- Tailwind CSS v4 + shadcn/ui (new-york style)
@tanstack/react-queryfor server state@dnd-kitfor drag-and-dropopenapi-typescript+openapi-fetchfor API client (generated from../openapi/openapi.yaml)
Commands
npm run dev— start dev server (Turbopack)npm run build— production buildnpm run typecheck—tsc --noEmitnpm run lint— Next.js lintnpm run api:generate— regenerate API types from OpenAPI spec
Design
- Dark-first, Vercel-inspired aesthetic
- 3 themes: light, dark, casaos (glassmorphism)
- Geist Sans + Geist Mono fonts
- Shadow-as-border technique (no visible borders, use box-shadow)
- See
../Design.mdfor full design system
API Contract
- All types come from
../openapi/openapi.yaml - Do not invent contract fields outside OpenAPI
- API base URL:
NEXT_PUBLIC_API_BASE_URL(defaulthttp://localhost:8080)
Component Rules
- Use shadcn/ui primitives, do not rebuild from scratch
- All interactive elements must have focus rings
- Prefer
font-mono uppercase tracking-widefor labels/badges - Service cards are square aspect-ratio, icon + name + URL badges
- Groups are collapsible sections with chevron toggle