fix(web): align composer corner with send button

This commit is contained in:
kingwl committed 2026-10-04 21:41:34 +08:00
1 parent 2ac5313009
commit 28c57a001e
4 files changed
+15 -7

No files matched your search

@@ -18,8 +18,8 @@
en: 1d2a3a7f98c2cc9b
zh: f895dd5e9f91e0a9
/deepseek-ai-dsh-client-ui-conversation/shell-and-standard-props:
en: 8fddd7e838da57d8
zh: 98748142be2e61d4
en: 2cd14507e7c68483
zh: 2484605b53d421de
/deepseek-ai-dsh-client-ui-conversation/temporary-composer-entries:
en: bb1244310f5c0382
zh: 824b84077432b559
@@ -56,6 +56,8 @@ The shared image slot props keep display choices separate from durable reference
The composer measures its expanded control groups after size, content, visibility, or font-loading changes. If they cannot share a line, the row sets `--dsh-composer-model-text-display: none` and `--dsh-composer-model-icon-display: block` for the model seat; their defaults are `block` and `none`. Wrapping remains available if even the icon cannot fit.
The composer card uses circular corners with a radius equal to half the primary button diameter plus its equal right and bottom inset. The workspace-picker outline inherits the same radius and curve.
The context-occupancy button shows a ring and percentage below the input card, after the Session statistics. Clicking it opens the token breakdown in a panel kept inside the viewport, including when no statistics are shown; the button stays hidden until context usage and capacity are available.
With Coding Tools off, the shell hides only Trajectory; other plugin-contributed Views remain available. The View tab bar is hidden when fewer than two Views are available. Turning Coding Tools off while Trajectory is active returns to Chat; stored View preferences and recorded Session data remain intact. Turning it on makes Trajectory available again. View owners receive the available roster so their navigation actions can follow the same visibility.
@@ -56,6 +56,8 @@ target package 通过 declaration merge 扩展 snapshot 与 Location data map,
控件组的尺寸、内容、可见性或字体加载状态变化后,composer 测量展开状态下的控件组。若无法排在同一行,控制栏为模型位设置 `--dsh-composer-model-text-display: none` 和 `--dsh-composer-model-icon-display: block`;两者默认值分别为 `block` 和 `none`。若连图标也放不下,仍允许换行。
输入卡片使用圆弧圆角,半径等于主按钮直径的一半加上按钮到右侧和底部的相等间距。工作区选择状态的轮廓继承相同的半径与曲线。
上下文占用按钮在输入卡片下方、会话统计右侧显示圆环和百分比。点击按钮可在视口内的面板查看 token 构成,没有统计项时面板也不会越界;上下文用量和容量尚不可用时,按钮保持隐藏。
关闭代码工作工具时,外壳仅隐藏 Trajectory;其他插件贡献的 View 仍然可用。可用 View 少于两个时隐藏 View 标签栏。在 Trajectory 激活时关闭代码工作工具会返回 Chat;已保存的 View 偏好和 Session 记录保持不变。开启后,Trajectory 恢复可用。View 所有者接收可用列表,使导航操作跟随相同的可见性。
@@ -43,6 +43,8 @@
}
.card {
--dsh-composer-primary-size: 34px;
--dsh-composer-control-inset: 8px;
box-sizing: border-box;
position: relative; /* overlay anchor positioning context */
display: flex;
@@ -58,7 +60,8 @@
soft elevation tier. Fill: the input surface token (elevated in dark). */
border: 0;
--dsw-elevation-stroke-color: var(--dsw-alias-border-l2);
border-radius: var(--dsw-radius-panel);
border-radius: calc(var(--dsh-composer-primary-size) / 2 + var(--dsh-composer-control-inset));
corner-shape: round;
background: var(--dsw-specific-input-major);
box-shadow: var(--dsw-elevation-soft);
/* The draft text follows the Settings font-size preference (the textarea,
@@ -90,7 +93,8 @@
inset: 0;
box-sizing: border-box;
border: 1px dashed currentColor;
border-radius: var(--dsw-radius-panel);
border-radius: inherit;
corner-shape: inherit;
color: var(--dsw-alias-border-l4);
transition: color 100ms ease;
pointer-events: none;
@@ -257,7 +261,7 @@
/* 2px moved from the bottom pad to the top: the whole control row sits 2px
lower in the card (it read too high against the textarea) while the
controls' own centering stays untouched. */
padding: 2px 8px 6px;
padding: 2px var(--dsh-composer-control-inset) calc(var(--dsh-composer-control-inset) - 2px);
min-width: 0;
/* Size container so the chips inside can collapse to icon-only when the
card runs out of row width (PermissionSelect @container rule). Anonymous
@@ -373,8 +377,8 @@
display: grid;
place-items: center;
flex: none;
width: 34px;
height: 34px;
width: var(--dsh-composer-primary-size);
height: var(--dsh-composer-primary-size);
border: none;
border-radius: 999px;
corner-shape: round;