Commit graph

14 commits

Author SHA1 Message Date
Dave
da504c45a0 wip: registration wizard, address splits, document panel, appointments
Uncommitted work in progress at the point of starting the Kanban
project. Captures:
- Registration wizard refactor + multi-step routing
- structured physical/postal address fields on companies and directors
- appointments flow (sign + verify)
- document type manager + upload/panel for companies and directors
- status actions, approve button, action/dropdown buttons
- step2 review page

tsconfig.tsbuildinfo is now ignored (build artefact).
2026-08-17 18:33:56 +02:00
Dave
7c3847fbb0 feat: BizPortal 2.0 — Python Playwright sidecar
Replaces the brittle agent-driven /api/bizportal/search queue with a
deterministic Python FastAPI service that drives BizPortal via a real
headless Chromium. The old flow is untouched.

What this adds:
- scripts/bizportal_service.py — FastAPI + Playwright service with
  /search, /reserve, /health endpoints. Persistent login session
  via storage_state.json. Locator-based selectors (vs eval JS).
- app/bizportal-2/ — new /bizportal-2 page, synchronous fetch
  (no polling), shows round-trip duration, mirrors the existing
  bulk-add + link UX.
- app/api/bizportal-2/{search,reserve,health}/route.ts — thin
  proxies to the Python sidecar.
- scripts/README.md, .env.example, .gitignore, requirements.txt.
- .gitignore: ignore tsconfig.tsbuildinfo (build artefact).

Wiring:
- components/NavBar.tsx: 'BizPortal 2.0' nav entry with TEST badge.
- app/bizportal/page.tsx: 'Try BizPortal 2.0' action link in
  header so the new option is discoverable from the existing page.

Run: cd scripts && source .venv/bin/activate && uvicorn
bizportal_service:app --port 7001
2026-08-17 18:33:36 +02:00
Dave
c1b98a6eca feat: split company physical and postal addresses into structured fields 2026-08-14 21:00:14 +02:00
Dave
4c0a256d63 feat: split director residential and postal addresses into structured fields 2026-08-14 20:49:44 +02:00
Dave
c8fcddfbf1 feat: print to PDF button on registration detail view 2026-08-14 19:51:59 +02:00
Dave
5cedaf714c feat: add BizPortal tab + name-already-approved flow + registrations improvements 2026-08-14 18:08:51 +02:00
Dave
c5ee550795 feat: Revert button also in name_approved section 2026-08-11 21:07:48 +02:00
Dave
567972bd19 fix: Revert button also in bizportal_in_progress section 2026-08-11 21:07:00 +02:00
Dave
d05a2440db feat: Revert to Step 1 (New Names) button — clears CIPC fields on rejection 2026-08-11 20:59:46 +02:00
Dave
59c460a3d6 feat: Check Mail button on Step 2 + check-cipc-mail API route 2026-08-11 18:33:03 +02:00
SJCoetz
45e017c7c3 Add 'View all →' shortcut to Registrations page in Resolutions tab 2026-07-30 18:24:23 +02:00
SJCoetz
2d06ca27d6 Use type=tel for all ID number fields to trigger numeric keypad on mobile 2026-07-30 17:53:41 +02:00
SJCoetz
adead9148f Add native Share button to registration link dialog 2026-07-30 16:38:05 +02:00
SJCoetz
bb97fef453 feat: initialize full ysterbaard frontend application
Add complete production-ready Ysterbaard PocketBase registry browser frontend:
- Next.js 14 App Router with TypeScript, Tailwind CSS, and TanStack React Query
- Secure server-side PocketBase API proxy to avoid exposing superuser tokens
- Read-only directors and companies registry browse pages with search, filtering, and pagination
- Client onboarding workflow for creating and managing client submissions
- Docker container configuration for easy deployment
- All supporting UI components, utility functions, and configuration files
2026-07-23 19:10:47 +02:00