Compare commits

...

5 Commits

Author SHA1 Message Date
bc5fcb1fa9 chore(tour):取消Tour,因为没有和平台信息绑定 2026-06-15 09:44:44 +08:00
f14d0fe6fd feat(suggestion): 背景色变化 2026-06-15 09:41:29 +08:00
015313cb83 chore: 去除字体放大的多余部分 2026-06-15 09:28:00 +08:00
39eb29d54e fix(brand): 修复品牌根选择器变量覆盖
将品牌类选择器调整为 :root.brand-*,确保品牌变量能够稳定覆盖默认 :root 变量。\n补充品牌选择器测试,校验品牌块中包含 surface elevated 颜色变量。
2026-06-15 09:26:30 +08:00
6adc8cbedf feat(suggestionList): 仅在xclaw中显示 2026-06-15 09:08:18 +08:00
5 changed files with 15 additions and 12 deletions

View File

@ -68,7 +68,7 @@ export const Suggestion = ({
className={cn(
"cursor-pointer w-[216px] rounded-full px-[20px] py-[15px] text-sm font-normal",
"border-none bg-ws-surface-subtle text-ws-text-muted",
"hover:bg-ws-surface-elevated hover:text-ws-base-1",
"hover:bg-ws-interactive-hover hover:text-ws-base-1",
className,
)}
onClick={handleClick}

View File

@ -1807,9 +1807,6 @@ export const ArtifactZoomSelector = ({
className="w-52 p-[20px]"
>
<div className="mb-2 flex items-center justify-between">
<span className="text-muted-foreground text-xs">
{ZOOM_LEVELS[0]}%
</span>
<span className="text-foreground text-xs font-medium">
{value}%
</span>

View File

@ -85,6 +85,7 @@ import {
} from "@/core/threads/reference-events";
import { useIframeSkill } from "@/hooks/use-iframe-skill";
import { cn } from "@/lib/utils";
import { useBrand } from "@/core/brand/provider";
import {
ModelSelector,
@ -306,6 +307,8 @@ export function InputBox({
}
}, [mentionOpen, refetchReferenceFiles]);
const{ brand } = useBrand()
// Welcome 态下禁用收缩,始终保持展开
const effectiveIsFocused =
(showWelcomeStyle ?? false) || isFocused || memoryPanelOpen;
@ -799,7 +802,7 @@ export function InputBox({
}}
className="relative w-full"
>
<Tour
{/* <Tour
open={isInputToolsTourOpen}
onClose={closeInputToolsTour}
onFinish={finishInputToolsTour}
@ -811,7 +814,7 @@ export function InputBox({
color: 'rgba(255,255,255, .8)',
}}
steps={inputToolsTourSteps}
/>
/> */}
<AttachmentPreviewBar
references={references}
threadId={threadId}
@ -1106,14 +1109,13 @@ export function InputBox({
status={status}
/>
</PromptInput>
{/* TODO: 需要在sxwz中隐藏 */}
{/* {shouldShowSuggestionList && (
{brand === "xclaw" && shouldShowSuggestionList && (
<SuggestionListContainer
ref={suggestionListTourRef}
bootstrapAndLockSkills={iframeSkill.bootstrapAndLockSkills}
isBootstrapping={iframeSkill.isBootstrapping}
/>
)} */}
)}
{!disabled &&
!showWelcomeStyle &&

View File

@ -10,4 +10,6 @@ const globalsCss = readFileSync(path.join(currentDir, "globals.css"), "utf8");
void test("brand selectors target :root to outrank default root variables", () => {
assert.match(globalsCss, /:root\.brand-xclaw\s*\{/);
assert.match(globalsCss, /:root\.brand-sxwz\s*\{/);
assert.match(globalsCss, /:root\.brand-xclaw\s*\{[\s\S]*--ws-color-surface-elevated\s*:/);
assert.match(globalsCss, /:root\.brand-sxwz\s*\{[\s\S]*--ws-color-surface-elevated\s*:/);
});

View File

@ -68,16 +68,18 @@
@source inline("bg-{background,muted,primary,secondary,accent}");
@source inline("border-{border,input}");
.brand-xclaw {
:root.brand-xclaw {
--brand-color-primary: #150033;
--brand-color-primary-10: #1500331a;
--brand-color-primary-60: #15003399;
--ws-color-surface-elevated: #fbfafc;
}
.brand-sxwz {
:root.brand-sxwz {
--brand-color-primary: #000f33;
--brand-color-primary-10: #000f331a;
--brand-color-primary-60: #000f3399;
--ws-color-surface-elevated: #f8f9fa;
}
@custom-variant dark (&:is(.dark *));
@ -647,7 +649,7 @@ code {
.workspace-code-editor .ͼ4k,
.workspace-code-editor .ͼ4s,
.workspace-code-editor .ͼ4q
.workspace-code-editor .ͼ4q,
.workspace-code-editor .ͼ4r {
color: var(--ws-color-fg-primary);
}