MinAttest React App (Vite) Overview - Vite + React app for MinAttest. - Works with the .NET BFF at `frontend/minattest-app-host`. - Calls the API through the BFF using relative `/api/...` paths. Dev setup - Start Api in `backend/minattest-app` - Start BFF in `frontend/minattest-app-host` - From `frontend/minattest-app`: - Install deps: `npm ci` (or `npm install`) - Start dev server: `npm run dev` (defaults to `http://localhost:5173`) Login flow (no real auth) - On the start page, choose one of: - "Logg inn privat": enter a Person ID (GUID) - "Logg inn bedrift": enter an Employer ID (GUID) - The session is stored in localStorage and used until you click "Logg ut". Available features - Privat: - Shows Person details - Lists attester, with actions: Vis (inline preview), Last ned - Upload PDF attest with title, period, summary - Bedrift: - Shows Employer details - Lists attester, with actions: Vis (inline preview), Last ned - Issue/upload PDF attest for a person with title, period, summary Notes - Deleting attester and toggling verification are present as UI controls but are not wired to API calls yet (endpoints missing). They currently show a notice. - The app expects API routes: - GET `/api/v1/persons/{id}` and `/api/v1/persons/{id}/attests` - GET `/api/v1/employers/{id}` and `/api/v1/employers/{id}/attests` - GET download endpoints under each entity: `.../attests/{attestId}/download` - POST `/api/v1/persons/{id}/attests` with body matching `PersonAttestUploadRequest` - POST `/api/v1/employers/{id}/attests` with body matching `EmployerAttestUploadRequest`