feat: add download + copy file content to context menus and editor
- Add /api/pages/{id}/download and /api/pages/{id}/file-content endpoints
- Add Download + Copy content to shared context menu (_ctx_menu.html)
- Wire handlers in local-workspace and library context menus
- Add Download + Copy content to editor '...' menu for file pages
- Multi-block selection copy/cut/paste with Ctrl+C/X/V shortcuts
- Align page title with blocks start (CSS pseudo-element offset)
This commit is contained in:
@@ -2213,6 +2213,7 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 8px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.page-icon-emoji {
|
||||
@@ -2296,6 +2297,24 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
border-radius: 3px;
|
||||
fill: var(--text-dim);
|
||||
}
|
||||
|
||||
/* Align page title content with blocks (accounting for drag handle offset) */
|
||||
.page-title-block::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: -40px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.page-title-block .page-icon-emoji {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.page-title-block .page-title-input {
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.block-handle.visible {
|
||||
opacity: 1;
|
||||
}
|
||||
@@ -3550,6 +3569,7 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
.page-cover-area { padding: 32px 32px 8px; }
|
||||
.blocks-container { padding: 8px 32px 80px; }
|
||||
.block-handle { left: -32px; }
|
||||
.page-title-block::before { left: -32px; }
|
||||
.page-title-input { font-size: 32px; }
|
||||
|
||||
.kanban-column { min-width: 240px; max-width: 300px; }
|
||||
@@ -3629,6 +3649,9 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
.blocks-container { padding: 8px 16px 96px; }
|
||||
.block-handle { display: none; }
|
||||
.block-actions { display: none; }
|
||||
.page-title-block::before { display: none; }
|
||||
.page-title-block .page-icon-emoji { margin-left: 0; }
|
||||
.page-title-block .page-title-input { padding-left: 0; }
|
||||
.editor-statusbar { left: 0; }
|
||||
|
||||
/* ── View Tabs ── */
|
||||
@@ -3738,6 +3761,9 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
.page-title-input { font-size: 22px; }
|
||||
.blocks-container { padding: 6px 12px 80px; }
|
||||
.page-icon-emoji { font-size: 28px; }
|
||||
.page-title-block::before { display: none; }
|
||||
.page-title-block .page-icon-emoji { margin-left: 0; }
|
||||
.page-title-block .page-title-input { padding-left: 0; }
|
||||
|
||||
.kanban-column {
|
||||
min-width: 92vw;
|
||||
|
||||
Reference in New Issue
Block a user