From 015028240c968503863c7129c1f91c3848df3955 Mon Sep 17 00:00:00 2001 From: neon <18559658+neonsolstice@users.noreply.github.com> Date: Thu, 8 Jan 2026 11:29:28 -0600 Subject: [PATCH] feat: library background patterns with settings picker --- client/src/assets/main.css | 35 +++++++++++++++++- .../features/settings/AppearanceSettings.vue | 36 ++++++++++++++++++- client/src/stores/theme.ts | 29 ++++++++++++++- client/src/views/HomeView.vue | 7 ++-- server/src/db/migrations/meta/_journal.json | 2 +- 5 files changed, 103 insertions(+), 6 deletions(-) diff --git a/client/src/assets/main.css b/client/src/assets/main.css index 830c89f09..c63984157 100644 --- a/client/src/assets/main.css +++ b/client/src/assets/main.css @@ -331,11 +331,44 @@ html.radius-rounded { --shadow-2xl: var(--elevation-2xl); } -.dot-grid { +.pattern-dots { background-image: radial-gradient(circle, var(--dot-color) 1px, transparent 1px); background-size: 24px 24px; } +.pattern-grid { + background-image: linear-gradient(var(--dot-color) 1px, transparent 1px), linear-gradient(90deg, var(--dot-color) 1px, transparent 1px); + background-size: 32px 32px; +} + +.pattern-cross { + background-image: radial-gradient(circle, var(--dot-color) 1px, transparent 1px), radial-gradient(circle, var(--dot-color) 1px, transparent 1px); + background-size: 24px 24px; + background-position: + 0 0, + 12px 12px; +} + +.pattern-gradient { + background-image: radial-gradient(ellipse 70% 55% at 0% 0%, color-mix(in oklch, var(--primary) 20%, transparent), transparent 65%); +} + +.pattern-aurora { + background-image: + radial-gradient(ellipse 60% 45% at 0% 50%, color-mix(in oklch, var(--primary) 15%, transparent), transparent 100%), + radial-gradient(ellipse 50% 40% at 100% 50%, color-mix(in oklch, var(--primary) 10%, transparent), transparent 100%), + radial-gradient(ellipse 40% 35% at 50% 0%, color-mix(in oklch, var(--primary) 8%, transparent), transparent 100%); +} + +.pattern-rings { + background-image: repeating-radial-gradient(circle at 50% 50%, transparent 0, transparent 28px, var(--dot-color) 29px, transparent 30px); +} + +.pattern-noise { + background-image: url("data:image/svg+xml,"); + background-size: 200px 200px; +} + .glow-wrapper { background-image: url('/topbar.png'), radial-gradient(50% 50% at center -25px, color-mix(in oklch, var(--primary) 35%, transparent) 0%, transparent 100%); diff --git a/client/src/features/settings/AppearanceSettings.vue b/client/src/features/settings/AppearanceSettings.vue index 86e166cf6..d9c94083b 100644 --- a/client/src/features/settings/AppearanceSettings.vue +++ b/client/src/features/settings/AppearanceSettings.vue @@ -1,5 +1,5 @@