Files
scrum-poker-internal/resources/js/layouts/PublicLayout.vue
T

66 lines
2.2 KiB
Vue

<script setup lang="ts">
import { Link, usePage } from '@inertiajs/vue3';
import { computed } from 'vue';
import AppVersion from '@/components/AppVersion.vue';
import { dashboard, home, login, logout, register } from '@/routes';
const page = usePage();
const user = computed(() => page.props.auth.user);
</script>
<template>
<div class="min-h-svh bg-gray-900 text-white">
<header class="border-b border-white/10">
<nav
class="mx-auto flex h-16 max-w-7xl items-center justify-between px-6"
aria-label="Hauptnavigation"
>
<Link :href="home()" class="text-xl font-extrabold">
Scrum Poker
</Link>
<div class="flex items-center gap-4 text-sm font-semibold">
<template v-if="user">
<Link
:href="dashboard()"
class="text-gray-200 transition hover:text-white"
>
Meine Räume
</Link>
<Link
:href="logout()"
method="post"
as="button"
class="rounded-lg border border-white/15 px-3 py-2 text-gray-200 transition hover:bg-white/10 hover:text-white"
>
Abmelden
</Link>
</template>
<template v-else>
<Link
:href="login()"
class="text-gray-200 transition hover:text-white"
>
Anmelden
</Link>
<Link
:href="register()"
class="rounded-lg bg-white px-3 py-2 text-gray-900 transition hover:bg-gray-100"
>
Registrieren
</Link>
</template>
</div>
</nav>
</header>
<main class="p-6">
<slot />
</main>
<AppVersion />
</div>
</template>