Skip to content

feat(json-render-ui): provider SPA (single-view + theming + provider factory) - #185

Closed
antfubot wants to merge 1 commit into
mainfrom
feat/json-render-ui-provider-spa
Closed

feat(json-render-ui): provider SPA (single-view + theming + provider factory)#185
antfubot wants to merge 1 commit into
mainfrom
feat/json-render-ui-provider-spa

Conversation

@antfubot

Copy link
Copy Markdown
Collaborator

PR B2 of the json-render view-provider stack (plan: plans/json-render-ui-packaging.md). Stacked on #183.

Turns json-render-ui's SPA into the hub's swappable iframe view provider:

  • Single-view mode?view=<stateKey> renders exactly one view, no nav (the shape the hub mounts as one pooled iframe per view). The index-driven dashboard stays for standalone use.
  • Theming — follows the host's color scheme via the shared devframes-color-scheme storage key, and the brand primary via the hub's branding.json (a primary-ramp.css override makes --devframe-primary retint the SPA). Best-effort: standalone use keeps the OS scheme + default palette.
  • jsonRenderProvider() — a turnkey DevframeDefinition serving this SPA, for initHub({ viewProviders: { 'json-render': jsonRenderProvider() } }) (PR C wires viewProviders).
  • Deprecates createJsonRenderDockRenderer in favor of the iframe provider (kept for existing same-framework hosts; removed in a later cycle).

Verified: typecheck, eslint, build (lib + SPA), API snapshots (additive: jsonRenderProvider, @deprecated tag).

Created with the help of an agent.

Base automatically changed from feat/json-render-ui-provider to main August 10, 2026 04:55
…r factory

Enables json-render-ui's SPA as the hub's iframe view provider:

- Single-view mode: ?view=<stateKey> renders exactly one view (no nav) — the
  shape the hub mounts as one pooled iframe per view. The index-driven
  dashboard remains for standalone use.
- Theming: follow the host color scheme via the shared devframes-color-scheme
  storage key, and the brand primary via the hub's branding.json (with a
  primary-ramp override so --devframe-primary retints the SPA). Best-effort:
  standalone use keeps the OS scheme + default palette.
- jsonRenderProvider(): a turnkey DevframeDefinition serving this SPA, for
  initHub({ viewProviders: { 'json-render': jsonRenderProvider() } }).
- Deprecate createJsonRenderDockRenderer in favor of the iframe provider.
@antfu
antfu force-pushed the feat/json-render-ui-provider-spa branch from b089840 to d1ac507 Compare August 10, 2026 04:55
@netlify

netlify Bot commented Aug 10, 2026

Copy link
Copy Markdown

Deploy Preview for devfra ready!

Name Link
🔨 Latest commit d1ac507
🔍 Latest deploy log https://app.netlify.com/projects/devfra/deploys/6a7959d38053680008c2326e
😎 Deploy Preview https://deploy-preview-185--devfra.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@antfu antfu closed this Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants