{Object.entries(themes).map(([name, colors]) => (
diff --git a/src/app/users/[username]/(user-admin)/theme/theme.ts b/src/app/users/[username]/(user-admin)/theme/theme.ts
new file mode 100644
index 000000000..ed9c0336b
--- /dev/null
+++ b/src/app/users/[username]/(user-admin)/theme/theme.ts
@@ -0,0 +1,54 @@
+export enum ThemeName {
+ Standard = 'Standard',
+ Light = 'Light',
+ Solarized = 'Solarized',
+ StjerneInnbygger = 'StjerneInnbygger',
+}
+
+type ThemeColors = {
+ primary: string;
+ secondary: string;
+ layer: string;
+ text: string;
+ textMuted: string;
+};
+
+export const themes: Record
= {
+ [ThemeName.Standard]: {
+ primary: 'hsl(210, 70%, 50%)',
+ secondary: 'hsl(210, 5%, 12%)',
+ layer: 'hsla(210, 0%, 0%, 0.2)',
+ text: 'hsl(0, 0%, 80%)',
+ textMuted: 'hsl(0, 0%, 70%)',
+ },
+ [ThemeName.Light]: {
+ primary: 'hsl(210, 98%, 50%)',
+ secondary: 'hsl(210, 18%, 95%)',
+ layer: 'hsla(0, 0%, 0%, 0.05)',
+ text: 'hsl(0, 0%, 10%)',
+ textMuted: 'hsl(0, 0%, 20%)',
+ },
+ [ThemeName.Solarized]: {
+ primary: 'hsl(210, 98%, 50%)',
+ secondary: 'hsl(44, 87%, 94%)',
+ layer: 'hsla(0, 0%, 50%, 0.15)',
+ text: 'hsl(196, 13%, 45%)',
+ textMuted: 'hsl(180, 7%, 60%)',
+ },
+ [ThemeName.StjerneInnbygger]: {
+ primary: 'hsl(207, 91%, 65%)',
+ secondary: 'hsl(202, 64%, 10%)',
+ layer: 'hsla(211, 48.1%, 35.5%, 0.18)',
+ text: 'hsl(0, 0%, 80%)',
+ textMuted: 'hsl(0, 0%, 70%)',
+ },
+}
+
+export function applyTheme(name: ThemeName): void {
+ localStorage.setItem('theme', name)
+ const colors = themes[name]
+ const root = document.documentElement
+ Object.entries(colors).forEach(([key, value]) => {
+ root.style.setProperty(`--${key}`, value)
+ })
+}
diff --git a/src/prisma/seeder/standard_store/images/logo_simple.svg b/src/prisma/seeder/standard_store/images/logo_simple.svg
new file mode 100644
index 000000000..517b46d3c
--- /dev/null
+++ b/src/prisma/seeder/standard_store/images/logo_simple.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/src/prisma/seeder/standard_store/images/logo_white.svg b/src/prisma/seeder/standard_store/images/logo_white.svg
new file mode 100644
index 000000000..51b0b91f1
--- /dev/null
+++ b/src/prisma/seeder/standard_store/images/logo_white.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/src/prisma/seeder/standard_store/images/magisk_hatt.svg b/src/prisma/seeder/standard_store/images/magisk_hatt.svg
new file mode 100644
index 000000000..1d0cef255
--- /dev/null
+++ b/src/prisma/seeder/standard_store/images/magisk_hatt.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/src/prisma/seeder/standard_store/images/omega_logo_white.svg b/src/prisma/seeder/standard_store/images/omega_logo_white.svg
new file mode 100644
index 000000000..a9bd78793
--- /dev/null
+++ b/src/prisma/seeder/standard_store/images/omega_logo_white.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/src/prisma/seeder/standard_store/images/pwa.svg b/src/prisma/seeder/standard_store/images/pwa.svg
new file mode 100644
index 000000000..2f345f291
--- /dev/null
+++ b/src/prisma/seeder/standard_store/images/pwa.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/src/prisma/seeder/standard_store/images/vevcom_logo.svg b/src/prisma/seeder/standard_store/images/vevcom_logo.svg
new file mode 100644
index 000000000..12d1ead42
--- /dev/null
+++ b/src/prisma/seeder/standard_store/images/vevcom_logo.svg
@@ -0,0 +1,21 @@
+
+
+
+