style(frontend): Prettier config + one-time repo-wide format pass

Prettier 3 (pinned), printWidth 100, double quotes — chosen to match the existing
hand-formatting and minimise reflow. This commit is ONLY the mechanical format pass
(`prettier --write`) plus the config/ignore/scripts, isolated so it never pollutes a
feature diff. Verified behaviour-neutral: typecheck, eslint (0 errors), and vitest
all green before and after. See .git-blame-ignore-revs — `git blame` skips this sha.
This commit is contained in:
2026-07-21 02:26:40 +02:00
parent 04ecd8b3a7
commit e257e2aca0
101 changed files with 4388 additions and 2641 deletions
+71 -13
View File
@@ -28,11 +28,51 @@ type Slider = {
const SLIDERS: Slider[] = [
{ k: "--glass-blur", label: "Blur radius", min: 0, max: 40, step: 1, unit: "px", def: 10 },
{ k: "--glass-saturate", label: "Saturation", min: 1, max: 2.5, step: 0.05, unit: "", def: 1.6 },
{ k: "--glass-dark-bright", label: "Dark brightness", min: 1, max: 2, step: 0.05, unit: "", def: 1.2 },
{ k: "--glass-surface-alpha", label: "Panel opacity", min: 40, max: 100, step: 1, unit: "%", def: 50 },
{ k: "--glass-card-alpha", label: "Card opacity", min: 40, max: 100, step: 1, unit: "%", def: 60 },
{ k: "--glass-menu-alpha", label: "Menu opacity", min: 40, max: 100, step: 1, unit: "%", def: 66 },
{ k: "--glass-border-alpha", label: "Border opacity", min: 20, max: 100, step: 1, unit: "%", def: 80 },
{
k: "--glass-dark-bright",
label: "Dark brightness",
min: 1,
max: 2,
step: 0.05,
unit: "",
def: 1.2,
},
{
k: "--glass-surface-alpha",
label: "Panel opacity",
min: 40,
max: 100,
step: 1,
unit: "%",
def: 50,
},
{
k: "--glass-card-alpha",
label: "Card opacity",
min: 40,
max: 100,
step: 1,
unit: "%",
def: 60,
},
{
k: "--glass-menu-alpha",
label: "Menu opacity",
min: 40,
max: 100,
step: 1,
unit: "%",
def: 66,
},
{
k: "--glass-border-alpha",
label: "Border opacity",
min: 20,
max: 100,
step: 1,
unit: "%",
def: 80,
},
{ k: "--glass-edge", label: "Edge-light rim", min: 0, max: 60, step: 1, unit: "%", def: 25 },
{ k: "--glass-inset", label: "Top highlight", min: 0, max: 40, step: 1, unit: "%", def: 15 },
{ k: "--glass-scrim", label: "Under-text scrim", min: 0, max: 85, step: 1, unit: "%", def: 30 },
@@ -71,7 +111,12 @@ const PRESETS: { id: string; name: string; hint: string; over: Record<string, nu
id: "readable",
name: "Max readable",
hint: "Solid + strong scrim",
over: { "--glass-edge": 42, "--glass-scrim": 45, "--glass-surface-alpha": 96, "--glass-card-alpha": 96 },
over: {
"--glass-edge": 42,
"--glass-scrim": 45,
"--glass-surface-alpha": 96,
"--glass-card-alpha": 96,
},
},
];
@@ -222,7 +267,10 @@ export default function GlassTuner() {
return (
<Overlay>
<div className="fixed right-0 top-24 z-tuner flex items-start" style={{ pointerEvents: "none" }}>
<div
className="fixed right-0 top-24 z-tuner flex items-start"
style={{ pointerEvents: "none" }}
>
{!open && (
<button
onClick={() => persistOpen(true)}
@@ -253,7 +301,9 @@ export default function GlassTuner() {
<div className="overflow-y-auto px-3 py-3 flex flex-col gap-4 text-sm">
{/* Treatment presets */}
<div className="flex flex-col gap-1.5">
<div className="text-[10px] uppercase tracking-wider text-muted font-semibold">Dark treatment</div>
<div className="text-[10px] uppercase tracking-wider text-muted font-semibold">
Dark treatment
</div>
<div className="grid grid-cols-2 gap-1.5">
{PRESETS.map((p) => (
<button
@@ -276,7 +326,9 @@ export default function GlassTuner() {
key={t}
onClick={() => setTab(t)}
className={`flex-1 rounded-lg px-2 py-1 text-xs capitalize ${
tab === t ? "bg-accent text-[color:var(--accent-fg)] font-semibold" : "glass-card text-muted"
tab === t
? "bg-accent text-[color:var(--accent-fg)] font-semibold"
: "glass-card text-muted"
}`}
>
{t}
@@ -295,7 +347,8 @@ export default function GlassTuner() {
{tab === "palette" && (
<div className="flex flex-col gap-2">
<p className="text-[10px] text-muted leading-relaxed">
Overrides the live scheme (inline on &lt;html&gt;). Reset clears these back to the scheme.
Overrides the live scheme (inline on &lt;html&gt;). Reset clears these back to
the scheme.
</p>
{PALETTE.map((p) => (
<label key={p.k} className="flex items-center gap-2 text-xs text-fg">
@@ -314,7 +367,9 @@ export default function GlassTuner() {
{/* Export */}
<div className="flex flex-col gap-1.5 pt-1 border-t border-border/50">
<div className="text-[10px] uppercase tracking-wider text-muted font-semibold">Export → bake in</div>
<div className="text-[10px] uppercase tracking-wider text-muted font-semibold">
Export → bake in
</div>
<button
onClick={syncToTheme}
title="Load the values of the theme you're currently viewing (light or dark) into the sliders"
@@ -329,7 +384,10 @@ export default function GlassTuner() {
>
{copied ? "Copied ✓" : "Copy CSS"}
</button>
<button onClick={reset} className="glass-card glass-hover rounded-lg px-3 py-1.5 text-xs text-fg">
<button
onClick={reset}
className="glass-card glass-hover rounded-lg px-3 py-1.5 text-xs text-fg"
>
Reset
</button>
</div>
@@ -340,7 +398,7 @@ export default function GlassTuner() {
</div>
</div>
)}
</div>
</div>
</Overlay>
);
}