View Organisation-Specific Custom Fields on a Contact
The Custom Fields Table Widget fetches the organisation's field definitions from the organisation labels system in Supabase at load time and renders them in read-only mode on the Contact Detail Screen. Field definitions include the label (localised per organisation), the field type (text, select, date), and the current value for the contact. Different organisations configure different fields — for example, Blindeforbundet uses fields for health status, course interest, assistive device situation, and next steps (required by their formalised report structure), while NHF may configure membership-related fields. Fields with no value display an explicit empty indicator rather than being hidden.
User Story
Acceptance Criteria
- Given an organisation has defined 5 custom fields, when a user opens a contact detail screen, then all 5 fields are displayed with their organisation-defined labels and current values
- Given a custom field has no value set for the contact, when the field is rendered, then a clear 'Not set' or equivalent placeholder is shown instead of a blank space
- Given field definitions are fetched from Supabase, when the network is slow, then a loading skeleton is displayed in place of the fields while data is loading
- Given the organisation labels system updates a field definition, when a user next opens a contact detail screen, then the updated label and type are reflected without requiring an app update
- Given a screen reader is active, when the custom fields table is navigated, then each row announces the field label followed by the current value
Business Value
Custom fields bridge the gap between a generic contact record and the specific, structured data each organisation needs to operate. Without custom fields, organisations resort to cramming structured data into free-text notes, making it unsearchable and difficult to aggregate for Bufdir reporting. For Blindeforbundet, the custom fields for health status and assistive device situation are directly required by the post-visit report format that feeds into their grant compliance documentation.