feat(database): inline embed + Open button + side peek + title placeholder
- Page title placeholder: new pages created with empty title, CSS :empty::before shows 'New page' in gray
- Database is now inline embed within page (not full-page replacement)
- Embed block 'collection' renders database table via FlowDeckDB.renderInto()
- Open button in column 1 of each row opens page in side peek panel
- Side peek: iframe loading /pages/{id}?embed=1, close/fullscreen/resize
- DB scripts refactored as reusable DBInstance + global FlowDeckDB API
This commit is contained in:
@@ -3952,3 +3952,33 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
.db-th-property { min-width: 120px; }
|
||||
.db-td-cell { min-width: 120px; }
|
||||
}
|
||||
|
||||
/* ── Database Side Peek Panel ── */
|
||||
.db-side-peek {
|
||||
position: fixed; top: 0; right: 0;
|
||||
width: 560px; height: 100vh;
|
||||
background: var(--bg-primary);
|
||||
box-shadow: -4px 0 20px rgba(0,0,0,0.12);
|
||||
z-index: 900;
|
||||
display: flex; flex-direction: column;
|
||||
}
|
||||
.db-side-peek-resize {
|
||||
position: absolute; top: 0; left: 0;
|
||||
width: 6px; height: 100%;
|
||||
cursor: col-resize;
|
||||
z-index: 2;
|
||||
}
|
||||
.db-side-peek-resize:hover { background: var(--accent, #2383E2); }
|
||||
.db-side-peek-header {
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
padding: 8px 12px; border-bottom: 1px solid var(--border);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.db-side-peek-close, .db-side-peek-full {
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
width: 28px; height: 28px; border-radius: 6px;
|
||||
border: none; background: transparent; cursor: pointer;
|
||||
font-size: 18px; color: var(--text-dim);
|
||||
}
|
||||
.db-side-peek-close:hover, .db-side-peek-full:hover { background: var(--bg-hover); }
|
||||
.db-side-peek iframe { flex: 1; }
|
||||
|
||||
Reference in New Issue
Block a user