diff --git a/src/lib/components/Navbar.svelte b/src/lib/components/Navbar.svelte new file mode 100644 index 0000000..c45f38f --- /dev/null +++ b/src/lib/components/Navbar.svelte @@ -0,0 +1,141 @@ + + + + + \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 994d54f..d33fd6b 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,6 +2,32 @@ import '../app.css'; import { onMount } from 'svelte'; import { page } from '$app/stores'; + import Navbar from '$lib/components/Navbar.svelte'; + import { browser } from '$app/environment'; + + let isAuthenticated = false; + let isLoginPage = false; + + // Authentication state'ini kontrol et + function checkAuth() { + if (browser) { + const user = localStorage.getItem('user'); + isAuthenticated = !!user; + isLoginPage = $page.url.pathname === '/'; + } + } + + // Page değiştiğinde ve component mount olduğında kontrol et + onMount(() => { + checkAuth(); + }); + + $: { + checkAuth(); + } + + // Navbar'ı gösterme kararı + $: shouldShowNavbar = isAuthenticated && !isLoginPage; @@ -9,7 +35,11 @@ -
+{#if shouldShowNavbar} + +{/if} + +
@@ -17,5 +47,23 @@ main { min-height: 100vh; width: 100%; + padding-top: 0; + } + + main.navbar-visible { + min-height: calc(100vh - 70px); + padding-top: 0; + } + + @media (max-width: 768px) { + main.navbar-visible { + min-height: calc(100vh - 60px); + } + } + + @media (max-width: 480px) { + main.navbar-visible { + min-height: calc(100vh - 70px); + } } \ No newline at end of file diff --git a/static/logo.png b/static/logo.png new file mode 100644 index 0000000..c923b0a Binary files /dev/null and b/static/logo.png differ