From e2ba1726dced921c78b369e9a81605287b278a5b Mon Sep 17 00:00:00 2001 From: Keksi Date: Wed, 4 Dec 2024 11:02:50 +0100 Subject: [PATCH] feat: add animated background options and new DotBackground component --- bun.lockb | Bin 407302 -> 407673 bytes package.json | 1 + shako.config.ts | 1 + src/components/DotBackground.tsx | 8 ++++++ src/layouts/Layout.astro | 2 -- src/pages/index.astro | 10 ++++++++ src/types.d.ts | 4 +++ src/types.ts | 1 + tailwind.config.ts | 42 ++++++++++++++++++++++++++++++- 9 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 src/components/DotBackground.tsx create mode 100644 src/types.d.ts diff --git a/bun.lockb b/bun.lockb index af2dcbbb1b9e8dfb5ba087c715c42450d3dfc310..e32a1b3877e0fff9f7e0940ff39ae39dedf57b23 100755 GIT binary patch delta 76397 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 delta 77082 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 Qv6Bm>TtB%`@b4M_4=Rz^lmGw# diff --git a/package.json b/package.json index dd4b188..7acbf15 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.465.0", + "mini-svg-data-uri": "^1.4.4", "p5i": "^0.5.0", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/shako.config.ts b/shako.config.ts index 20741e9..8008880 100644 --- a/shako.config.ts +++ b/shako.config.ts @@ -9,6 +9,7 @@ const config: Config = { // }, discordID: '527147599942385674', // Discord user ID for Lanyard integration (can be omitted if 'user' is defined) lanyardUrl: 'https://api.lanyard.rest/', // Custom Lanyard API URL (optional, for self-hosted instances) (WIP) + animatedBackground: false, // Whether to use the animated background (default: false) iconButtons: [ { icon: 'patreon', diff --git a/src/components/DotBackground.tsx b/src/components/DotBackground.tsx new file mode 100644 index 0000000..0acbedd --- /dev/null +++ b/src/components/DotBackground.tsx @@ -0,0 +1,8 @@ +import React from 'react' + +export function DotBackground() { + return ( +
+
+ ) +} diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 161d1e0..a160626 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,5 +1,4 @@ --- -import { WaveBackground } from '@/components/WaveBackground' import '@fontsource/geist-sans' import '@fontsource/geist-mono' @@ -45,7 +44,6 @@ const { title } = Astro.props {title} - diff --git a/src/pages/index.astro b/src/pages/index.astro index f2a2071..a475153 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,8 +1,10 @@ --- import { ButtonContainer } from '@/components/ButtonContainer' +import { DotBackground } from '@/components/DotBackground' import { Footer } from '@/components/Footer' import { ModeToggle } from '@/components/ModeToggle' import { UserContainer } from '@/components/UserContainer' +import { WaveBackground } from '@/components/WaveBackground' import { getConfig } from '@/lib/config' import Layout from '../layouts/Layout.astro' @@ -12,6 +14,14 @@ const config = await getConfig() // eslint-disable-line keksiqc/no-top-level-awa --- + {config.animatedBackground +? ( + + ) +: ( + + )} +
diff --git a/src/types.d.ts b/src/types.d.ts new file mode 100644 index 0000000..2b111d4 --- /dev/null +++ b/src/types.d.ts @@ -0,0 +1,4 @@ +declare module 'tailwindcss/lib/util/flattenColorPalette' { + const flattenColorPalette: (colors: any) => Record + export default flattenColorPalette +} diff --git a/src/types.ts b/src/types.ts index 7d15847..262f78a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -9,6 +9,7 @@ export const configSchema = z.object({ }).optional(), discordID: z.custom().optional(), lanyardUrl: z.string().url().optional(), + animatedBackground: z.boolean().optional().default(false), iconButtons: z.array( z.object({ icon: z.string(), diff --git a/tailwind.config.ts b/tailwind.config.ts index 2689b99..10f088f 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,6 +1,21 @@ import type { Config } from 'tailwindcss' +import svgToDataUri from 'mini-svg-data-uri' +import colors from 'tailwindcss/colors' +import defaultTheme from 'tailwindcss/defaultTheme' +import flattenColorPalette from 'tailwindcss/lib/util/flattenColorPalette' import animate from 'tailwindcss-animate' +function addVariablesForColors({ addBase, theme }: any) { + const allColors = flattenColorPalette(theme('colors')) + const newVars = Object.fromEntries( + Object.entries(allColors).map(([key, val]) => [`--${key}`, val]), + ) + + addBase({ + ':root': newVars, + }) +} + const config: Config = { darkMode: ['class'], content: ['./src/**/*.{astro,ts,tsx}'], @@ -70,7 +85,32 @@ const config: Config = { }, }, }, - plugins: [animate], + plugins: [ + animate, + addVariablesForColors, + function ({ matchUtilities, theme }: any) { + matchUtilities( + { + 'bg-grid': (value: any) => ({ + backgroundImage: `url("${svgToDataUri( + ``, + )}")`, + }), + 'bg-grid-small': (value: any) => ({ + backgroundImage: `url("${svgToDataUri( + ``, + )}")`, + }), + 'bg-dot': (value: any) => ({ + backgroundImage: `url("${svgToDataUri( + ``, + )}")`, + }), + }, + { values: flattenColorPalette(theme('backgroundColor')), type: 'color' }, + ) + }, + ], } export default config