style: format frontend, docs and skills with prettier; add .prettierignore

One-time prettier --write so the new format:check CI gate starts green.
.prettierignore excludes generated (api-client.ts, documentation.json),
vendored (public/cibg-huisstijl), and backend (dotnet format owns it).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
eho
2026-07-03 13:39:31 +02:00
co-authored by Claude Opus 4.8
parent 546097434d
commit e82309786d
176 changed files with 5067 additions and 1469 deletions
@@ -3,7 +3,9 @@ import { problemDetail, problemFieldErrors } from './api-error';
describe('problemDetail', () => {
it('extracts the detail from an RFC-7807 ProblemDetails', () => {
expect(problemDetail({ detail: 'Afgewezen: 0 uren.', status: 422 }, 'fallback')).toBe('Afgewezen: 0 uren.');
expect(problemDetail({ detail: 'Afgewezen: 0 uren.', status: 422 }, 'fallback')).toBe(
'Afgewezen: 0 uren.',
);
});
it('falls back when there is no detail', () => {
@@ -15,8 +17,9 @@ describe('problemDetail', () => {
describe('problemFieldErrors (G4 seam)', () => {
it('maps a ValidationProblemDetails errors dict to first-message-per-field', () => {
expect(problemFieldErrors({ errors: { straat: ['Verplicht.'], postcode: ['Ongeldig.', 'x'] } }))
.toEqual({ straat: 'Verplicht.', postcode: 'Ongeldig.' });
expect(
problemFieldErrors({ errors: { straat: ['Verplicht.'], postcode: ['Ongeldig.', 'x'] } }),
).toEqual({ straat: 'Verplicht.', postcode: 'Ongeldig.' });
});
it('returns {} when there is no errors envelope (the current backend shape)', () => {
+3 -1
View File
@@ -9,5 +9,7 @@ import { Role } from '@shared/domain/role';
* the FE derives `editable` from it.
*/
export function currentRole(): Role {
return new URLSearchParams(window.location.search).get('role') === 'approver' ? 'approver' : 'drafter';
return new URLSearchParams(window.location.search).get('role') === 'approver'
? 'approver'
: 'drafter';
}
@@ -21,8 +21,11 @@ export const scenarioInterceptor: HttpInterceptorFn = (req, next) => {
return of(new HttpResponse({ status: 200, body: '[]' })).pipe(delay(400));
case 'error':
return timer(400).pipe(
switchMap(() => throwError(() =>
new HttpErrorResponse({ status: 500, statusText: 'Demo-fout', url: req.url }))),
switchMap(() =>
throwError(
() => new HttpErrorResponse({ status: 500, statusText: 'Demo-fout', url: req.url }),
),
),
);
default:
return next(req);
+9 -1
View File
@@ -9,7 +9,15 @@ export type Scenario =
| 'upload-slow'
| 'upload-fail';
const VALID: Scenario[] = ['default', 'slow', 'loading', 'empty', 'error', 'upload-slow', 'upload-fail'];
const VALID: Scenario[] = [
'default',
'slow',
'loading',
'empty',
'error',
'upload-slow',
'upload-fail',
];
/** Reads ?scenario= from the URL so a demo can force each async state. */
export function currentScenario(): Scenario {