62dd06c226
expense list: month accordions + month-year selector; drop unused x-data-grid
...
- make each month a card-sized accordion (single-open, first month
expanded by default) instead of a sticky header over flat rows
- turn the floating pill into a month-year selector: opens a menu of
all months and expands + scrolls to the chosen month
- remove tags from expense rows again until a placement is settled
- remove unused @mui/x-data-grid@7, which pulled @mui/system@7 over
material's v5 and caused the createTheme runtime crash
2026-08-18 15:24:26 +05:30
f3135b8247
new react-openapi
2026-07-13 16:15:26 +05:30
154b15fe51
updated sse supporting react-openapi
2026-06-18 20:32:34 +05:30
7bd946ec7a
Refactor the React OpenAPI admin framework to support fully customizable field rendering and UI composition. ( #11 )
...
# Summary
Refactor the React OpenAPI admin framework to support fully customizable field rendering and UI composition.
## Changes
### Admin UI Customization
* Added support for custom:
* Dashboard component
* Layout component
* Login page component
* Introduced `AdminAppProps` and extended `Admin` configuration API.
* Renamed internal dashboard implementation to `DefaultDashboard`.
### Field Component Architecture
* Extracted field rendering into dedicated field components:
* TextField
* NumberField
* BooleanField
* DateField
* EnumField
* RelationField
* ObjectField
* FallbackField
* DateRangeField
* NumberRangeField
* Added `defaultFieldComponents` registry.
* Refactored `FormField` to resolve components dynamically from a component map instead of hardcoded field type handling.
### Resource Customization
* Added `FieldComponents` support across:
* Admin
* ResourceView
* GenericForm
* useResource
* Introduced wrapped `FormField` and `GenericForm` components generated from configured field overrides.
### Table Customization
* Added `EnhancedTableComponents`.
* Added support for custom cell renderers per field type.
* Enabled custom rendering for both desktop and mobile table layouts.
### Filter Improvements
* Exported `FilterAutocomplete`.
* Added support for custom date-range and number-range filter components.
* Added filter component extension points.
* Updated filter option label resolution to support `displayFormat`.
### Display Formatting
* Replaced `displayField` usage with `displayFormat`.
* Added template-based display rendering support through `resolveTemplate`.
* Improved relation display configuration handling.
### TypeScript Improvements
* Added TypeScript as a project dependency.
* Removed multiple `@ts-ignore` usages.
* Added strongly typed Axios wrapper methods with generic response support.
* Improved typing across hooks and component interfaces.
### OpenAPI Configuration Validation
* Added validation for enum fields without enum values.
* Added validation for relation resources missing `referenceOptions.enumOption`.
* Improved relation metadata propagation during schema parsing.
### Library Exports
* Exported:
* Field component types
* Override types
* EnhancedTable
* GenericForm
* ResourceView
* Field components and defaults
* Expanded public API surface for consumers extending the framework.
## Benefits
* Enables complete UI customization without modifying framework internals.
* Simplifies creation of custom field types and renderers.
* Improves type safety and developer experience.
* Provides consistent extension points for forms, tables, filters, and admin layouts.
* Makes the framework more suitable for reusable library distribution.
Reviewed-on: #11
Co-authored-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
Co-committed-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
2026-06-07 12:35:52 +00:00
8a285bbdbe
init
2026-04-04 12:46:28 +05:30