When the edit modal was opened from /companies or /directors (the
list pages) and the user saved, the modal called
onAfterSave={() => {}} — an empty handler. The modal also fired
qc.invalidateQueries(['pb-list', collection]), but the list
page's queryKey is ['companies', ...] (or ['directors', ...]),
not ['pb-list', ...]. So the list page never re-fetched.
Result: stale row data persisted in the list state. Re-opening
the modal showed the original values, making it look like the
save hadn't taken effect (it had — the data was in PB; the list
just didn't know about it).
Fix: wire onAfterSave to the existing refreshAll() helper in
both list pages so the list refetches from PB and the local
editingCompany/editingDirector state stays in sync.
PB: 15 fields on ysterbaard_companies (financial_year_end_month,
authorised_shares, structured physical/postal address, company_cell_phone,
public_officer_name, company_secretary_name), 11 fields on
ysterbaard_directors (date_of_birth, structured residential/postal address).
App: types widened in lib/types.ts. EditEntityModal rebuilt with full
address sections (line 1, line 2, town/city, SA province dropdown,
postal code), DOB, company-level fields, financial year end month,
authorised shares, public officer, company secretary.
View pages: structured address blocks now show labeled fields
(line 1, line 2, town/city, province, postal code) on both
/companies/[id] and /directors/[id].
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).