-
Tier 1 customization comes alive in the SPA: custom fields declared in YAML metadata now render automatically in create forms without any compile-time knowledge of the field. New component: DynamicExtFields - Fetches custom field declarations from the existing /api/v1/_meta/metadata/custom-fields/{entityName} endpoint - Renders one input per declared field, type-matched: string → text, integer → number (step=1), decimal/money/ quantity → number (step=0.01), boolean → checkbox, date → date picker, dateTime → datetime-local, enum → select dropdown, uuid → text - Labels resolve from labelTranslations using the active locale (i18n integration) - Required fields show a red asterisk - Values are collected in the ext map and sent with the create request Wired into: CreateItemPage (entityName="Item"), CreatePartnerPage (entityName="Partner"). Both now show a "Custom fields" section below the static fields when the entity has custom field declarations in metadata. No new backend code — the existing /api/v1/_meta/metadata/ custom-fields endpoint already returns exactly the shape the component needs. This is P3.1: the runtime form renderer for Tier 1 customization.