优化全能创作

This commit is contained in:
Azmat@qq.com
2026-09-14 15:58:20 +08:00
parent 463613c0d7
commit 3fed9b9435
9 changed files with 1538 additions and 139 deletions
+512 -14
View File
@@ -33,6 +33,7 @@
}
.omni-session-shell {
position: relative;
width: min(980px, calc(100% - 42px));
min-height: calc(100vh - var(--topbar-height));
display: flex;
@@ -162,6 +163,32 @@
white-space: pre-wrap;
}
.omni-reply-hint {
margin: 8px 0 0;
padding-top: 8px;
border-top: 1px dashed rgba(34, 42, 54, .12);
color: #667085;
font-size: 12px;
line-height: 1.55;
}
.omni-reply-hint-label {
display: inline-block;
margin-right: 6px;
padding: 1px 6px;
border-radius: 999px;
color: #3b5bdb;
background: rgba(59, 91, 219, .08);
font-size: 11px;
font-weight: 600;
}
.omni-chat-row.is-user .omni-reply-hint {
display: none;
}
.omni-chat-row.is-user .omni-chat-bubble {
align-items: flex-end;
border-color: var(--black);
@@ -296,6 +323,11 @@
.omni-video-plan-head span {
color: #fff;
background: var(--black);
font-size: 12px;
}
.omni-video-plan-head strong {
font-size: 16px;
}
.omni-plan-section {
@@ -310,7 +342,8 @@
.omni-plan-section > strong {
display: block;
margin-bottom: 10px;
font-size: 12px;
font-size: 14px;
line-height: 1.5;
}
.omni-plan-points {
@@ -324,15 +357,16 @@
border-radius: 9px;
color: #525965;
background: #f6f8fa;
font-size: 12px;
line-height: 1.5;
font-size: 13px;
line-height: 1.65;
}
.omni-plan-points b {
display: block;
margin-bottom: 4px;
color: #252b35;
font-size: 11px;
font-size: 12px;
line-height: 1.45;
}
.omni-plan-points i,
@@ -364,15 +398,16 @@
border-radius: 10px;
color: #5b626d;
background: #fff;
font-size: 11px;
line-height: 1.5;
font-size: 13px;
line-height: 1.65;
}
.omni-plan-timeline b {
display: block;
margin-bottom: 5px;
color: var(--klein);
font-size: 12px;
font-size: 13px;
line-height: 1.45;
}
.omni-plan-summary {
@@ -383,14 +418,35 @@
padding: 13px 17px;
color: #444b56;
background: #f6f8fb;
font-size: 12px;
line-height: 1.5;
font-size: 13px;
line-height: 1.65;
}
.omni-plan-summary b {
color: var(--klein);
}
/* 「最终输入」是方案交给出片模型前的最后一层信息,不能和辅助说明一样小。 */
.omni-plan-summary .omni-plan-final-input {
margin-left: auto;
color: var(--accent-black);
font-size: 13px;
font-weight: 500;
}
.omni-plan-summary .omni-plan-final-input b {
font-size: 14px;
font-weight: 600;
}
.omni-plan-summary .omni-plan-final-input .omni-plan-point-body {
display: inline;
margin-left: 2px;
color: var(--black-alpha-64);
font-size: 13px;
font-weight: 400;
}
.omni-prompt-file-card {
display: grid;
grid-template-columns: 42px minmax(0, 1fr) auto;
@@ -1301,9 +1357,8 @@
box-sizing: border-box;
width: min(760px, calc(100% - 44px));
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
flex-direction: column;
align-items: stretch;
gap: 12px;
margin: 0 0 24px 44px;
padding: 14px 16px;
@@ -1319,11 +1374,25 @@
opacity: 0.72;
}
.omni-step-confirm-card.is-revising {
border-color: rgba(0, 47, 167, .22);
box-shadow: 0 12px 30px rgba(20, 27, 38, .065), 0 0 0 3px rgba(0, 47, 167, .08);
}
.omni-step-confirm-top {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.omni-step-confirm-copy {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
flex: 1 1 180px;
}
.omni-step-confirm-copy strong {
@@ -1342,6 +1411,7 @@
display: flex;
flex-shrink: 0;
gap: 8px;
justify-content: flex-end;
}
.omni-step-confirm-actions button {
@@ -1365,6 +1435,46 @@
cursor: not-allowed;
}
/* 「我想改」卡片内反馈区:与卡片同宽,主路径不再依赖底部 composer */
.omni-step-confirm-revise {
display: flex;
flex-direction: column;
gap: 10px;
width: 100%;
}
.omni-step-confirm-revise-input {
box-sizing: border-box;
width: 100%;
min-height: 76px;
padding: 10px 12px;
border: 1px solid rgba(34, 42, 54, 0.14);
border-radius: 10px;
background: #f7f8fa;
color: #222a36;
font-family: inherit;
font-size: 13px;
line-height: 1.55;
resize: vertical;
outline: 0;
transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.omni-step-confirm-revise-input::placeholder {
color: #8b919a;
}
.omni-step-confirm-revise-input:focus {
border-color: rgba(0, 47, 167, .42);
background: #fff;
box-shadow: 0 0 0 3px rgba(0, 47, 167, .14);
}
.omni-step-confirm-revise-input:disabled {
opacity: 0.6;
cursor: not-allowed;
}
/* ── 确认闸门(.omni-confirm-card)· 设计稿里是方案卡下面那条操作行,这里独立成卡。
积分数字挂在按钮里 —— 用户按下去之前就该知道要花多少。 */
.omni-confirm-card {
@@ -1837,7 +1947,8 @@
.omni-prompt-drawer-bg {
position: fixed;
inset: 0;
z-index: 80;
/* Prompt 是当前查看的内容,必须盖过右侧「资源」工作区。 */
z-index: calc(var(--z-overlay) + 10);
border: 0;
background: rgba(16, 18, 24, .28);
cursor: pointer;
@@ -1848,7 +1959,7 @@
top: 12px;
right: 12px;
bottom: 12px;
z-index: 81;
z-index: calc(var(--z-overlay) + 15);
width: min(560px, calc(100vw - 24px));
display: flex;
flex-direction: column;
@@ -2119,3 +2230,390 @@
color: #5c6570;
white-space: nowrap;
}
/* ── 对话资源:固定入口 + 右侧工作区 ── */
.omni-assets-entry {
position: fixed;
top: 50%;
right: 28px;
z-index: 40;
display: inline-flex;
align-items: center;
gap: 7px;
height: 36px;
padding: 0 14px 0 12px;
border: 1px solid var(--border-faint);
border-radius: var(--r-md);
background: var(--surface);
color: var(--black-alpha-56);
font-size: 12px;
font-weight: 500;
cursor: pointer;
transform: translateY(-50%);
transition: background var(--t-base), border-color var(--t-base), color var(--t-base), opacity var(--t-base);
}
.omni-assets-entry svg {
width: 15px;
height: 15px;
flex: 0 0 auto;
}
.omni-assets-entry:hover {
border-color: var(--border-loud);
background: var(--black-alpha-4);
color: var(--accent-black);
}
.omni-assets-entry.is-open {
opacity: 0;
pointer-events: none;
}
.omni-assets-drawer {
top: var(--topbar-height);
right: 0;
bottom: 0;
width: min(440px, 36vw);
max-width: none;
border-left: 1px solid var(--border-faint);
background: var(--surface);
box-shadow: none;
animation: none;
}
.omni-assets-drawer-head {
min-height: 64px;
gap: 20px;
padding: 14px 20px;
}
.omni-assets-drawer-head > div:first-child {
min-width: 0;
}
.omni-assets-drawer-head strong,
.omni-assets-drawer-head small {
display: block;
}
.omni-assets-drawer-head strong {
color: var(--accent-black);
font-size: 16px;
font-weight: 600;
}
.omni-assets-drawer-head small {
margin-top: 2px;
color: var(--black-alpha-48);
font-size: 11px;
}
.omni-assets-panel-tools {
display: flex;
align-items: center;
gap: 8px;
margin-left: auto;
}
.omni-assets-panel-tools .view-toggle {
flex: 0 0 auto;
}
.omni-assets-panel-tools .view-toggle button {
width: 28px;
height: 26px;
}
.omni-assets-panel-tools .view-toggle svg {
width: 14px;
height: 14px;
}
.omni-assets-search {
display: flex;
align-items: center;
width: 132px;
height: 32px;
gap: 6px;
padding: 0 9px;
border: 1px solid var(--border-faint);
border-radius: var(--r-md);
color: var(--black-alpha-48);
background: var(--background-lighter);
}
.omni-assets-search:focus-within {
border-color: var(--black-alpha-24);
background: var(--surface);
}
.omni-assets-search svg {
width: 14px;
height: 14px;
flex: 0 0 auto;
}
.omni-assets-search input {
width: 100%;
min-width: 0;
padding: 0;
border: 0;
outline: 0;
color: var(--accent-black);
background: transparent;
font: inherit;
font-size: 12px;
}
.omni-assets-search input::placeholder {
color: var(--black-alpha-40);
}
.omni-assets-drawer-head .x {
flex: 0 0 auto;
}
.omni-assets-drawer-body {
padding: 24px 20px 32px;
background: var(--surface);
}
.omni-assets-empty {
min-height: 220px;
display: grid;
place-content: center;
justify-items: center;
gap: 10px;
color: var(--black-alpha-48);
text-align: center;
}
.omni-assets-empty svg {
width: 24px;
height: 24px;
}
.omni-assets-empty p {
margin: 0;
font-size: 13px;
}
.omni-assets-group + .omni-assets-group {
margin-top: 28px;
}
.omni-assets-group h3 {
display: flex;
align-items: center;
gap: 8px;
margin: 0 0 12px;
color: var(--accent-black);
font-size: 13px;
font-weight: 600;
}
.omni-assets-group h3 em {
color: var(--black-alpha-48);
font-family: var(--font-mono);
font-size: 11px;
font-style: normal;
font-weight: 400;
}
.omni-assets-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
}
.omni-assets-grid.is-list {
grid-template-columns: 1fr;
}
.omni-assets-card {
display: flex;
flex-direction: column;
gap: 8px;
padding: 0;
border: 1px solid var(--border-faint);
border-radius: var(--r-md);
background: var(--surface);
color: var(--accent-black);
text-align: left;
cursor: pointer;
overflow: hidden;
transition: background var(--t-base), border-color var(--t-base);
}
.omni-assets-card:hover:not(:disabled) {
border-color: var(--border-loud);
background: var(--background-lighter);
}
.omni-assets-card:disabled {
cursor: default;
opacity: .72;
}
.omni-assets-card.is-doc,
.omni-assets-grid.is-list .omni-assets-card {
flex-direction: row;
align-items: center;
gap: 10px;
padding: 10px;
}
.omni-assets-thumb {
position: relative;
display: block;
width: 100%;
aspect-ratio: 1;
background: var(--background-lighter);
overflow: hidden;
}
.omni-assets-grid.is-list .omni-assets-thumb {
width: 52px;
height: 52px;
flex: 0 0 auto;
aspect-ratio: auto;
border-radius: 6px;
}
.omni-assets-thumb.is-doc,
.omni-assets-card.is-doc .omni-assets-thumb {
width: 40px;
height: 40px;
flex: 0 0 auto;
aspect-ratio: auto;
display: grid;
place-items: center;
border-radius: 6px;
color: var(--heat);
background: var(--heat-12);
}
.omni-assets-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.omni-assets-thumb > i {
position: absolute;
inset: 0;
display: grid;
place-items: center;
color: var(--black-alpha-48);
}
.omni-assets-thumb > i svg,
.omni-assets-thumb.is-doc svg {
width: 18px;
height: 18px;
}
.omni-assets-play {
position: absolute;
inset: 0;
display: grid;
place-items: center;
background: rgba(0, 0, 0, .24);
color: var(--surface);
}
.omni-assets-play svg {
width: 20px;
height: 20px;
fill: currentColor;
}
.omni-assets-meta {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
padding: 0 10px 10px;
}
.omni-assets-card.is-doc .omni-assets-meta,
.omni-assets-grid.is-list .omni-assets-meta {
padding: 0;
}
.omni-assets-meta strong,
.omni-assets-meta small {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.omni-assets-meta strong {
color: var(--accent-black);
font-size: 12px;
font-weight: 500;
}
.omni-assets-meta small {
color: var(--black-alpha-48);
font-family: var(--font-mono);
font-size: 11px;
}
@media (min-width: 1101px) {
.omni-session-page.has-assets-panel {
box-sizing: border-box;
padding-right: min(440px, 36vw);
}
.omni-session-page.has-assets-panel .omni-session-shell {
width: min(760px, calc(100% - 42px));
}
}
@media (max-width: 1100px) {
.omni-assets-drawer {
width: min(400px, calc(100vw - 16px));
}
}
@media (max-width: 720px) {
.omni-assets-entry {
right: 12px;
width: 36px;
padding: 0;
justify-content: center;
}
.omni-assets-entry span {
display: none;
}
.omni-assets-drawer {
width: calc(100vw - 8px);
}
.omni-assets-drawer-head {
align-items: flex-start;
flex-wrap: wrap;
gap: 12px;
}
.omni-assets-panel-tools {
width: 100%;
margin-left: 0;
}
.omni-assets-search {
flex: 1 1 auto;
}
.omni-assets-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}