From 22ce85192c554a138f81aa8ff3343a54d7aaf682 Mon Sep 17 00:00:00 2001 From: Cameron Custer Date: Sat, 19 Apr 2025 14:11:04 -0700 Subject: [PATCH 1/7] retro theme --- src/app.css | 54 +++++++++++++++---------- src/lib/components/Header.svelte | 56 +++++++++++++++++--------- src/lib/components/ProblemTable.svelte | 50 ++++++++++++++--------- src/lib/theme.js | 7 ++++ 4 files changed, 107 insertions(+), 60 deletions(-) create mode 100644 src/lib/theme.js diff --git a/src/app.css b/src/app.css index 14a18ea..da906d5 100644 --- a/src/app.css +++ b/src/app.css @@ -5,27 +5,25 @@ @layer theme { :root { /* Fonts */ - --font-sans: - Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, - 'Open Sans', 'Helvetica Neue', sans-serif; + --font-sans: 'Courier New', Courier, monospace; --font-mono: 'Fira Mono', monospace; - /* Colors */ + /* Colors - Retro Computer Theme */ --color-white: oklch(1 0 0); --color-black: oklch(0 0 0); - --color-primary: oklch(0.12 0 0); - --color-secondary: oklch(0.19 0 0); - --color-tertiary: oklch(0.28 0 0); - --color-accent: oklch(0.65 0.26 296.88); - --color-heading: oklch(1 0 0 / 0.87); - --color-text: oklch(1 0 0 / 0.6); - --color-text-muted: oklch(1 0 0 / 0.4); - --color-background: oklch(0.19 0 0 / 0.7); - --color-border: oklch(0.44 0 0); - --color-link: oklch(0.65 0.26 296.88); - --color-link-subtle: oklch(0.8 0.1 296.88); - --color-link-nav: oklch(1 0 0 / 0.8); - --color-username: oklch(0.65 0.26 296.88); /* Purple color for usernames */ + --color-primary: oklch(0.85 0.03 140); /* Light mint green background */ + --color-secondary: oklch(0.9 0.02 140); /* Lighter mint green for cards */ + --color-tertiary: oklch(0.8 0.04 140); /* Slightly darker mint for headers */ + --color-accent: oklch(0.6 0.25 30); /* Orange accent */ + --color-heading: oklch(0.2 0 0 / 0.9); /* Dark text for headings */ + --color-text: oklch(0.2 0 0 / 0.8); /* Dark text for body */ + --color-text-muted: oklch(0.2 0 0 / 0.5); /* Muted dark text */ + --color-background: oklch(0.85 0.03 140 / 0.7); /* Transparent mint background */ + --color-border: oklch(0.7 0.05 140); /* Border color */ + --color-link: oklch(0.6 0.25 30); /* Orange links */ + --color-link-subtle: oklch(0.65 0.2 30); /* Subtle orange links */ + --color-link-nav: oklch(0.2 0 0 / 0.9); /* Dark nav links */ + --color-username: oklch(0.5 0.25 270); /* Blue for usernames */ --color-solved-row: color-mix( in oklab, rgb(34 197 94) 15%, @@ -74,6 +72,12 @@ body { background-color: var(--color-primary); color: var(--color-text); overscroll-behavior: none; + font-family: var(--font-sans); + background-image: linear-gradient( + to bottom, + var(--color-primary), + color-mix(in oklab, var(--color-primary) 90%, var(--color-tertiary)) + ); } #app { @@ -190,31 +194,34 @@ img { /* Component styles */ .card { background-color: var(--color-secondary); - border-radius: 0.5rem; + border-radius: 0.25rem; + border: 1px solid var(--color-border); padding: 1.5rem; - box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); + box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1); margin-bottom: 1rem; } .table { width: 100%; border-collapse: collapse; + border: 1px solid var(--color-border); } .table th { text-align: left; padding: 0.75rem; - border-bottom: 1px solid var(--color-tertiary); + border-bottom: 1px solid var(--color-border); color: var(--color-heading); + background-color: var(--color-tertiary); } .table td { padding: 0.75rem; - border-bottom: 1px solid var(--color-tertiary); + border-bottom: 1px solid var(--color-border); } .table tr:hover { - background-color: var(--color-tertiary); + background-color: color-mix(in oklab, var(--color-tertiary) 50%, transparent); } .badge { @@ -228,16 +235,19 @@ img { .badge-easy { background-color: oklch(0.73 0.2 142.5); color: white; + border: 1px solid oklch(0.63 0.2 142.5); } .badge-medium { background-color: oklch(0.71 0.19 54.65); color: white; + border: 1px solid oklch(0.61 0.19 54.65); } .badge-hard { background-color: oklch(0.65 0.27 29.23); color: white; + border: 1px solid oklch(0.55 0.27 29.23); } /* Responsive utilities */ diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte index bf7cbd1..5475327 100644 --- a/src/lib/components/Header.svelte +++ b/src/lib/components/Header.svelte @@ -123,7 +123,9 @@ $: if ($page) { } -
+
{:else} {:else}