From 9cd5919bd8ca87987d9bb3f735266c2398c6ce9e Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.net>
Date: Tue, 19 May 2026 01:29:29 +0000
Subject: style(breakpoints): consolidate 9 ad-hoc values into 5 SCSS tokens

Adds src/styles/_breakpoints.scss with five canonical tokens
(\$bp-sm 600, \$bp-md 800, \$bp-lg 1024, \$bp-xl 1280, \$bp-2xl 1600)
and migrates all 15 @media (max-width: ...) occurrences across 9 files.
Configures vite.config.ts with scss loadPaths so any file can
@use "breakpoints" without relative paths.

Conservative rounding-up where existing values were near-duplicates:
500 and 512 collapse to 600, 768 collapses to 800, 1000 collapses to
1024. Slightly more viewports get the smaller-layout treatment in
those bands, which is usually beneficial on cramped widths.

Converts 7 Svelte files from <style> to <style lang="scss"> to access
the SCSS tokens. SCSS is a CSS superset, so existing rules stay valid.
---
 src/lib/User/BadgeWall/BadgePreview.svelte | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'src/lib/User/BadgeWall/BadgePreview.svelte')

diff --git a/src/lib/User/BadgeWall/BadgePreview.svelte b/src/lib/User/BadgeWall/BadgePreview.svelte
index e651a2aa..104a53da 100644
--- a/src/lib/User/BadgeWall/BadgePreview.svelte
+++ b/src/lib/User/BadgeWall/BadgePreview.svelte
@@ -218,7 +218,9 @@ const onClick = (event: MouseEvent) => {
   </div>
 {/if}
 
-<style>
+<style lang="scss">
+  @use "breakpoints" as *;
+
   :global(.badge-preview img) {
     border-radius: 8px;
     max-height: 50vh;
@@ -239,7 +241,7 @@ const onClick = (event: MouseEvent) => {
     gap: 1rem;
   }
 
-  @media (max-width: 768px) {
+  @media (max-width: $bp-md) {
     .badge-preview {
       flex-direction: column;
     }
-- 
cgit v1.2.3

