This commit is contained in:
k
2026-09-22 09:45:56 +02:00
parent 2402e2e7fd
commit 3a34790487
2 changed files with 11 additions and 6 deletions
+6 -3
View File
@@ -295,7 +295,7 @@ export function Chat({
</span> </span>
)} )}
<span className="hidden items-center gap-2 font-semibold sm:flex"> <span className="hidden items-center gap-2 font-semibold sm:flex">
<FlowerMark size={24} dynamic={false} /> <FlowerMark size={24} dynamic={sending} />
{conv?.title || t("sidebar.newChat")} {conv?.title || t("sidebar.newChat")}
</span> </span>
{conv?.topic && ( {conv?.topic && (
@@ -333,7 +333,7 @@ export function Chat({
))} ))}
{streaming !== "" && ( {streaming !== "" && (
<div className="flex gap-2 sm:gap-3"> <div className="flex gap-2 sm:gap-3">
<AssistantAvatar size={32} /> <AssistantAvatar size={32} dynamic />
<div className="min-w-0 max-w-[88%] sm:max-w-[85%]"> <div className="min-w-0 max-w-[88%] sm:max-w-[85%]">
<div className="mb-1 text-xs opacity-60">KisAssistant</div> <div className="mb-1 text-xs opacity-60">KisAssistant</div>
<div className="rounded-3xl rounded-tl-lg border border-stone-200/70 bg-white px-4 py-3 shadow-sm sm:px-5 sm:py-3.5 dark:border-zinc-800 dark:bg-zinc-900"> <div className="rounded-3xl rounded-tl-lg border border-stone-200/70 bg-white px-4 py-3 shadow-sm sm:px-5 sm:py-3.5 dark:border-zinc-800 dark:bg-zinc-900">
@@ -343,7 +343,10 @@ export function Chat({
</div> </div>
)} )}
{sending && streaming === "" && ( {sending && streaming === "" && (
<div className="flex items-center gap-2 opacity-60"><Spinner size={15} /><span className="text-sm">{t("chat.thinking")}</span></div> <div className="flex items-center gap-2.5 opacity-80">
<AssistantAvatar size={32} dynamic />
<span className="flex items-center gap-2 text-sm opacity-60"><Spinner size={15} />{t("chat.thinking")}</span>
</div>
)} )}
</div> </div>
</div> </div>
+5 -3
View File
@@ -570,15 +570,17 @@ export function FlowerMark({ size, className, dynamic = true }: { size?: number;
); );
} }
/** Assistant identity: static flower mark on a soft circle (message avatars). */ /** Assistant identity: flower mark on a soft circle (message avatars).
export function AssistantAvatar({ size = 32 }: { size?: number }) { * Pass `dynamic` while the assistant is thinking/streaming so the logo
* blooms, then back to static once the reply is done. */
export function AssistantAvatar({ size = 32, dynamic = false }: { size?: number; dynamic?: boolean }) {
return ( return (
<span <span
className="grid shrink-0 place-items-center rounded-full bg-accent-600/10" className="grid shrink-0 place-items-center rounded-full bg-accent-600/10"
style={{ width: size, height: size }} style={{ width: size, height: size }}
aria-label="KisAssistant" aria-label="KisAssistant"
> >
<FlowerMark size={Math.round(size * 0.78)} dynamic={false} /> <FlowerMark size={Math.round(size * 0.78)} dynamic={dynamic} />
</span> </span>
); );
} }