chore(ui): repair stray motion-reduce tokens that bled into JSDoc comments and pair the mood chart spinner

This commit is contained in:
Marc-André Bombeck committed 2026-05-15 17:25:57 +02:00
1 parent 3d3402e3af
commit 9b0b1c6b84
9 files changed
+10 -10

No files matched your search

@@ -170,7 +170,7 @@ export function ApiTokenOverviewSection() {
) : !tokens?.length ? (
// v1.4.15 phase-C5: empty state explains where tokens come
// from (native client sign-in / Settings → Account) so a
// fresh admin doesn motion-reduce:animate-none't think they need to create them here.
// fresh admin doesn't think they need to create them here.
<EmptyState
icon={<Key className="size-6" />}
title={t("admin.tokensEmptyTitle")}
+1 -1
View File
@@ -1164,7 +1164,7 @@ export function HealthChart({
) : !chartData?.length ? null : (chartData?.length ?? 0) < 3 ? (
// v1.4.16 B1a — sparse-data placeholder. <3 daily points is too
// few to render a meaningful trend; paint a friendly hint
// instead so the dashboard doesn motion-reduce:animate-none't look broken.
// instead so the dashboard doesn't look broken.
<ChartEmptyState
title={t("charts.emptyStateTitle")}
description={t("charts.emptyStateDescription")}
+1 -1
View File
@@ -620,7 +620,7 @@ export function MoodChart({
<CardContent>
{isLoading ? (
<div className="flex h-48 items-center justify-center">
<Loader2 className="text-primary h-6 w-6 animate-spin" />
<Loader2 className="text-primary h-6 w-6 animate-spin motion-reduce:animate-none" />
</div>
) : !chartData?.length ? (
<div className="text-muted-foreground flex h-48 items-center justify-center text-sm">
+1 -1
View File
@@ -430,7 +430,7 @@ export function Glp1Tile() {
}
/**
* v1.4.27 B1 — small segmented-control button used by the tile motion-reduce:animate-none's
* v1.4.27 B1 — small segmented-control button used by the tile's
* tab strip. Carved into its own component so the active/inactive
* styling lives in one place and the test can pin the data-slot
* markers per tab.
@@ -365,7 +365,7 @@ function GatedPlaceholder({
// Three distinguishable states:
// - Research Mode is off entirely.
// - Research Mode is on but the acknowledged version is stale.
// - We don motion-reduce:animate-none't know yet (server returned null) — still render the
// - We don't know yet (server returned null) — still render the
// opt-in CTA so the user has a path forward.
const stale = !!knownState?.enabled && !versionsAligned;
return (
@@ -511,5 +511,5 @@ function siteSuffix(site: InjectionSiteKey): string {
.join("");
}
/** Re-export so the parent doesn motion-reduce:animate-none't need to import describeInjectionSite. */
/** Re-export so the parent doesn't need to import describeInjectionSite. */
export { describeInjectionSite };
+1 -1
View File
@@ -265,7 +265,7 @@ export function AboutSection() {
{/* Updates — proper heading + last-check timestamp + manual button
that proxies through `/api/version/check-updates`. The v1.4.2
version called `api.github.com` directly from the browser, which
the production CSP blocked silently — that motion-reduce:animate-none's why "nothing
the production CSP blocked silently — that's why "nothing
happened" when the user clicked the button. */}
{version && (
<div className="bg-card border-border rounded-xl border p-6">
+2 -2
View File
@@ -407,7 +407,7 @@ export function AccountSection() {
wide on sm+). Date of birth is the bottom of the
biological-profile block; language is the only UI
preference on this card. They sit together to close the
"single-cell row" gap that broke the form motion-reduce:animate-none's grid. */}
"single-cell row" gap that broke the form's grid. */}
<div className="grid gap-4 sm:grid-cols-2">
<div className="space-y-2">
<Label htmlFor="dob">{t("settings.dateOfBirth")}</Label>
@@ -728,7 +728,7 @@ function PasskeyListSection({ isAuthenticated }: { isAuthenticated: boolean }) {
which on a 393px viewport hid the right-most column —
including the destructive delete action. Render the desktop
table only at `≥ md`, and at `< md` paint a card-list where
every passkey motion-reduce:animate-none's name, device type, backup status, created
every passkey's name, device type, backup status, created
date, and delete action are all visible without scrolling. */}
<div className="border-border mt-3 hidden overflow-x-auto rounded-lg border md:block">
<table className="w-full text-sm">
+1 -1
View File
@@ -716,7 +716,7 @@ function CodexProviderForm({
/* ────────────────────────────────────────────────────────────────
* OpenAI form — API key + model select + collapsed Base URL override.
* Save mutation flips both `aiProvider` (for the legacy single-result
* resolver) and `aiOpenaiKeyEncrypted` (the user motion-reduce:animate-none's key) so an OPENAI
* resolver) and `aiOpenaiKeyEncrypted` (the user's key) so an OPENAI
* pick is visible to every code path that reads the row.
* ──────────────────────────────────────────────────────────────── */