The wallpaper is the one from the mockup: "The S Aesthetic That You Definitely Recognize Frutiger Aero" via WallpaperSafari (https://wallpapersafari.com/w/IlWuz7) — the URL in the request pointed at a different (teal abstract) wallpaper, this is the grass/sky/water one that matches the screenshot. Re-encoded to a 237 kB WebP in public/aero/, used as the scene in aero only (light/dark never download it), and credited in Settings next to the theme picker. The drawn CSS scene (rays, reeds, skyline, caustics) is off over the photo; the ten rising bubbles stay, and the orbs became extra bubbles. Buttons and segments are liquid glass now — translucent, glossed top half, bright rim, backdrop blur — instead of the solid aqua fill. Helper lines that sit straight on the wallpaper (the keyboard tip, the AI note) get a small glass chip: dark text on grass measured 2.5:1. Also carries: the underwater scene + bubbles work, the floating cookie notice, the Czech title (Tvůj mrazák) and the review-suite fix that made the last deploy fail its gate. Contrast: 0 below-minimum findings, 0 axe violations across all three themes. Version 0.2.2, SW -> freezmo-v56.
23 lines
886 B
TypeScript
23 lines
886 B
TypeScript
"use client";
|
|
|
|
import { useI18n } from "@/lib/i18n";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
/**
|
|
* The faint "AI can make mistakes" note for surfaces that show model output:
|
|
* under the chat composer, next to the generation buttons and results of the
|
|
* homework and deck wizards, and under AI grading feedback. One component so
|
|
* the copy, the style and the translations stay in one place.
|
|
*
|
|
* --text-subtle is the muted helper token and is documented at 5.6:1 (light)
|
|
* and 8.6:1 (dark), so the note stays readable at this size.
|
|
*/
|
|
export function AiDisclaimer({ className }: { className?: string }) {
|
|
const { t } = useI18n();
|
|
return (
|
|
// hint-line: Aero gives this its own glass chip (it sits on the wallpaper).
|
|
<p className={cn("hint-line text-center text-[11.5px] leading-snug text-[var(--text-subtle)]", className)}>
|
|
{t("common.aiDisclaimer")}
|
|
</p>
|
|
);
|
|
}
|