diff --git a/src/app/[eventSlug]/layout.tsx b/src/app/[eventSlug]/layout.tsx
new file mode 100644
index 0000000..d5b2a47
--- /dev/null
+++ b/src/app/[eventSlug]/layout.tsx
@@ -0,0 +1,31 @@
+import '@styles/style.scss';
+import { directus } from '@/directus';
+import { Event } from '@/types/aliases';
+import { readItems } from '@directus/sdk';
+
+export default async function EventLayout({ children, params: { eventSlug } }: { children: React.ReactNode, params: { eventSlug: string } }) {
+ let event: Event = (
+ await directus().request(
+ readItems('events', {
+ fields: [
+ // Explicit list to avoid leaking the admin secret
+ 'background_color'
+ ],
+ filter: {
+ slug: { _eq: eventSlug },
+ },
+ })
+ )
+ )[0];
+
+ let col = event.background_color;
+
+ return (
+ <>
+
+
{children}
+ >
+ );
+}
diff --git a/src/styles/base/_colors.scss b/src/styles/base/_colors.scss
index 82afcd6..812d55a 100644
--- a/src/styles/base/_colors.scss
+++ b/src/styles/base/_colors.scss
@@ -1,17 +1,18 @@
@use 'sass:color';
:root {
- $base: #e775d9;
-
- --text-color: #{color.scale($base, $lightness: 80%)};
- --bg-color: #{$base};
-
- --button-text-color: #{color.scale($base, $lightness: -50%)};
- --button-bg-color: #{color.scale($base, $lightness: 70%)};
- --button-bg-color-hover: #{color.scale($base, $lightness: 60%)};
-
+ --bg-color: #d65d00;
+ --white: #ffffff;
+ --black: #000000;
+ --transparent-black: rgba(0, 0, 0, 0.7);
--transparent-white: rgba(255, 255, 255, 0.1);
--transparent-white-2: rgba(255, 255, 255, 0.2);
- --transparent-dark: #{color.scale($base, $lightness: -15%, $alpha: -30%)};
+ --text-color: color-mix(in hsl, var(--bg-color) 20%, var(--white) 100%);
+
+ --button-text-color: color-mix(in hsl, var(--bg-color) 20%, var(--black) 60%);
+ --button-bg-color: color-mix(in hsl, var(--bg-color) 20%, var(--white) 70%);
+ --button-bg-color-hover: color-mix(in hsl, var(--bg-color) 20%, var(--white) 60%);
+
+ --transparent-dark: color-mix(in hsl, var(--bg-color) 20%, var(--transparent-black) 60%);
}