diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte
new file mode 100644
index 0000000..2a8ab43
--- /dev/null
+++ b/src/lib/components/Header.svelte
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
diff --git a/src/lib/index.ts b/src/lib/index.ts
index 016be36..9376242 100644
--- a/src/lib/index.ts
+++ b/src/lib/index.ts
@@ -4,3 +4,4 @@ export { default as Button } from './components/Button.svelte';
export { default as ErrorMessage } from './components/ErrorMessage.svelte';
export { default as ProfileIcon } from './components/ProfileIcon.svelte';
export { default as ProfilePanel } from './components/ProfilePanel.svelte';
+export { default as Header } from './components/Header.svelte';
diff --git a/src/routes/+layout.server.ts b/src/routes/+layout.server.ts
new file mode 100644
index 0000000..dd13599
--- /dev/null
+++ b/src/routes/+layout.server.ts
@@ -0,0 +1,7 @@
+import type { LayoutServerLoad } from './$types';
+
+export const load: LayoutServerLoad = async (event) => {
+ return {
+ user: event.locals.user
+ };
+};
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 8c56a3c..d27ca16 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -1,12 +1,21 @@
+{#if showHeader && data.user}
+
+{/if}
+
{@render children?.()}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 83d97e0..27f4d67 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,36 +1,10 @@