Appearance
August 21, 2026 — Frontend
Release date: Friday, 2026-08-21
Summary
This week continues the tender (anbud) pass: building rows show freeze fire and security fields, Detaljer sums insured value and coverage counts by group, and buildings are added or removed by coverage line instead of whole buildings. The picker hides coverages already on the tender and shows Eiendom and Forvalter. Insurance years can project one year ahead with coverages marked Skal fornyes.
Shipped
- Tender freeze fire/security — building rows show freeze fire and security fields (Ja / Nei / Ikke aktuelt).
- Detaljer sums — forsikringssum, coverage count, and group totals on the Detaljer tab.
- Coverage-line add/remove — select next-year coverages with the dekninger list and filters; seed by
coverageLineIds; bulk-remove lines instead of whole buildings. - Building picker — hide coverages already on the tender; simplify filters; show Eiendom and Forvalter (drop befaring columns).
- Bulk and form delete — Massehandlinger and the building form remove selected lines without looping single deletes; save returns to the buildings table; delete confirm is red.
- Nytt forsikringsår — project one year ahead (ACTIVE+1): copy indexes, tariffs, and factors; create coverages marked Skal fornyes and recalculate. The action is disabled when a projected year already exists.
Engineering (commit recap)
Frontend — week of August 17 – August 23, 2026
Window: after 2026-08-14, before 2026-08-22 (--no-merges). Friday 2026-08-14 freeze-coverage / Eiendom commit is already in the August 14 page and is not recapped here.
Summary
Tender building UX moves from whole-building add/remove to coverage-line selection against a synced OpenAPI contract (coverageLineIds, bulk coverage remove, coverage list filters). Detaljer aggregates sums; freeze fire/security columns land on rows. Insurance-years admin adds a single-year-ahead projection flow with shouldRenew coverages.
Themes
- Freeze fire/security on rows:
TenderBuildingRowPageand list table show freeze fields; sharedyesNoNaLabels. - Detaljer aggregates:
tenderBuildingStatsdrives forsikringssum, coverage count, and group sums onTenderOverviewPage. - Coverage-line tender membership: OpenAPI pin;
tendersApiadd/remove bycoverageLineIds;TenderSelectBuildingsPage+tenderBuildingSelection; bulk menu and form delete. - Picker UX: hide already-on-tender coverages; simpler
CoverageFiltersModal; Eiendom/Forvalter columns; Select ids coerced to strings on coverage fields. - Insurance year projection:
insuranceYearsAdminApi+CreateProjectedInsuranceYearModal; create locked to ACTIVE+1; Nytt forsikringsår disabled when a projected year exists.
Notable fixes or risks (if any)
- Coverage-line add/remove, bulk coverage remove, and Nytt forsikringsår need matching backend deployed; OpenAPI refresh alone is not enough if the API env lags.
- Save on a tender building row now returns to the buildings table (no stay on the row form).
- Only one projected insurance year ahead is allowed; older “create any year” admin paths are gone from this UI.