From 77ff08f737e3cec90cb4ebe62f218916c13517a1 Mon Sep 17 00:00:00 2001 From: Sangelo Date: Tue, 11 Jun 2024 23:12:19 +0200 Subject: [PATCH] [c] progress on modlist page --- package.json | 1 + src/app.scss | 68 ++++++++++++++++----------------- src/lib/common.ts | 15 ++++++++ src/lib/modules/ModCards.svelte | 67 ++++++++++++++++++++++++++------ src/routes/+layout.svelte | 61 +++++++++++++++++++++++++++-- src/routes/Header.svelte | 2 +- src/routes/modlist/+page.svelte | 11 ------ src/variables.scss | 7 ++++ yarn.lock | 5 +++ 9 files changed, 175 insertions(+), 62 deletions(-) create mode 100644 src/lib/common.ts diff --git a/package.json b/package.json index 1805027..5896d37 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@sveltejs/kit": "^1.20.5", "sass": "^1.62.0", "svelte": "^3.54.0", + "svelte-material-icons": "^3.0.5", "svelte-preprocess": "^5.0.3", "vite": "^4.3.0" }, diff --git a/src/app.scss b/src/app.scss index c14cb0c..ea53e23 100644 --- a/src/app.scss +++ b/src/app.scss @@ -13,45 +13,11 @@ h1, h2, h3, h4, h5, h6, body { // color: #000000; } -/* Green Light scheme (Default) */ -/* Can be forced with data-theme="light" */ [data-theme="light"], :root:not([data-theme="dark"]) { - --primary: #43a047; - --primary-hover: #388e3c; - --primary-focus: rgba(67, 160, 71, 0.125); - --primary-inverse: #FFF; background-color: #FAF9F6; } -/* Green Dark scheme (Auto) */ -/* Automatically enabled if user has Dark mode enabled */ -@media only screen and (prefers-color-scheme: dark) { - :root:not([data-theme]) { - --primary: #43a047; - --primary-hover: #4caf50; - --primary-focus: rgba(67, 160, 71, 0.25); - --primary-inverse: #FFF; - } -} - -/* Green Dark scheme (Forced) */ -/* Enabled if forced with data-theme="dark" */ -[data-theme="dark"] { - --primary: #43a047; - --primary-hover: #4caf50; - --primary-focus: rgba(67, 160, 71, 0.25); - --primary-inverse: #FFF; -} - -/* Green (Common styles) */ -:root { - --form-element-active-border-color: var(--primary); - --form-element-focus-color: var(--primary-focus); - --switch-color: var(--primary-inverse); - --switch-checked-background-color: var(--primary); -} - p, li { cursor: text; } @@ -60,3 +26,37 @@ article { border-radius: 10px; box-shadow: 0px 0px 15px rgba(32, 32, 32, 0.2); } + +[role="button"].card { + background-color: $zinc-100; + border-color: $zinc-50; + p { + color: black; + } +} + +button.transparent, +[role="button"].transparent { + --pico-background-color: var(--pico-form-element-background-color); + --pico-border-color: var(--pico-form-element-border-color); + border-left: none; + border-right: none; + color: black; + + &:focus { + outline: none; + } +} + +[data-theme="dark"] button.transparent, +[data-theme="dark"] [role="button"].transparent { + color: white; +} + +[data-theme="dark"] [role="button"].card { + background-color: $slate-800; + border-color: $slate-750; + p { + color: white; + } +} diff --git a/src/lib/common.ts b/src/lib/common.ts new file mode 100644 index 0000000..1013a3c --- /dev/null +++ b/src/lib/common.ts @@ -0,0 +1,15 @@ +export function smoothScrollTo(elementId: string) { + const element = document.getElementById(elementId); + if (element) { + element.scrollIntoView({ + behavior: 'smooth' + }); + } +} + +export function handleKeydown(elementId: string, event: KeyboardEvent) { + // Trigger redirection on Enter key or Space bar + if (event.key === 'Enter' || event.key === ' ') { + smoothScrollTo(elementId); + } +} diff --git a/src/lib/modules/ModCards.svelte b/src/lib/modules/ModCards.svelte index 1888744..a815bd0 100644 --- a/src/lib/modules/ModCards.svelte +++ b/src/lib/modules/ModCards.svelte @@ -1,10 +1,30 @@
- + +
+
+ View Optional Mods +

@@ -50,7 +81,7 @@ {#each fuzzySearch(searchQuery, mods.mods).slice(index * 3, (index + 1) * 3) as mod} \ No newline at end of file + + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 44f602a..2b9f087 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,9 +1,36 @@
@@ -18,14 +45,29 @@ {/key} + + smoothScrollTo("header")} + on:keydown={(event) => handleKeydown("header", event)} + > + Top + +
- diff --git a/src/variables.scss b/src/variables.scss index 9602cdf..3a7732c 100644 --- a/src/variables.scss +++ b/src/variables.scss @@ -1,2 +1,9 @@ /* Variables and mixins declared here will be available in all other SCSS files */ /* https://github.com/picocss/pico/issues/201 */ $semantic-root-element: "body div:first-child"; + +// colors +$zinc-50: #F0F1F3; +$zinc-100: #E0E3E7; + +$slate-800: #2A3140; +$slate-750: #333C4E; diff --git a/yarn.lock b/yarn.lock index f6a7812..240d894 100644 --- a/yarn.lock +++ b/yarn.lock @@ -773,6 +773,11 @@ svelte-hmr@^0.15.3: resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.15.3.tgz#df54ccde9be3f091bf5f18fc4ef7b8eb6405fbe6" integrity sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ== +svelte-material-icons@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/svelte-material-icons/-/svelte-material-icons-3.0.5.tgz#37bed05ceadd981b0da8630bd43b6d7cd6345376" + integrity sha512-UbhAa+Btd5y6e6DMljVccP+cbJ8lvesltMippiCOvfIUtYe2TsQqM+P6osfrVsZHV47b1tY6AmqCuSpMKnwMOQ== + svelte-preprocess@^5.0.3: version "5.1.4" resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-5.1.4.tgz#14ada075c94bbd2b71c5ec70ff72f8ebe1c95b91"