Admin MVP
Edit widget demo-advanced-kline
F038 separates persisted UUID reconciliation from preview-only widget codes. Without an app-owned admin session, persisted reads fail closed and the builder remains preview-safe.
Route id demo-advanced-kline is a public/demo widget code, not a persisted UUID. The builder below uses safe preview state only and does not pretend to have loaded a saved backend widget.
Builder
Preview-safe builder
The builder below never uses manual admin tokens. Save Draft is a preview-save gate until authenticated persisted save is enabled behind feature flag.
Widget builder MVP: configure, Apply, let backend preview validation run, Save Draft through preview-safe gate, preview desktop/tablet/mobile, then copy embed code. Copy uses the last applied and backend-accepted config only.
Advanced KLine Chart
Core interactive candlestick chart with runtime bootstrap, historical bars, toolbar and future indicators/overlays.
Mode: chart-runtime · Stage: v1 · Recommended min height: 520px
Embed origin comes from environment/config, not hardcoded builder values: http://localhost:3002 · loader: http://localhost:3002/kline-widget/v1/loader.js
Apply required before copy
Copy Embed Code is disabled until the current draft is applied and preview-safe backend validation completes.
Backend preview base URL: http://localhost:3000
Saved vs applied policy
Copy can use preview-safe code after backend validation, but published embed remains blocked until persisted save + backend applied/published evidence are verified.
- Backend preview validation has not accepted the applied config yet.
- No audited persisted save has been verified in this frontend session.
- Published/applied backend policy is not verified yet; embed code remains preview-gated.
Persisted mutation feature flag: disabled · persisted attempt: idle. Even when enabled, mutation needs app-owned admin session and audit/read-after-write gates.
<div data-kline-widget-id="demo-advanced-kline" data-kline-widget-type="advanced-kline-chart" data-kline-public-key="pk_demo_local_only" data-kline-embed-base-url="http://localhost:3002" data-kline-min-height="620" data-kline-loader-version="v1"><noscript>KLine widget requires JavaScript to render.</noscript></div> <script async src="http://localhost:3002/kline-widget/v1/loader.js"></script>
Preview uses the applied draft only. Device widths are contract-driven so mobile/tablet/desktop smoke stays consistent.
Bitcoin / Tether
BINANCE:BTCUSDT · binance-public-demo
Native KLineCharts starting
--
+0.00 (+0.00%) · USDT