[WIP] Add custom fields for seat form #28
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Custom Fields For Seat Form
This PR implements customizable data collection forms for seats, seat categories, and seat sections. Users can now define custom fields that will be displayed in the UI and included in export/import operations.
Implementation Summary
Type Definitions:
customFields?: Record<string, any>toISeat,ISeatCategory, andISectioninterfacesICustomFieldDefinitioninterface for defining custom field schemasCustomFieldTypetype supporting:text,number,select, andcheckboxISTKProps.optionsto includecustomFieldsconfigurationUI Components:
CustomFieldscomponent for rendering custom field inputsCategoryManagerwith custom fields editing via popover (FileEdit icon)SectionManagerwith custom fields editing via popover (FileEdit icon)State Management:
Export/Import:
domSeatsToJSONin transformer to include seat custom fieldssyncaction already handles custom fields correctlyDocumentation & Examples:
CUSTOM_FIELDS.mdwith comprehensive usage guidecustom-fields.stories.tsx- blank canvas examplecustom-fields-import.stories.tsx- pre-populated data example with pricing, accessibility, and view quality fieldsScreenshots
Seat with Custom Fields:

Imported Data with Custom Fields:

Example Usage
Testing
Checklist:
customFieldstoISeatinterfacecustomFieldstoISeatCategoryinterfacecustomFieldstoISectioninterfaceISTKPropsfor defining custom field schemasCustomFieldscomponent for rendering custom fieldsCategoryManagercomponent to support custom fieldsSectionManagercomponent to support custom fieldsstateToJSONto include custom fields for seatsOriginal prompt
Fixes #26
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.