Files
low-code-react-app-b/src/components/json-definitions/app-dialogs.json
johndoe6345789 85fce883dd feat: migrate AppMainPanel to JSON
Converts AppMainPanel from TSX to pure JSON component. AppMainPanel is a
simple container that composes PWAStatusBar, PWAUpdatePrompt, AppHeader,
and RouterProvider components.

- Create interface in src/lib/json-ui/interfaces/app-main-panel.ts
- Create JSON definition in src/components/json-definitions/app-main-panel.json
- Export from json-components.ts as pure component
- Update registry with AppMainPanel entry
- Update interfaces/index.ts to export new interface

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-21 01:19:18 +00:00

81 lines
2.1 KiB
JSON

{
"id": "app-dialogs",
"type": "div",
"children": [
{
"id": "global-search-suspense",
"type": "Suspense",
"props": {
"fallback": null
},
"children": [
{
"id": "global-search",
"type": "GlobalSearch",
"bindings": {
"open": { "source": "props.searchOpen" },
"onOpenChange": { "source": "props.onSearchOpenChange" },
"files": { "source": "props.files" },
"models": { "source": "props.models" },
"components": { "source": "props.components" },
"componentTrees": { "source": "props.componentTrees" },
"workflows": { "source": "props.workflows" },
"lambdas": { "source": "props.lambdas" },
"playwrightTests": { "source": "props.playwrightTests" },
"storybookStories": { "source": "props.storybookStories" },
"unitTests": { "source": "props.unitTests" },
"onNavigate": { "source": "props.onNavigate" },
"onFileSelect": { "source": "props.onFileSelect" }
}
}
]
},
{
"id": "shortcuts-dialog-suspense",
"type": "Suspense",
"props": {
"fallback": null
},
"children": [
{
"id": "shortcuts-dialog",
"type": "KeyboardShortcutsDialog",
"bindings": {
"open": { "source": "props.shortcutsOpen" },
"onOpenChange": { "source": "props.onShortcutsOpenChange" }
}
}
]
},
{
"id": "preview-dialog-suspense",
"type": "Suspense",
"props": {
"fallback": null
},
"children": [
{
"id": "preview-dialog",
"type": "PreviewDialog",
"bindings": {
"open": { "source": "props.previewOpen" },
"onOpenChange": { "source": "props.onPreviewOpenChange" }
}
}
]
},
{
"id": "pwa-install-suspense",
"type": "Suspense",
"props": {
"fallback": null
},
"children": [
{
"type": "PWAInstallPrompt"
}
]
}
]
}