Frontend
Catalog of frontend customization patterns in SolidX.
Frontend Customization Catalog
Use this section as the source of truth for where each customization type belongs and how it should be wired in the UI module system.
Mental Model
The SolidX frontend is designed so that custom UI code stays close to the module that owns the business feature. Instead of scattering custom screens, reducers, and extension widgets across the app, the convention keeps each feature grouped together.
- Use metadata-driven extensions when you are augmenting generated admin screens.
- Use bespoke UI when you need full route-level control.
- Keep ownership module-local so discovery, registration, and maintenance stay predictable. So the intuition is: the UI stays flexible because SolidX combines generated structure with module-owned custom code.
UI Module Convention
In the current SolidX frontend model, custom frontend code should be organized inside module folders under solid-ui/src/<module-name>/.
Recommended structure:
solid-ui/src/
<module-name>/
admin-layout/
custom-layout/
redux/
<module-name>.ui-module.tsUse these responsibilities:
admin-layout/for metadata-driven admin extensions such as buttons, event handlers, and widgetscustom-layout/for bespoke route-level UIs and custom application shellsredux/for module-owned RTK Query APIs, reducers, and middleware<module-name>.ui-module.tsas the manifest that registers routes, extension components, extension functions, reducers, and middleware
AppRoutes.tsx should live beside App.tsx at solid-ui/src/AppRoutes.tsx, and should consume aggregated module routes rather than manually registering every feature route inline.
Core API Convention
For extension/frontend API calls, use Solid HTTP helpers from @solidxai/core-ui:
solidGetsolidPostsolidPutsolidPatchsolidDeletesolidAxios
Use endpoint paths like /resource and do not hardcode /api in request paths.
Extension Component Types
- Form View Buttons
- List View Buttons
- Extension UI Guidelines
- Custom Widgets
- Form View Field Widgets
- List View Field Widgets
- Kanban Card Widgets
Extension Function Types
Bespoke UI
Use Bespoke Frontend UI for full route-level UIs under solid-ui/src/<module-name>/custom-layout/....