import { h } from "./jsx"; import { Sidebar } from "./components/Sidebar"; import { PaliadinWidget } from "./components/PaliadinWidget"; import { BottomNav } from "./components/BottomNav"; import { Footer } from "./components/Footer"; import { PWAHead } from "./components/PWAHead"; // /admin/rules/{id}/edit — Slice 11b (t-paliad-192). Form for the full // 37-column rule row plus a side panel with the preview widget and the // audit-log timeline. Lifecycle action bar at the bottom adapts to the // rule's current state (draft/published/archived). Every write goes // through a reason modal that enforces the ≥10-char rule from Slice 11a // edge case #4. // // The id of the rule is parsed from the URL path on hydration — // frontend never reads it from a server-injected blob, so the static // HTML shell is reusable for every rule. condition_expr ships with a // raw JSON textarea + a simple AND/OR/NOT tree-builder (toggle). export function renderAdminRulesEdit(): string { return "" + (