feat(canvas): add shared workspace access and controls

This commit is contained in:
2026-07-10 14:47:19 +08:00
parent f288eb1365
commit 14eaece0ac
18 changed files with 1149 additions and 80 deletions
+62
View File
@@ -1295,6 +1295,21 @@ button:disabled {
grid-template-columns: minmax(0, 1fr);
}
.workspace-shell.is-canvas-only .workspace-topbar {
display: none;
}
.workspace-shell.is-canvas-only .workspace-main {
height: 100vh;
margin-top: 0;
}
@supports (height: 100dvh) {
.workspace-shell.is-canvas-only .workspace-main {
height: 100dvh;
}
}
.workspace-stage-title {
position: absolute;
top: 0;
@@ -1334,6 +1349,20 @@ button:disabled {
background: transparent;
}
.canvas-share-control {
position: absolute;
z-index: 46;
top: 11px;
right: 58px;
}
.canvas-share-control .assistant-header-icon {
border: 1px solid rgba(27, 31, 37, 0.08);
background: rgba(255, 255, 255, 0.88);
box-shadow: 0 2px 8px rgba(17, 24, 39, 0.07);
backdrop-filter: blur(12px);
}
.canvas-collapsed-credit {
height: 24px;
display: inline-flex;
@@ -1611,6 +1640,14 @@ button:disabled {
transform-origin: 0 0;
}
.workspace-readonly-shield {
position: absolute;
inset: 0;
z-index: 39;
cursor: default;
background: transparent;
}
.canvas-node {
position: absolute;
overflow: hidden;
@@ -3027,6 +3064,24 @@ button:disabled {
background: #303030;
}
.canvas-statusbar.is-disabled,
.workspace-toolbar.is-disabled {
opacity: 0.46;
filter: grayscale(0.45);
pointer-events: none;
}
.workspace-toolbar.is-disabled button,
.workspace-toolbar.is-disabled button:hover,
.workspace-toolbar.is-disabled button.active,
.canvas-statusbar.is-disabled button,
.canvas-statusbar.is-disabled button:hover,
.canvas-statusbar.is-disabled button.active {
color: #9299a3;
background: transparent;
cursor: default;
}
.canvas-statusbar span {
min-width: 34px;
text-align: center;
@@ -3527,6 +3582,13 @@ button:disabled {
background: rgba(82, 109, 135, 0.15);
}
.assistant-footer-dock.is-disabled {
opacity: 0.48;
filter: grayscale(0.55);
pointer-events: none;
user-select: none;
}
.assistant-history-trigger {
width: 18px;
min-width: 18px;