HASH c5537602b46f
DATE 2025-11-16
SUBJECT web: fmt
FILES 21 CHANGED
HASH c5537602b46f
DATE 2025-11-16
SUBJECT web: fmt
FILES 21 CHANGED
┌─ web/.astro/data-store.json ───────────────────────────────────────────────┐
│ diff --git a/web/.astro/data-store.json b/web/.astro/data-store.json │
│ index ea0aeae..e1bcd99 100644 │
│ --- a/web/.astro/data-store.json │
│ +++ b/web/.astro/data-store.json │
│ @@ -1 +1 @@ │
│ -[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.12.0","astro-config- │
│ digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{} │
│ ,\"site\":\"https://wowsimstats.com\",\"compressHTML\":true,\"base\":\"/\",\"trail │
│ ingSlash\":\"ignore\",\"output\":\"server\",\"scopedStyleStrategy\":\"attribute\", │
│ \"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astr │
│ o\",\"serverEntry\":\"entry.mjs\",\"redirects\":false,\"inlineStylesheets\":\"auto │
│ \",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":37831,\"s │
│ treaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"r │
│ oute\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\" │
│ config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"de │
│ vToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\ │
│ ",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"th │
│ eme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPl │
│ ugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":t │
│ rue},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\ │
│ ":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false │
│ ,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\ │
│ ":false,\"csp\":false,\"rawEnvValues\":false},\"legacy\":{\"collections\":false}}" │
│ ] │
│ \ No newline at end of file │
│ +[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.12.0","astro-config- │
│ digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{} │
│ ,\"site\":\"https://wowsimstats.com\",\"compressHTML\":true,\"base\":\"/\",\"trail │
│ ingSlash\":\"ignore\",\"output\":\"server\",\"scopedStyleStrategy\":\"attribute\", │
│ \"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astr │
│ o\",\"serverEntry\":\"entry.mjs\",\"redirects\":false,\"inlineStylesheets\":\"auto │
│ \",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":23159,\"s │
│ treaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"r │
│ oute\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\" │
│ config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"de │
│ vToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\ │
│ ",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"th │
│ eme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPl │
│ ugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":t │
│ rue},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\ │
│ ":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false │
│ ,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\ │
│ ":false,\"csp\":false,\"rawEnvValues\":false},\"legacy\":{\"collections\":false}}" │
│ ] │
│ \ No newline at end of file │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/.astro/data-store.json ─────────┐
│ diff --git a/web/.astro/data-store.json b/we │
│ b/.astro/data-store.json │
│ index ea0aeae..e1bcd99 100644 │
│ --- a/web/.astro/data-store.json │
│ +++ b/web/.astro/data-store.json │
│ @@ -1 +1 @@ │
│ -[["Map",1,2],"meta::meta",["Map",3,4,5,6]," │
│ astro-version","5.12.0","astro-config-digest │
│ ","{\"root\":{},\"srcDir\":{},\"publicDir\": │
│ {},\"outDir\":{},\"cacheDir\":{},\"site\":\" │
│ https://wowsimstats.com\",\"compressHTML\":t │
│ rue,\"base\":\"/\",\"trailingSlash\":\"ignor │
│ e\",\"output\":\"server\",\"scopedStyleStrat │
│ egy\":\"attribute\",\"build\":{\"format\":\" │
│ directory\",\"client\":{},\"server\":{},\"as │
│ sets\":\"_astro\",\"serverEntry\":\"entry.mj │
│ s\",\"redirects\":false,\"inlineStylesheets\ │
│ ":\"auto\",\"concurrency\":1},\"server\":{\" │
│ open\":false,\"host\":false,\"port\":37831,\ │
│ "streaming\":true,\"allowedHosts\":[]},\"red │
│ irects\":{},\"image\":{\"endpoint\":{\"route │
│ \":\"/_image\"},\"service\":{\"entrypoint\": │
│ \"astro/assets/services/sharp\",\"config\":{ │
│ }},\"domains\":[],\"remotePatterns\":[],\"re │
│ sponsiveStyles\":false},\"devToolbar\":{\"en │
│ abled\":true},\"markdown\":{\"syntaxHighligh │
│ t\":{\"type\":\"shiki\",\"excludeLangs\":[\" │
│ math\"]},\"shikiConfig\":{\"langs\":[],\"lan │
│ gAlias\":{},\"theme\":\"github-dark\",\"them │
│ es\":{},\"wrap\":false,\"transformers\":[]}, │
│ \"remarkPlugins\":[],\"rehypePlugins\":[],\" │
│ remarkRehype\":{},\"gfm\":true,\"smartypants │
│ \":true},\"security\":{\"checkOrigin\":true} │
│ ,\"env\":{\"schema\":{},\"validateSecrets\": │
│ false},\"experimental\":{\"clientPrerender\" │
│ :false,\"contentIntellisense\":false,\"headi │
│ ngIdCompat\":false,\"preserveScriptOrder\":f │
│ alse,\"liveContentCollections\":false,\"csp\ │
│ ":false,\"rawEnvValues\":false},\"legacy\":{ │
│ \"collections\":false}}"] │
│ \ No newline at end of file │
│ +[["Map",1,2],"meta::meta",["Map",3,4,5,6]," │
│ astro-version","5.12.0","astro-config-digest │
│ ","{\"root\":{},\"srcDir\":{},\"publicDir\": │
│ {},\"outDir\":{},\"cacheDir\":{},\"site\":\" │
│ https://wowsimstats.com\",\"compressHTML\":t │
│ rue,\"base\":\"/\",\"trailingSlash\":\"ignor │
│ e\",\"output\":\"server\",\"scopedStyleStrat │
│ egy\":\"attribute\",\"build\":{\"format\":\" │
│ directory\",\"client\":{},\"server\":{},\"as │
│ sets\":\"_astro\",\"serverEntry\":\"entry.mj │
│ s\",\"redirects\":false,\"inlineStylesheets\ │
│ ":\"auto\",\"concurrency\":1},\"server\":{\" │
│ open\":false,\"host\":false,\"port\":23159,\ │
│ "streaming\":true,\"allowedHosts\":[]},\"red │
│ irects\":{},\"image\":{\"endpoint\":{\"route │
│ \":\"/_image\"},\"service\":{\"entrypoint\": │
│ \"astro/assets/services/sharp\",\"config\":{ │
│ }},\"domains\":[],\"remotePatterns\":[],\"re │
│ sponsiveStyles\":false},\"devToolbar\":{\"en │
│ abled\":true},\"markdown\":{\"syntaxHighligh │
│ t\":{\"type\":\"shiki\",\"excludeLangs\":[\" │
│ math\"]},\"shikiConfig\":{\"langs\":[],\"lan │
│ gAlias\":{},\"theme\":\"github-dark\",\"them │
│ es\":{},\"wrap\":false,\"transformers\":[]}, │
│ \"remarkPlugins\":[],\"rehypePlugins\":[],\" │
│ remarkRehype\":{},\"gfm\":true,\"smartypants │
│ \":true},\"security\":{\"checkOrigin\":true} │
│ ,\"env\":{\"schema\":{},\"validateSecrets\": │
│ false},\"experimental\":{\"clientPrerender\" │
│ :false,\"contentIntellisense\":false,\"headi │
│ ngIdCompat\":false,\"preserveScriptOrder\":f │
│ alse,\"liveContentCollections\":false,\"csp\ │
│ ":false,\"rawEnvValues\":false},\"legacy\":{ │
│ \"collections\":false}}"] │
│ \ No newline at end of file │
└──────────────────────────────────────────────┘
┌─ web/.astro/types.d.ts ────────────────────────────────────────────────────┐
│ diff --git a/web/.astro/types.d.ts b/web/.astro/types.d.ts │
│ index f964fe0..03d7cc4 100644 │
│ --- a/web/.astro/types.d.ts │
│ +++ b/web/.astro/types.d.ts │
│ @@ -1 +1,2 @@ │
│ /// <reference types="astro/client" /> │
│ +/// <reference path="content.d.ts" /> │
│ \ No newline at end of file │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/.astro/types.d.ts ──────────────┐
│ diff --git a/web/.astro/types.d.ts b/web/.as │
│ tro/types.d.ts │
│ index f964fe0..03d7cc4 100644 │
│ --- a/web/.astro/types.d.ts │
│ +++ b/web/.astro/types.d.ts │
│ @@ -1 +1,2 @@ │
│ /// <reference types="astro/client" /> │
│ +/// <reference path="content.d.ts" /> │
│ \ No newline at end of file │
└──────────────────────────────────────────────┘
┌─ web/src/client/sim-chart/render/charts.ts ────────────────────────────────┐
│ diff --git a/web/src/client/sim-chart/render/charts.ts b/web/src/client/sim-chart/ │
│ render/charts.ts │
│ index b62d360..0a0c942 100644 │
│ --- a/web/src/client/sim-chart/render/charts.ts │
│ +++ b/web/src/client/sim-chart/render/charts.ts │
│ @@ -53,7 +53,12 @@ export function renderRankingsChartHTML( │
│ ? it.stdev │
│ : it.value; │
│ const max = Math.max(...items.map(metric), 0); │
│ - const min = String(sortBy) === "dps" || String(sortBy) === "max" || String(sort │
│ By) === "min" ? 0 : Math.min(...items.map(metric), max); │
│ + const min = │
│ + String(sortBy) === "dps" || │
│ + String(sortBy) === "max" || │
│ + String(sortBy) === "min" │
│ + ? 0 │
│ + : Math.min(...items.map(metric), max); │
│ │
│ const bars = items │
│ .map((it, idx) => { │
│ @@ -170,14 +175,20 @@ export function renderComparisonChartHTML( │
│ String(effectiveSort) === "percent" │
│ ? (it.percent ?? 0) │
│ : String(effectiveSort) === "max" │
│ - ? (it as any).maxIncrease ?? 0 │
│ + ? ((it as any).maxIncrease ?? 0) │
│ : String(effectiveSort) === "min" │
│ - ? (it as any).minIncrease ?? 0 │
│ + ? ((it as any).minIncrease ?? 0) │
│ : String(effectiveSort) === "stdev" │
│ ? it.stdev │
│ - : (it as any).dpsIncrease ?? 0; │
│ + : ((it as any).dpsIncrease ?? 0); │
│ const max = Math.max(...items.map(metric), 0); │
│ - const min = String(effectiveSort) === "percent" || String(effectiveSort) === "d │
│ ps" || String(effectiveSort) === "max" || String(effectiveSort) === "min" ? 0 : Ma │
│ th.min(...items.map(metric), max); │
│ + const min = │
│ + String(effectiveSort) === "percent" || │
│ + String(effectiveSort) === "dps" || │
│ + String(effectiveSort) === "max" || │
│ + String(effectiveSort) === "min" │
│ + ? 0 │
│ + : Math.min(...items.map(metric), max); │
│ │
│ const bars = items │
│ .map((it, idx) => { │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...nt/sim-chart/render/charts.ts ───┐
│ diff --git a/web/src/client/sim-chart/render │
│ /charts.ts b/web/src/client/sim-chart/render │
│ /charts.ts │
│ index b62d360..0a0c942 100644 │
│ --- a/web/src/client/sim-chart/render/charts │
│ .ts │
│ +++ b/web/src/client/sim-chart/render/charts │
│ .ts │
│ @@ -53,7 +53,12 @@ export function renderRan │
│ kingsChartHTML( │
│ ? it.stdev │
│ : it.value; │
│ const max = Math.max(...items.map(metric) │
│ , 0); │
│ - const min = String(sortBy) === "dps" || S │
│ tring(sortBy) === "max" || String(sortBy) == │
│ = "min" ? 0 : Math.min(...items.map(metric), │
│ max); │
│ + const min = │
│ + String(sortBy) === "dps" || │
│ + String(sortBy) === "max" || │
│ + String(sortBy) === "min" │
│ + ? 0 │
│ + : Math.min(...items.map(metric), max) │
│ ; │
│ │
│ const bars = items │
│ .map((it, idx) => { │
│ @@ -170,14 +175,20 @@ export function render │
│ ComparisonChartHTML( │
│ String(effectiveSort) === "percent" │
│ ? (it.percent ?? 0) │
│ : String(effectiveSort) === "max" │
│ - ? (it as any).maxIncrease ?? 0 │
│ + ? ((it as any).maxIncrease ?? 0) │
│ : String(effectiveSort) === "min" │
│ - ? (it as any).minIncrease ?? 0 │
│ + ? ((it as any).minIncrease ?? 0) │
│ : String(effectiveSort) === "stde │
│ v" │
│ ? it.stdev │
│ - : (it as any).dpsIncrease ?? 0; │
│ + : ((it as any).dpsIncrease ?? 0 │
│ ); │
│ const max = Math.max(...items.map(metric) │
│ , 0); │
│ - const min = String(effectiveSort) === "pe │
│ rcent" || String(effectiveSort) === "dps" || │
│ String(effectiveSort) === "max" || String(e │
│ ffectiveSort) === "min" ? 0 : Math.min(...it │
│ ems.map(metric), max); │
│ + const min = │
│ + String(effectiveSort) === "percent" || │
│ + String(effectiveSort) === "dps" || │
│ + String(effectiveSort) === "max" || │
│ + String(effectiveSort) === "min" │
│ + ? 0 │
│ + : Math.min(...items.map(metric), max) │
│ ; │
│ │
│ const bars = items │
│ .map((it, idx) => { │
└──────────────────────────────────────────────┘
┌─ web/src/client/sim-chart/sorting.ts ──────────────────────────────────────┐
│ diff --git a/web/src/client/sim-chart/sorting.ts b/web/src/client/sim-chart/sortin │
│ g.ts │
│ index 269c6dc..28e3829 100644 │
│ --- a/web/src/client/sim-chart/sorting.ts │
│ +++ b/web/src/client/sim-chart/sorting.ts │
│ @@ -1,6 +1,11 @@ │
│ export type SortBy = "dps" | "max" | "min" | "stdev" | "percent" | string; │
│ │
│ -export function calculateBarWidth(value: number, max: number, min: number, sortBy │
│ ?: SortBy) { │
│ +export function calculateBarWidth( │
│ + value: number, │
│ + max: number, │
│ + min: number, │
│ + sortBy?: SortBy, │
│ +) { │
│ const valueRange = max - min; │
│ if (valueRange <= 0) return 100; │
│ return ((value - min) / valueRange) * 100; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...c/client/sim-chart/sorting.ts ───┐
│ diff --git a/web/src/client/sim-chart/sortin │
│ g.ts b/web/src/client/sim-chart/sorting.ts │
│ index 269c6dc..28e3829 100644 │
│ --- a/web/src/client/sim-chart/sorting.ts │
│ +++ b/web/src/client/sim-chart/sorting.ts │
│ @@ -1,6 +1,11 @@ │
│ export type SortBy = "dps" | "max" | "min" │
│ | "stdev" | "percent" | string; │
│ │
│ -export function calculateBarWidth(value: nu │
│ mber, max: number, min: number, sortBy?: Sor │
│ tBy) { │
│ +export function calculateBarWidth( │
│ + value: number, │
│ + max: number, │
│ + min: number, │
│ + sortBy?: SortBy, │
│ +) { │
│ const valueRange = max - min; │
│ if (valueRange <= 0) return 100; │
│ return ((value - min) / valueRange) * 100 │
│ ; │
└──────────────────────────────────────────────┘
┌─ ...ents/Leaderboard/LeaderboardScopeFilter/LeaderboardScopeFilter.scss ───┐
│ diff --git a/web/src/components/Leaderboard/LeaderboardScopeFilter/LeaderboardScop │
│ eFilter.scss b/web/src/components/Leaderboard/LeaderboardScopeFilter/LeaderboardSc │
│ opeFilter.scss │
│ index f1ee7f1..fd5a67d 100644 │
│ --- a/web/src/components/Leaderboard/LeaderboardScopeFilter/LeaderboardScopeFilter │
│ .scss │
│ +++ b/web/src/components/Leaderboard/LeaderboardScopeFilter/LeaderboardScopeFilter │
│ .scss │
│ @@ -6,4 +6,3 @@ │
│ gap: 16px; │
│ flex-wrap: wrap; │
│ } │
│ - │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...r/LeaderboardScopeFilter.scss ───┐
│ diff --git a/web/src/components/Leaderboard/ │
│ LeaderboardScopeFilter/LeaderboardScopeFilte │
│ r.scss b/web/src/components/Leaderboard/Lead │
│ erboardScopeFilter/LeaderboardScopeFilter.sc │
│ ss │
│ index f1ee7f1..fd5a67d 100644 │
│ --- a/web/src/components/Leaderboard/Leaderb │
│ oardScopeFilter/LeaderboardScopeFilter.scss │
│ +++ b/web/src/components/Leaderboard/Leaderb │
│ oardScopeFilter/LeaderboardScopeFilter.scss │
│ @@ -6,4 +6,3 @@ │
│ gap: 16px; │
│ flex-wrap: wrap; │
│ } │
│ - │
└──────────────────────────────────────────────┘
┌─ ...ts/Leaderboard/RegionRealmFilterSelect/RegionRealmFilterSelect.scss ───┐
│ diff --git a/web/src/components/Leaderboard/RegionRealmFilterSelect/RegionRealmFil │
│ terSelect.scss b/web/src/components/Leaderboard/RegionRealmFilterSelect/RegionReal │
│ mFilterSelect.scss │
│ index 3d5b0bc..4623d9f 100644 │
│ --- a/web/src/components/Leaderboard/RegionRealmFilterSelect/RegionRealmFilterSele │
│ ct.scss │
│ +++ b/web/src/components/Leaderboard/RegionRealmFilterSelect/RegionRealmFilterSele │
│ ct.scss │
│ @@ -6,4 +6,3 @@ │
│ gap: 16px; │
│ flex-wrap: wrap; │
│ } │
│ - │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../RegionRealmFilterSelect.scss ───┐
│ diff --git a/web/src/components/Leaderboard/ │
│ RegionRealmFilterSelect/RegionRealmFilterSel │
│ ect.scss b/web/src/components/Leaderboard/Re │
│ gionRealmFilterSelect/RegionRealmFilterSelec │
│ t.scss │
│ index 3d5b0bc..4623d9f 100644 │
│ --- a/web/src/components/Leaderboard/RegionR │
│ ealmFilterSelect/RegionRealmFilterSelect.scs │
│ s │
│ +++ b/web/src/components/Leaderboard/RegionR │
│ ealmFilterSelect/RegionRealmFilterSelect.scs │
│ s │
│ @@ -6,4 +6,3 @@ │
│ gap: 16px; │
│ flex-wrap: wrap; │
│ } │
│ - │
└──────────────────────────────────────────────┘
┌─ ...c/components/PlayerProfile/ClassFilterSelect/ClassFilterSelect.scss ───┐
│ diff --git a/web/src/components/PlayerProfile/ClassFilterSelect/ClassFilterSelect. │
│ scss b/web/src/components/PlayerProfile/ClassFilterSelect/ClassFilterSelect.scss │
│ index 0a3794f..cdd00f7 100644 │
│ --- a/web/src/components/PlayerProfile/ClassFilterSelect/ClassFilterSelect.scss │
│ +++ b/web/src/components/PlayerProfile/ClassFilterSelect/ClassFilterSelect.scss │
│ @@ -20,7 +20,9 @@ │
│ font-size: $font-size-md; │
│ cursor: pointer; │
│ min-width: 180px; │
│ - transition: border-color 0.2s ease, box-shadow 0.2s ease; │
│ + transition: │
│ + border-color 0.2s ease, │
│ + box-shadow 0.2s ease; │
│ │
│ &:hover { │
│ border-color: var(--highlight-color); │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...Select/ClassFilterSelect.scss ───┐
│ diff --git a/web/src/components/PlayerProfil │
│ e/ClassFilterSelect/ClassFilterSelect.scss b │
│ /web/src/components/PlayerProfile/ClassFilte │
│ rSelect/ClassFilterSelect.scss │
│ index 0a3794f..cdd00f7 100644 │
│ --- a/web/src/components/PlayerProfile/Class │
│ FilterSelect/ClassFilterSelect.scss │
│ +++ b/web/src/components/PlayerProfile/Class │
│ FilterSelect/ClassFilterSelect.scss │
│ @@ -20,7 +20,9 @@ │
│ font-size: $font-size-md; │
│ cursor: pointer; │
│ min-width: 180px; │
│ - transition: border-color 0.2s ease, box │
│ -shadow 0.2s ease; │
│ + transition: │
│ + border-color 0.2s ease, │
│ + box-shadow 0.2s ease; │
│ │
│ &:hover { │
│ border-color: var(--highlight-color); │
└──────────────────────────────────────────────┘
┌─ web/src/components/PlayerProfile/PlayerBestRuns/PlayerBestRuns.scss ──────┐
│ diff --git a/web/src/components/PlayerProfile/PlayerBestRuns/PlayerBestRuns.scss b │
│ /web/src/components/PlayerProfile/PlayerBestRuns/PlayerBestRuns.scss │
│ index 32a8c56..4c1b23c 100644 │
│ --- a/web/src/components/PlayerProfile/PlayerBestRuns/PlayerBestRuns.scss │
│ +++ b/web/src/components/PlayerProfile/PlayerBestRuns/PlayerBestRuns.scss │
│ @@ -34,7 +34,6 @@ │
│ // Mobile layout │
│ @media (max-width: 1024px) { │
│ .player-best-runs { │
│ - │
│ .table-container[data-mode="best-runs"] { │
│ .table-row { │
│ display: grid; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...rBestRuns/PlayerBestRuns.scss ───┐
│ diff --git a/web/src/components/PlayerProfil │
│ e/PlayerBestRuns/PlayerBestRuns.scss b/web/s │
│ rc/components/PlayerProfile/PlayerBestRuns/P │
│ layerBestRuns.scss │
│ index 32a8c56..4c1b23c 100644 │
│ --- a/web/src/components/PlayerProfile/Playe │
│ rBestRuns/PlayerBestRuns.scss │
│ +++ b/web/src/components/PlayerProfile/Playe │
│ rBestRuns/PlayerBestRuns.scss │
│ @@ -34,7 +34,6 @@ │
│ // Mobile layout │
│ @media (max-width: 1024px) { │
│ .player-best-runs { │
│ - │
│ .table-container[data-mode="best-runs"] │
│ { │
│ .table-row { │
│ display: grid; │
└──────────────────────────────────────────────┘
┌─ web/src/components/PlayerProfile/PlayerHeader/PlayerHeader.astro ─────────┐
│ diff --git a/web/src/components/PlayerProfile/PlayerHeader/PlayerHeader.astro b/we │
│ b/src/components/PlayerProfile/PlayerHeader/PlayerHeader.astro │
│ index ab7d353..76ad81f 100644 │
│ --- a/web/src/components/PlayerProfile/PlayerHeader/PlayerHeader.astro │
│ +++ b/web/src/components/PlayerProfile/PlayerHeader/PlayerHeader.astro │
│ @@ -2,7 +2,10 @@ │
│ import { formatDurationMMSS } from "../../../lib/utils"; │
│ import { formatRankingWithBracket } from "../../../lib/ranking-utils"; │
│ import { getClassTextClass } from "../../../lib/wow-constants"; │
│ -import { getEffectiveRealmSlug, getRealmDisplayName } from "../../../lib/realms"; │
│ +import { │
│ + getEffectiveRealmSlug, │
│ + getRealmDisplayName, │
│ +} from "../../../lib/realms"; │
│ import "./PlayerHeader.scss"; │
│ │
│ interface SeasonData { │
│ @@ -80,7 +83,9 @@ const avatarUrl = player.avatar_url │
│ </div> │
│ │
│ <div class="player-info-column"> │
│ - <h1 class={`player-name ${getClassTextClass(player.class_name || "common")}`} │
│ > │
│ + <h1 │
│ + class={`player-name ${getClassTextClass(player.class_name || "common")}`} │
│ + > │
│ {player.name} │
│ </h1> │
│ { │
│ @@ -136,7 +141,9 @@ const avatarUrl = player.avatar_url │
│ </div> │
│ │
│ <div class="ranking-column"> │
│ - <div class="stat-label">{leaderboardRealmLabel || player.realm_name || player │
│ .realm_slug} Rank</div> │
│ + <div class="stat-label"> │
│ + {leaderboardRealmLabel || player.realm_name || player.realm_slug} Rank │
│ + </div> │
│ <div │
│ class="stat-value" │
│ set:html={formatRankingWithBracket( │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...ayerHeader/PlayerHeader.astro ───┐
│ diff --git a/web/src/components/PlayerProfil │
│ e/PlayerHeader/PlayerHeader.astro b/web/src/ │
│ components/PlayerProfile/PlayerHeader/Player │
│ Header.astro │
│ index ab7d353..76ad81f 100644 │
│ --- a/web/src/components/PlayerProfile/Playe │
│ rHeader/PlayerHeader.astro │
│ +++ b/web/src/components/PlayerProfile/Playe │
│ rHeader/PlayerHeader.astro │
│ @@ -2,7 +2,10 @@ │
│ import { formatDurationMMSS } from "../../. │
│ ./lib/utils"; │
│ import { formatRankingWithBracket } from ". │
│ ./../../lib/ranking-utils"; │
│ import { getClassTextClass } from "../../.. │
│ /lib/wow-constants"; │
│ -import { getEffectiveRealmSlug, getRealmDis │
│ playName } from "../../../lib/realms"; │
│ +import { │
│ + getEffectiveRealmSlug, │
│ + getRealmDisplayName, │
│ +} from "../../../lib/realms"; │
│ import "./PlayerHeader.scss"; │
│ │
│ interface SeasonData { │
│ @@ -80,7 +83,9 @@ const avatarUrl = player.a │
│ vatar_url │
│ </div> │
│ │
│ <div class="player-info-column"> │
│ - <h1 class={`player-name ${getClassTextC │
│ lass(player.class_name || "common")}`}> │
│ + <h1 │
│ + class={`player-name ${getClassTextCla │
│ ss(player.class_name || "common")}`} │
│ + > │
│ {player.name} │
│ </h1> │
│ { │
│ @@ -136,7 +141,9 @@ const avatarUrl = player │
│ .avatar_url │
│ </div> │
│ │
│ <div class="ranking-column"> │
│ - <div class="stat-label">{leaderboardRea │
│ lmLabel || player.realm_name || player.realm │
│ _slug} Rank</div> │
│ + <div class="stat-label"> │
│ + {leaderboardRealmLabel || player.real │
│ m_name || player.realm_slug} Rank │
│ + </div> │
│ <div │
│ class="stat-value" │
│ set:html={formatRankingWithBracket( │
└──────────────────────────────────────────────┘
┌─ web/src/components/PlayerSearch/PlayerSearch.scss ────────────────────────┐
│ diff --git a/web/src/components/PlayerSearch/PlayerSearch.scss b/web/src/component │
│ s/PlayerSearch/PlayerSearch.scss │
│ index 813f04c..781bcd0 100644 │
│ --- a/web/src/components/PlayerSearch/PlayerSearch.scss │
│ +++ b/web/src/components/PlayerSearch/PlayerSearch.scss │
│ @@ -4,7 +4,6 @@ │
│ margin-bottom: 24px; │
│ } │
│ │
│ - │
│ .search-input-wrapper { │
│ position: relative; │
│ display: flex; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...layerSearch/PlayerSearch.scss ───┐
│ diff --git a/web/src/components/PlayerSearch │
│ /PlayerSearch.scss b/web/src/components/Play │
│ erSearch/PlayerSearch.scss │
│ index 813f04c..781bcd0 100644 │
│ --- a/web/src/components/PlayerSearch/Player │
│ Search.scss │
│ +++ b/web/src/components/PlayerSearch/Player │
│ Search.scss │
│ @@ -4,7 +4,6 @@ │
│ margin-bottom: 24px; │
│ } │
│ │
│ - │
│ .search-input-wrapper { │
│ position: relative; │
│ display: flex; │
└──────────────────────────────────────────────┘
┌─ web/src/components/Table/Table.scss ──────────────────────────────────────┐
│ diff --git a/web/src/components/Table/Table.scss b/web/src/components/Table/Table. │
│ scss │
│ index e51a080..f28e911 100644 │
│ --- a/web/src/components/Table/Table.scss │
│ +++ b/web/src/components/Table/Table.scss │
│ @@ -51,7 +51,6 @@ │
│ │
│ // Grid Templates for different table modes │
│ .table-container[data-mode="status"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 200px 120px 2fr 200px 220px 90px; │
│ @@ -59,7 +58,6 @@ │
│ } │
│ │
│ .table-container[data-mode="leaderboard"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 80px 120px 2fr 120px; │
│ @@ -67,7 +65,6 @@ │
│ } │
│ │
│ .table-container[data-mode="players"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 80px 2fr 1.5fr 140px; │
│ @@ -75,7 +72,6 @@ │
│ } │
│ │
│ .table-container[data-mode="best-runs"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 200px 120px 2fr 100px 100px 100px; │
│ @@ -105,7 +101,6 @@ │
│ // Responsive │
│ @media (max-width: 920px) { │
│ .table-container[data-mode="status"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 1fr 0.6fr 1.2fr 0.8fr 0.6fr 0.5fr; │
│ @@ -247,5 +242,4 @@ │
│ margin-top: 4px; │
│ } │
│ } │
│ - │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...c/components/Table/Table.scss ───┐
│ diff --git a/web/src/components/Table/Table. │
│ scss b/web/src/components/Table/Table.scss │
│ index e51a080..f28e911 100644 │
│ --- a/web/src/components/Table/Table.scss │
│ +++ b/web/src/components/Table/Table.scss │
│ @@ -51,7 +51,6 @@ │
│ │
│ // Grid Templates for different table modes │
│ .table-container[data-mode="status"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 200px 120px 2fr │
│ 200px 220px 90px; │
│ @@ -59,7 +58,6 @@ │
│ } │
│ │
│ .table-container[data-mode="leaderboard"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 80px 120px 2fr 1 │
│ 20px; │
│ @@ -67,7 +65,6 @@ │
│ } │
│ │
│ .table-container[data-mode="players"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 80px 2fr 1.5fr 1 │
│ 40px; │
│ @@ -75,7 +72,6 @@ │
│ } │
│ │
│ .table-container[data-mode="best-runs"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 200px 120px 2fr │
│ 100px 100px 100px; │
│ @@ -105,7 +101,6 @@ │
│ // Responsive │
│ @media (max-width: 920px) { │
│ .table-container[data-mode="status"] { │
│ - │
│ .table-header, │
│ .table-row { │
│ grid-template-columns: 1fr 0.6fr 1.2f │
│ r 0.8fr 0.6fr 0.5fr; │
│ @@ -247,5 +242,4 @@ │
│ margin-top: 4px; │
│ } │
│ } │
│ - │
│ } │
└──────────────────────────────────────────────┘
┌─ web/src/lib/api.ts ───────────────────────────────────────────────────────┐
│ diff --git a/web/src/lib/api.ts b/web/src/lib/api.ts │
│ index c70680e..db9d666 100644 │
│ --- a/web/src/lib/api.ts │
│ +++ b/web/src/lib/api.ts │
│ @@ -115,11 +115,32 @@ export async function fetchLeaderboard( │
│ seasonId: number = 1, │
│ ): Promise<LeaderboardData> { │
│ if (region === "global") { │
│ - return fetchGlobalLeaderboard(dungeonId, page, teamFilter, origin, seasonId); │
│ + return fetchGlobalLeaderboard( │
│ + dungeonId, │
│ + page, │
│ + teamFilter, │
│ + origin, │
│ + seasonId, │
│ + ); │
│ } else if (realm === "all") { │
│ - return fetchRegionalLeaderboard(region, dungeonId, page, teamFilter, origin, │
│ seasonId); │
│ + return fetchRegionalLeaderboard( │
│ + region, │
│ + dungeonId, │
│ + page, │
│ + teamFilter, │
│ + origin, │
│ + seasonId, │
│ + ); │
│ } else { │
│ - return fetchRealmLeaderboard(region, realm, dungeonId, page, teamFilter, orig │
│ in, seasonId); │
│ + return fetchRealmLeaderboard( │
│ + region, │
│ + realm, │
│ + dungeonId, │
│ + page, │
│ + teamFilter, │
│ + origin, │
│ + seasonId, │
│ + ); │
│ } │
│ } │
│ │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/src/lib/api.ts ─────────────────┐
│ diff --git a/web/src/lib/api.ts b/web/src/li │
│ b/api.ts │
│ index c70680e..db9d666 100644 │
│ --- a/web/src/lib/api.ts │
│ +++ b/web/src/lib/api.ts │
│ @@ -115,11 +115,32 @@ export async function │
│ fetchLeaderboard( │
│ seasonId: number = 1, │
│ ): Promise<LeaderboardData> { │
│ if (region === "global") { │
│ - return fetchGlobalLeaderboard(dungeonId │
│ , page, teamFilter, origin, seasonId); │
│ + return fetchGlobalLeaderboard( │
│ + dungeonId, │
│ + page, │
│ + teamFilter, │
│ + origin, │
│ + seasonId, │
│ + ); │
│ } else if (realm === "all") { │
│ - return fetchRegionalLeaderboard(region, │
│ dungeonId, page, teamFilter, origin, season │
│ Id); │
│ + return fetchRegionalLeaderboard( │
│ + region, │
│ + dungeonId, │
│ + page, │
│ + teamFilter, │
│ + origin, │
│ + seasonId, │
│ + ); │
│ } else { │
│ - return fetchRealmLeaderboard(region, re │
│ alm, dungeonId, page, teamFilter, origin, se │
│ asonId); │
│ + return fetchRealmLeaderboard( │
│ + region, │
│ + realm, │
│ + dungeonId, │
│ + page, │
│ + teamFilter, │
│ + origin, │
│ + seasonId, │
│ + ); │
│ } │
│ } │
│ │
└──────────────────────────────────────────────┘
┌─ web/src/lib/bracket-colors.ts ────────────────────────────────────────────┐
│ diff --git a/web/src/lib/bracket-colors.ts b/web/src/lib/bracket-colors.ts │
│ index e31139d..9f2f8fc 100644 │
│ --- a/web/src/lib/bracket-colors.ts │
│ +++ b/web/src/lib/bracket-colors.ts │
│ @@ -37,7 +37,9 @@ export function getBracketClass(bracket: string | null | undefin │
│ ed): string { │
│ │
│ // Check if bracket is high tier (excellent, legendary or artifact) │
│ export function isHighTierBracket(bracket: string | null | undefined): boolean { │
│ - return bracket === "artifact" || bracket === "excellent" || bracket === "legend │
│ ary"; │
│ + return ( │
│ + bracket === "artifact" || bracket === "excellent" || bracket === "legendary" │
│ + ); │
│ } │
│ │
│ // Get bracket rank priority (lower number = higher priority) │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/src/lib/bracket-colors.ts ──────┐
│ diff --git a/web/src/lib/bracket-colors.ts b │
│ /web/src/lib/bracket-colors.ts │
│ index e31139d..9f2f8fc 100644 │
│ --- a/web/src/lib/bracket-colors.ts │
│ +++ b/web/src/lib/bracket-colors.ts │
│ @@ -37,7 +37,9 @@ export function getBracket │
│ Class(bracket: string | null | undefined): s │
│ tring { │
│ │
│ // Check if bracket is high tier (excellent │
│ , legendary or artifact) │
│ export function isHighTierBracket(bracket: │
│ string | null | undefined): boolean { │
│ - return bracket === "artifact" || bracket │
│ === "excellent" || bracket === "legendary"; │
│ + return ( │
│ + bracket === "artifact" || bracket === " │
│ excellent" || bracket === "legendary" │
│ + ); │
│ } │
│ │
│ // Get bracket rank priority (lower number │
│ = higher priority) │
└──────────────────────────────────────────────┘
┌─ web/src/lib/utils.ts ─────────────────────────────────────────────────────┐
│ diff --git a/web/src/lib/utils.ts b/web/src/lib/utils.ts │
│ index c27a7c1..4c6c386 100644 │
│ --- a/web/src/lib/utils.ts │
│ +++ b/web/src/lib/utils.ts │
│ @@ -182,16 +182,23 @@ export function buildPlayerProfileURL( │
│ // Build Players tab URL path from filters │
│ export function buildPlayersLeaderboardURL( │
│ scope: "global" | "regional" | "realm", │
│ - opts?: { region?: string; realmSlug?: string; classKey?: string; page?: number │
│ }, │
│ + opts?: { │
│ + region?: string; │
│ + realmSlug?: string; │
│ + classKey?: string; │
│ + page?: number; │
│ + }, │
│ ): string { │
│ const cls = (opts?.classKey || "").toLowerCase(); │
│ const reg = (opts?.region || "").toLowerCase(); │
│ const realm = (opts?.realmSlug || "").toLowerCase(); │
│ let path = "/challenge-mode/players"; │
│ if (scope === "global") { │
│ - if (cls) path += `/global/${cls}`; else path += `/global`; │
│ + if (cls) path += `/global/${cls}`; │
│ + else path += `/global`; │
│ } else if (scope === "regional") { │
│ - if (reg) path += `/${reg}`; else path += `/us`; │
│ + if (reg) path += `/${reg}`; │
│ + else path += `/us`; │
│ if (cls) path += `/${cls}`; │
│ } else if (scope === "realm") { │
│ if (reg) path += `/${reg}`; │
│ @@ -383,7 +390,9 @@ export function filterByRegion<T extends { region?: string }>( │
│ ): T[] { │
│ if (!region) return items; │
│ const normalized = region.toLowerCase(); │
│ - return items.filter((item) => (item.region || "").toLowerCase() === normalized) │
│ ; │
│ + return items.filter( │
│ + (item) => (item.region || "").toLowerCase() === normalized, │
│ + ); │
│ } │
│ │
│ export function safeArray<T>(value: any): T[] { │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/src/lib/utils.ts ───────────────┐
│ diff --git a/web/src/lib/utils.ts b/web/src/ │
│ lib/utils.ts │
│ index c27a7c1..4c6c386 100644 │
│ --- a/web/src/lib/utils.ts │
│ +++ b/web/src/lib/utils.ts │
│ @@ -182,16 +182,23 @@ export function buildP │
│ layerProfileURL( │
│ // Build Players tab URL path from filters │
│ export function buildPlayersLeaderboardURL( │
│ scope: "global" | "regional" | "realm", │
│ - opts?: { region?: string; realmSlug?: str │
│ ing; classKey?: string; page?: number }, │
│ + opts?: { │
│ + region?: string; │
│ + realmSlug?: string; │
│ + classKey?: string; │
│ + page?: number; │
│ + }, │
│ ): string { │
│ const cls = (opts?.classKey || "").toLowe │
│ rCase(); │
│ const reg = (opts?.region || "").toLowerC │
│ ase(); │
│ const realm = (opts?.realmSlug || "").toL │
│ owerCase(); │
│ let path = "/challenge-mode/players"; │
│ if (scope === "global") { │
│ - if (cls) path += `/global/${cls}`; else │
│ path += `/global`; │
│ + if (cls) path += `/global/${cls}`; │
│ + else path += `/global`; │
│ } else if (scope === "regional") { │
│ - if (reg) path += `/${reg}`; else path + │
│ = `/us`; │
│ + if (reg) path += `/${reg}`; │
│ + else path += `/us`; │
│ if (cls) path += `/${cls}`; │
│ } else if (scope === "realm") { │
│ if (reg) path += `/${reg}`; │
│ @@ -383,7 +390,9 @@ export function filterBy │
│ Region<T extends { region?: string }>( │
│ ): T[] { │
│ if (!region) return items; │
│ const normalized = region.toLowerCase(); │
│ - return items.filter((item) => (item.regio │
│ n || "").toLowerCase() === normalized); │
│ + return items.filter( │
│ + (item) => (item.region || "").toLowerCa │
│ se() === normalized, │
│ + ); │
│ } │
│ │
│ export function safeArray<T>(value: any): T │
│ [] { │
└──────────────────────────────────────────────┘
┌─ web/src/pages/challenge-mode/[season]/[...slug].astro ────────────────────┐
│ diff --git a/web/src/pages/challenge-mode/[season]/[...slug].astro b/web/src/pages │
│ /challenge-mode/[season]/[...slug].astro │
│ index 7f7fa7d..4414cf9 100644 │
│ --- a/web/src/pages/challenge-mode/[season]/[...slug].astro │
│ +++ b/web/src/pages/challenge-mode/[season]/[...slug].astro │
│ @@ -26,8 +26,7 @@ const pathSegments = Astro.url.pathname.split("/").filter(Boolea │
│ n); │
│ const seasonIdx = pathSegments.findIndex((segment) => │
│ /^season\d+$/i.test(segment), │
│ ); │
│ -const slugParts = │
│ - seasonIdx >= 0 ? pathSegments.slice(seasonIdx + 1) : []; │
│ +const slugParts = seasonIdx >= 0 ? pathSegments.slice(seasonIdx + 1) : []; │
│ │
│ // defaults │
│ let regionParam = "global"; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...mode/[season]/[...slug].astro ───┐
│ diff --git a/web/src/pages/challenge-mode/[s │
│ eason]/[...slug].astro b/web/src/pages/chall │
│ enge-mode/[season]/[...slug].astro │
│ index 7f7fa7d..4414cf9 100644 │
│ --- a/web/src/pages/challenge-mode/[season]/ │
│ [...slug].astro │
│ +++ b/web/src/pages/challenge-mode/[season]/ │
│ [...slug].astro │
│ @@ -26,8 +26,7 @@ const pathSegments = Astro │
│ .url.pathname.split("/").filter(Boolean); │
│ const seasonIdx = pathSegments.findIndex((s │
│ egment) => │
│ /^season\d+$/i.test(segment), │
│ ); │
│ -const slugParts = │
│ - seasonIdx >= 0 ? pathSegments.slice(seaso │
│ nIdx + 1) : []; │
│ +const slugParts = seasonIdx >= 0 ? pathSegm │
│ ents.slice(seasonIdx + 1) : []; │
│ │
│ // defaults │
│ let regionParam = "global"; │
└──────────────────────────────────────────────┘
┌─ web/src/pages/player/[...slug].astro ─────────────────────────────────────┐
│ diff --git a/web/src/pages/player/[...slug].astro b/web/src/pages/player/[...slug] │
│ .astro │
│ index 16cbec2..292686e 100644 │
│ --- a/web/src/pages/player/[...slug].astro │
│ +++ b/web/src/pages/player/[...slug].astro │
│ @@ -18,7 +18,12 @@ let error: string | null = null; │
│ if (region && realmSlug && playerName) { │
│ try { │
│ const origin = Astro.url?.origin || Astro.site || ""; │
│ - playerData = await fetchPlayerProfile(region, realmSlug, playerName, origin); │
│ + playerData = await fetchPlayerProfile( │
│ + region, │
│ + realmSlug, │
│ + playerName, │
│ + origin, │
│ + ); │
│ } catch (err: any) { │
│ console.error("[PlayerPage] Error fetching player data:", err); │
│ error = err.message || "Failed to load player data"; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../pages/player/[...slug].astro ───┐
│ diff --git a/web/src/pages/player/[...slug]. │
│ astro b/web/src/pages/player/[...slug].astro │
│ index 16cbec2..292686e 100644 │
│ --- a/web/src/pages/player/[...slug].astro │
│ +++ b/web/src/pages/player/[...slug].astro │
│ @@ -18,7 +18,12 @@ let error: string | null │
│ = null; │
│ if (region && realmSlug && playerName) { │
│ try { │
│ const origin = Astro.url?.origin || Ast │
│ ro.site || ""; │
│ - playerData = await fetchPlayerProfile(r │
│ egion, realmSlug, playerName, origin); │
│ + playerData = await fetchPlayerProfile( │
│ + region, │
│ + realmSlug, │
│ + playerName, │
│ + origin, │
│ + ); │
│ } catch (err: any) { │
│ console.error("[PlayerPage] Error fetch │
│ ing player data:", err); │
│ error = err.message || "Failed to load │
│ player data"; │
└──────────────────────────────────────────────┘
┌─ web/src/styles/abstracts/_index.scss ─────────────────────────────────────┐
│ diff --git a/web/src/styles/abstracts/_index.scss b/web/src/styles/abstracts/_inde │
│ x.scss │
│ index 7011938..5811af4 100644 │
│ --- a/web/src/styles/abstracts/_index.scss │
│ +++ b/web/src/styles/abstracts/_index.scss │
│ @@ -1 +1 @@ │
│ -@forward 'colors'; │
│ +@forward "colors"; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../styles/abstracts/_index.scss ───┐
│ diff --git a/web/src/styles/abstracts/_index │
│ .scss b/web/src/styles/abstracts/_index.scss │
│ index 7011938..5811af4 100644 │
│ --- a/web/src/styles/abstracts/_index.scss │
│ +++ b/web/src/styles/abstracts/_index.scss │
│ @@ -1 +1 @@ │
│ -@forward 'colors'; │
│ +@forward "colors"; │
└──────────────────────────────────────────────┘
┌─ web/src/styles/components.scss ───────────────────────────────────────────┐
│ diff --git a/web/src/styles/components.scss b/web/src/styles/components.scss │
│ index f0c16f2..f111ad6 100644 │
│ --- a/web/src/styles/components.scss │
│ +++ b/web/src/styles/components.scss │
│ @@ -430,7 +430,6 @@ │
│ } │
│ │
│ @keyframes dots { │
│ - │
│ 0%, │
│ 20% { │
│ content: ""; │
│ @@ -484,7 +483,6 @@ │
│ } │
│ } │
│ │
│ - │
│ .leaderboard-table { │
│ display: table; │
│ width: 100%; │
│ @@ -631,7 +629,6 @@ │
│ } │
│ } │
│ │
│ - │
│ .mobile-card-header { │
│ display: flex; │
│ justify-content: space-between; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/src/styles/components.scss ─────┐
│ diff --git a/web/src/styles/components.scss │
│ b/web/src/styles/components.scss │
│ index f0c16f2..f111ad6 100644 │
│ --- a/web/src/styles/components.scss │
│ +++ b/web/src/styles/components.scss │
│ @@ -430,7 +430,6 @@ │
│ } │
│ │
│ @keyframes dots { │
│ - │
│ 0%, │
│ 20% { │
│ content: ""; │
│ @@ -484,7 +483,6 @@ │
│ } │
│ } │
│ │
│ - │
│ .leaderboard-table { │
│ display: table; │
│ width: 100%; │
│ @@ -631,7 +629,6 @@ │
│ } │
│ } │
│ │
│ - │
│ .mobile-card-header { │
│ display: flex; │
│ justify-content: space-between; │
└──────────────────────────────────────────────┘
┌─ web/src/styles/core/_utilities.scss ──────────────────────────────────────┐
│ diff --git a/web/src/styles/core/_utilities.scss b/web/src/styles/core/_utilities. │
│ scss │
│ index e275356..b03fc73 100644 │
│ --- a/web/src/styles/core/_utilities.scss │
│ +++ b/web/src/styles/core/_utilities.scss │
│ @@ -472,7 +472,9 @@ │
│ border: 1px solid var(--border-color); │
│ border-radius: $radius-sm; │
│ font-size: $font-size-md; │
│ - transition: border-color 0.2s ease, box-shadow 0.2s ease; │
│ + transition: │
│ + border-color 0.2s ease, │
│ + box-shadow 0.2s ease; │
│ │
│ &:focus { │
│ outline: none; │
│ @@ -518,7 +520,9 @@ │
│ min-width: 140px; │
│ font-size: 0.95em; │
│ cursor: pointer; │
│ - transition: border-color 0.2s ease, box-shadow 0.2s ease; │
│ + transition: │
│ + border-color 0.2s ease, │
│ + box-shadow 0.2s ease; │
│ │
│ &:hover { │
│ border-color: var(--text-secondary); │
│ @@ -547,7 +551,10 @@ │
│ border: 1px solid transparent; │
│ font-weight: $font-weight-semibold; │
│ cursor: pointer; │
│ - transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease │
│ ; │
│ + transition: │
│ + background-color 0.2s ease, │
│ + color 0.2s ease, │
│ + border-color 0.2s ease; │
│ text-decoration: none; │
│ } │
│ │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...c/styles/core/_utilities.scss ───┐
│ diff --git a/web/src/styles/core/_utilities. │
│ scss b/web/src/styles/core/_utilities.scss │
│ index e275356..b03fc73 100644 │
│ --- a/web/src/styles/core/_utilities.scss │
│ +++ b/web/src/styles/core/_utilities.scss │
│ @@ -472,7 +472,9 @@ │
│ border: 1px solid var(--border-color); │
│ border-radius: $radius-sm; │
│ font-size: $font-size-md; │
│ - transition: border-color 0.2s ease, box-s │
│ hadow 0.2s ease; │
│ + transition: │
│ + border-color 0.2s ease, │
│ + box-shadow 0.2s ease; │
│ │
│ &:focus { │
│ outline: none; │
│ @@ -518,7 +520,9 @@ │
│ min-width: 140px; │
│ font-size: 0.95em; │
│ cursor: pointer; │
│ - transition: border-color 0.2s ease, box-s │
│ hadow 0.2s ease; │
│ + transition: │
│ + border-color 0.2s ease, │
│ + box-shadow 0.2s ease; │
│ │
│ &:hover { │
│ border-color: var(--text-secondary); │
│ @@ -547,7 +551,10 @@ │
│ border: 1px solid transparent; │
│ font-weight: $font-weight-semibold; │
│ cursor: pointer; │
│ - transition: background-color 0.2s ease, c │
│ olor 0.2s ease, border-color 0.2s ease; │
│ + transition: │
│ + background-color 0.2s ease, │
│ + color 0.2s ease, │
│ + border-color 0.2s ease; │
│ text-decoration: none; │
│ } │
│ │
└──────────────────────────────────────────────┘
┌─ web/src/styles/utilities/_ui.scss ────────────────────────────────────────┐
│ diff --git a/web/src/styles/utilities/_ui.scss b/web/src/styles/utilities/_ui.scss │
│ index 43ea29b..b045e26 100644 │
│ --- a/web/src/styles/utilities/_ui.scss │
│ +++ b/web/src/styles/utilities/_ui.scss │
│ @@ -1,4 +1,4 @@ │
│ -@use 'abstracts/colors' as *; │
│ +@use "abstracts/colors" as *; │
│ │
│ .border-solid { │
│ border: 1px solid $border-active; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...src/styles/utilities/_ui.scss ───┐
│ diff --git a/web/src/styles/utilities/_ui.sc │
│ ss b/web/src/styles/utilities/_ui.scss │
│ index 43ea29b..b045e26 100644 │
│ --- a/web/src/styles/utilities/_ui.scss │
│ +++ b/web/src/styles/utilities/_ui.scss │
│ @@ -1,4 +1,4 @@ │
│ -@use 'abstracts/colors' as *; │
│ +@use "abstracts/colors" as *; │
│ │
│ .border-solid { │
│ border: 1px solid $border-active; │
└──────────────────────────────────────────────┘
┌─ web/src/styles/variables/_colors.scss ────────────────────────────────────┐
│ diff --git a/web/src/styles/variables/_colors.scss b/web/src/styles/variables/_col │
│ ors.scss │
│ index c80bfde..516cee4 100644 │
│ --- a/web/src/styles/variables/_colors.scss │
│ +++ b/web/src/styles/variables/_colors.scss │
│ @@ -1,6 +1,7 @@ │
│ -@use 'abstracts/colors' as *; │
│ +@use "abstracts/colors" as *; │
│ │
│ :root { │
│ --color-bg-primary: $bg-primary; │
│ - --color-bg-secondary: │
│ + --color-bg-secondary: │
│ +; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...styles/variables/_colors.scss ───┐
│ diff --git a/web/src/styles/variables/_color │
│ s.scss b/web/src/styles/variables/_colors.sc │
│ ss │
│ index c80bfde..516cee4 100644 │
│ --- a/web/src/styles/variables/_colors.scss │
│ +++ b/web/src/styles/variables/_colors.scss │
│ @@ -1,6 +1,7 @@ │
│ -@use 'abstracts/colors' as *; │
│ +@use "abstracts/colors" as *; │
│ │
│ :root { │
│ --color-bg-primary: $bg-primary; │
│ - --color-bg-secondary: │
│ + --color-bg-secondary: │
│ +; │
│ } │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET