diff --git a/apps/web/src/components/chat/MessagesTimeline.tsx b/apps/web/src/components/chat/MessagesTimeline.tsx
index 71cbce5a755e..89d44b6abf76 100644
--- a/apps/web/src/components/chat/MessagesTimeline.tsx
+++ b/apps/web/src/components/chat/MessagesTimeline.tsx
@@ -3554,7 +3554,7 @@ function LiveActivityRow({
const showShimmer = animated && shimmer;
return (
+
{label}
}
@@ -3756,6 +3762,7 @@ function WorkGroupHeader(props: {
}) {
return (
}
label={
-
+
{props.label}
}
diff --git a/apps/web/src/index.css b/apps/web/src/index.css
index a4b80193dce2..46b57325a3ff 100644
--- a/apps/web/src/index.css
+++ b/apps/web/src/index.css
@@ -499,6 +499,35 @@ html[data-mobile-composer-route-transition="true"]::view-transition-old(t3-mobil
}
}
+@keyframes live-tool-shine {
+ from {
+ background-position:
+ -4.5rem 0,
+ 0 0;
+ }
+ to {
+ background-position:
+ calc(100% + 4.5rem) 0,
+ 0 0;
+ }
+}
+
+@utility live-tool-shine {
+ @media (prefers-reduced-motion: no-preference) and (forced-colors: none) {
+ color: transparent;
+ background-image:
+ linear-gradient(to right, transparent, var(--contrast-foreground), transparent),
+ linear-gradient(var(--contrast-secondary-label), var(--contrast-secondary-label));
+ background-size:
+ 4.5rem 100%,
+ 100% 100%;
+ background-repeat: no-repeat;
+ background-clip: text;
+ animation: live-tool-shine 2.2s steps(30) infinite;
+ animation-play-state: var(--visible-animation-state, paused);
+ }
+}
+
@utility visible-animate-spin {
animation: var(--animate-spin);
animation-play-state: var(--visible-animation-state, paused);