feat(site-builder): block registry, notices, local prefs, project extras, overlay slot
Add an exported block registry (keywords, search, insertBlock) consumed by BlocksPanel, a NoticeProvider/NoticeHost toast stack, a guarded localStorage prefs helper, a ProjectExtras store persisted as project.json 'extras', and a CanvasOverlays mount point. Refs #38 Refs #41 Refs #49 Refs #48 Refs #57 Refs #58 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
97ccbee461
commit
21c2776c88
16 files changed
+869
-215
No files matched your search
@@ -2054,3 +2054,45 @@ body {
|
||||
padding: 4px 12px;
|
||||
}
|
||||
.conflict-modal-actions button:disabled { opacity: 0.5; cursor: default; }
|
||||
|
||||
/* Notice stack (state/NoticeContext + editor/NoticeHost): bottom-left, so it
|
||||
never collides with TopBar's bottom-right ErrorNotice. */
|
||||
.notice-host {
|
||||
position: fixed;
|
||||
left: 16px;
|
||||
bottom: 16px;
|
||||
z-index: 60;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
max-width: min(420px, calc(100vw - 32px));
|
||||
}
|
||||
.notice-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 10px 12px;
|
||||
font-size: 12px;
|
||||
color: var(--color-text);
|
||||
background: var(--color-bg-elevated);
|
||||
border: 1px solid var(--color-border);
|
||||
border-left: 3px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
.notice-item.success { border-left-color: var(--color-success); }
|
||||
.notice-item.error { border-left-color: var(--color-danger); }
|
||||
.notice-text { flex: 1; word-break: break-word; }
|
||||
.notice-action, .notice-dismiss {
|
||||
background: none;
|
||||
border: none;
|
||||
color: inherit;
|
||||
cursor: pointer;
|
||||
padding: 0 4px;
|
||||
}
|
||||
.notice-action { font-weight: 600; text-decoration: underline; }
|
||||
@media (max-width: 768px) {
|
||||
.notice-host {
|
||||
bottom: calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom, 0px) + 12px);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user