diff --git a/apps/openbaar/src/app/app.spec.ts b/apps/openbaar/src/app/app.spec.ts new file mode 100644 index 0000000..133f47b --- /dev/null +++ b/apps/openbaar/src/app/app.spec.ts @@ -0,0 +1,14 @@ +import { provideRouter } from '@angular/router'; +import { render } from '@testing-library/angular'; +import { App } from './app'; + +describe('App', () => { + it('renders the router outlet shell', async () => { + const { container } = await render(App, { + providers: [provideRouter([])], + }); + + // The shell is a thin host for routed pages (the RegisterPage owns the heading). + expect(container.querySelector('router-outlet')).toBeTruthy(); + }); +}); diff --git a/apps/openbaar/src/app/register/register-page.html b/apps/openbaar/src/app/register/register-page.html index c6745e4..2051621 100644 --- a/apps/openbaar/src/app/register/register-page.html +++ b/apps/openbaar/src/app/register/register-page.html @@ -1,5 +1,54 @@
Openbaar BIG-register +

+ Zoek in het openbare register van BIG-registraties. Alleen publieke gegevens worden getoond. +

+ +
+ + + +
+ + @if (loading()) { +

Bezig met laden…

+ } @else if (searched() && entries().length === 0) { +

Geen inschrijvingen gevonden.

+ } @else if (entries().length > 0) { + + + + + + + + + + @for (entry of entries(); track entry.id) { + + + + + } + +
Inschrijvingen in het openbaar register
ReferentieStatus
{{ entry.id }}{{ entry.status }}
+ }
diff --git a/apps/openbaar/src/app/register/register-page.ts b/apps/openbaar/src/app/register/register-page.ts index 83276af..0f94d66 100644 --- a/apps/openbaar/src/app/register/register-page.ts +++ b/apps/openbaar/src/app/register/register-page.ts @@ -21,7 +21,25 @@ export class RegisterPage { protected readonly loading = signal(false); protected readonly searched = signal(false); + constructor() { + // Show the full register on open; the search box narrows it. + this.search(); + } + search(): void { - // TODO(#10): query the BFF and render the results. + const q = this.query().trim(); + this.loading.set(true); + this.bff.getOpenbaarRegister(q ? { q } : {}).subscribe({ + next: (rows: OpenbaarEntry[]) => { + this.entries.set(rows); + this.loading.set(false); + this.searched.set(true); + }, + error: () => { + this.entries.set([]); + this.loading.set(false); + this.searched.set(true); + }, + }); } }