peek panels: load full page editor in iframe + resize handles
- Add ?embed=1 to /pages/{id} route, passes embed_mode to template
- base.html: embed-mode class hides sidebar/topbar, removes margins
- Replace peek-body content with iframe loading /pages/{id}?embed=1
in both library.html and local_workspace.html
- Remove async content loading (now editor handles rendering)
- Add resize handle on left edge of peek panels (both library + local-ws)
- Click without drag: closes panel
- Click + drag horizontal: resizes panel width (300px to 90vw)
- Width persisted in localStorage (fd_peek_width)
- 100% code reuse: editor runs same /pages/{id} with embed flag
This commit is contained in:
@@ -88,12 +88,18 @@
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
/* Embed mode — hide sidebar + topbar for peek panels */
|
||||
body.embed-mode .sidebar, body.embed-mode .topbar, body.embed-mode .app-layout { display: block !important; }
|
||||
body.embed-mode .sidebar { display: none !important; }
|
||||
body.embed-mode .topbar { display: none !important; }
|
||||
body.embed-mode .app-layout { margin-left: 0 !important; padding-top: 0 !important; }
|
||||
body.embed-mode .sidebar-collapsed .app-layout { margin-left: 0 !important; }
|
||||
</style>
|
||||
<script src="/static/js/htmx.min.js"></script>
|
||||
<script src="/static/js/alpine.min.js" defer></script>
|
||||
<script src="/static/js/sortable.min.js" defer></script>
|
||||
</head>
|
||||
<body hx-headers='{"X-CSRF-Token":"__CSRF_PLACEHOLDER__"}'>
|
||||
<body hx-headers='{"X-CSRF-Token":"__CSRF_PLACEHOLDER__"}'{% if embed_mode %} class="embed-mode"{% endif %}>
|
||||
<div class="app-layout" x-data="appState()">
|
||||
|
||||
<!-- ═══════════ MOBILE SIDEBAR OVERLAY ═══════════ -->
|
||||
|
||||
Reference in New Issue
Block a user