From be8716a6a0bb1cead306daa5b4b4e00d60b8af11 Mon Sep 17 00:00:00 2001 From: Zakarya Date: Fri, 4 Jul 2025 10:33:30 -0700 Subject: [PATCH] Massive refactor: integrate Tailwind, use components, data-driven lists This is the result of many, many hours sat at my keyboard trying different things, most of which failing. Figuring out how to install Tailwind in this setup was a real adventure with all of the resources online pulling me in two different ways. Documentation is hard. I definitely do prefer having the codebase use the tools available more, instead of the old simple web dev stuff I'm used to. We're using what's available through Svelte a lot more now. I think that these changes will make the codebase easier to work in, with the architecture being more familiar to regular web developers, and these changes should also reduce friction when adding new content, which is the main goal. I'll never get this time back though, and I'm still slightly contemplating whether it was really worth it. --- .prettierrc.json | 2 +- package.json | 5 + src/{component => blocks}/bg.svelte | 2 +- src/blocks/footer.svelte | 17 ++ src/blocks/navbar.svelte | 206 +++++++++++++ src/{component => blocks}/settings.svelte | 129 +++----- src/component/footer.svelte | 42 --- src/component/navbar.svelte | 287 ------------------ src/components/divider.svelte | 1 + src/components/hero.svelte | 16 + src/components/linktree.svelte | 40 +++ src/components/panel.svelte | 20 ++ src/components/spacer.svelte | 12 + src/routes/+layout.svelte | 13 +- src/routes/+page.svelte | 132 +++++---- src/routes/about/+page.svelte | 22 +- src/routes/studios/+page.svelte | 346 ++++++++-------------- src/routes/zakarya/+page.svelte | 243 ++++----------- src/style/global.scss | 2 - src/style/main.scss | 152 +--------- src/style/tailwind.css | 7 + svelte.config.js | 6 + tailwind.config.cjs | 8 + vite.config.ts | 3 +- 24 files changed, 665 insertions(+), 1048 deletions(-) rename src/{component => blocks}/bg.svelte (99%) create mode 100644 src/blocks/footer.svelte create mode 100644 src/blocks/navbar.svelte rename src/{component => blocks}/settings.svelte (50%) delete mode 100644 src/component/footer.svelte delete mode 100644 src/component/navbar.svelte create mode 100644 src/components/divider.svelte create mode 100644 src/components/hero.svelte create mode 100644 src/components/linktree.svelte create mode 100644 src/components/panel.svelte create mode 100644 src/components/spacer.svelte delete mode 100644 src/style/global.scss create mode 100644 src/style/tailwind.css create mode 100644 tailwind.config.cjs diff --git a/.prettierrc.json b/.prettierrc.json index 44a39bc..12fe906 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,5 +1,5 @@ { - "plugins": ["prettier-plugin-svelte"], + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], "singleQuote": false, "tabWidth": 2, "useTabs": false, diff --git a/package.json b/package.json index 367013a..7d9fe81 100644 --- a/package.json +++ b/package.json @@ -15,15 +15,20 @@ "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", + "@tailwindcss/postcss": "^4.1.11", + "autoprefixer": "^10.4.21", "prettier": "^3.5.3", "prettier-plugin-svelte": "^3.3.3", + "prettier-plugin-tailwindcss": "^0.6.13", "sass": "^1.83.4", "svelte": "^5.0.0", "svelte-check": "^4.0.0", + "tailwindcss": "^4.1.11", "typescript": "^5.0.0", "vite": "^6.0.0" }, "dependencies": { + "@tailwindcss/vite": "^4.1.11", "bootstrap-icons": "^1.11.3" } } diff --git a/src/component/bg.svelte b/src/blocks/bg.svelte similarity index 99% rename from src/component/bg.svelte rename to src/blocks/bg.svelte index 50effaa..4da95ce 100644 --- a/src/component/bg.svelte +++ b/src/blocks/bg.svelte @@ -13,7 +13,7 @@ darkTheme; for (let i = 0; i < gradients.length; i++) { - // This re-renders each gradient so their new color will be correct + // This recolors each gradient so their new color will be correct let gradient = gradients[i]; gradient.color = getRandomColor(); gradient.prepareBuffer(); diff --git a/src/blocks/footer.svelte b/src/blocks/footer.svelte new file mode 100644 index 0000000..0a478e9 --- /dev/null +++ b/src/blocks/footer.svelte @@ -0,0 +1,17 @@ + +

+ © 2025 Colormatic Studios, All Rights Reserved. +

+

+ + support@colormatic.org + + + + contact@colormatic.org + +

+
diff --git a/src/blocks/navbar.svelte b/src/blocks/navbar.svelte new file mode 100644 index 0000000..56d365a --- /dev/null +++ b/src/blocks/navbar.svelte @@ -0,0 +1,206 @@ + + + + + + + + + + + + diff --git a/src/component/settings.svelte b/src/blocks/settings.svelte similarity index 50% rename from src/component/settings.svelte rename to src/blocks/settings.svelte index 500dfbe..e34f562 100644 --- a/src/component/settings.svelte +++ b/src/blocks/settings.svelte @@ -2,6 +2,7 @@ import { getContext, onMount } from "svelte"; import { themes } from "../script/theme.ts"; import { setCookie, getCookie } from "../script/cookie.ts"; + import Panel from "components/panel.svelte"; let panelRef = $state() as HTMLElement; @@ -64,95 +65,61 @@ } -
- +
+ + - -
- - {#if themeOption !== themes.DARK} - - {/if} + +
+ + {#if themeOption !== themes.DARK} + + {/if} - {#if themeOption !== themes.LIGHT} - - {/if} + {#if themeOption !== themes.LIGHT} + + {/if} - {#if themeOption !== themes.AUTO} - - {/if} -
+ {#if themeOption !== themes.AUTO} + + {/if} +
+
diff --git a/src/component/navbar.svelte b/src/component/navbar.svelte deleted file mode 100644 index 2cadf9c..0000000 --- a/src/component/navbar.svelte +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - diff --git a/src/components/divider.svelte b/src/components/divider.svelte new file mode 100644 index 0000000..8303a20 --- /dev/null +++ b/src/components/divider.svelte @@ -0,0 +1 @@ +
diff --git a/src/components/hero.svelte b/src/components/hero.svelte new file mode 100644 index 0000000..af89643 --- /dev/null +++ b/src/components/hero.svelte @@ -0,0 +1,16 @@ + + + + {@render children?.()} + diff --git a/src/components/linktree.svelte b/src/components/linktree.svelte new file mode 100644 index 0000000..439f1cb --- /dev/null +++ b/src/components/linktree.svelte @@ -0,0 +1,40 @@ + + + + + diff --git a/src/components/panel.svelte b/src/components/panel.svelte new file mode 100644 index 0000000..cbdb371 --- /dev/null +++ b/src/components/panel.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/components/spacer.svelte b/src/components/spacer.svelte new file mode 100644 index 0000000..53ee183 --- /dev/null +++ b/src/components/spacer.svelte @@ -0,0 +1,12 @@ + + + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index a1dd8fc..824ba06 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,11 +1,12 @@