- Shipped
- August 28, 2026 at 3:54 PM UTC
- Author
- Kamo
- Commit
- 64b0037
The widget embedded the whole of CreateOrgForm — five sections, the brand preview, the readiness meter — which is roughly 1,400px inside a pane of about 756px. HomeGrid's rows are minmax(unit, auto), and that `auto` is a safety valve rather than a ceiling, so a pane whose content cannot shrink grows the row: the "widget" rendered as one long form down the page. It is now the fast path it was always described as. Three steps — type, name and address, review — asking only the fields that actually block a create and sending everything else exactly as toWizardFormData has always sent it for a creator who skipped those steps. Branding, apps and compliance are finished afterwards in the new org's Getting Started wizard. /network/create is unchanged and still asks for all of it up front. The type step is a SEARCH, not a card grid. In the widget's dense layout the grid is one card per row, so a tenant with thirty branch types is eighteen hundred pixels of cards — the stretch, again, and it gets worse as the platform grows. Search makes the step a fixed height at four types or three hundred. Also here: - WidgetFrame takes an optional maxHeightPx, and this widget passes its own paneHeightPx(halfRows), so the pane is the size the member gave it and scrolls rather than growing. Optional, so no other widget changes behaviour. WidgetComponentProps gains halfRows to make that possible. - The alias preview now reads KamoCRM.com/o/<alias> on both surfaces that show it, through one helper instead of each building the string itself. DISPLAY ONLY — routing is by hostname and there is no /o/ route, so workspaceUrl and /api/org/current are deliberately untouched and a launch still lands on internal.<host>. A custom domain still shows as itself. - The /branch-types/creatable fetch and its parsing move to one shared module and hook, since both type-pickers need it and it also carries the parent's subdomain-branch context. That settles a live duplication: OrgTypePicker built BranchTypeData twice and the two copies had already drifted on array coercion. - workspaceUrl moves out of CreateOrgForm so the widget can build a workspace link without importing the whole page form. - next/link for the "open the full page" jump. check-client-navigation missed the raw anchor because its regex needs <a and href on one line. Guards, tsc and 4,039 tests green; dictionary keys pushed first.