wraith/frontend/layouts/default.vue
Vantz Stockwell c8868258d5 feat: Phase 2 — SSH terminal + SFTP sidebar in browser
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 17:21:11 -04:00

31 lines
1.2 KiB
Vue

<script setup lang="ts">
const auth = useAuthStore()
// Redirect to login if not authenticated
if (!auth.isAuthenticated) {
navigateTo('/login')
}
</script>
<template>
<div class="h-screen flex flex-col bg-gray-950 text-gray-100">
<!-- Top bar -->
<header class="h-12 flex items-center justify-between px-4 bg-gray-900 border-b border-gray-800 shrink-0">
<div class="flex items-center gap-3">
<h1 class="text-lg font-bold tracking-wider text-wraith-400">WRAITH</h1>
</div>
<div class="flex items-center gap-3">
<NuxtLink to="/vault" class="text-sm text-gray-400 hover:text-white">Vault</NuxtLink>
<NuxtLink to="/settings" class="text-sm text-gray-400 hover:text-white">Settings</NuxtLink>
<button @click="auth.logout()" class="text-sm text-gray-500 hover:text-red-400">Logout</button>
</div>
</header>
<!-- Main content area relative for SessionContainer absolute positioning -->
<div class="flex-1 flex overflow-hidden relative">
<slot />
<!-- Session container persists across page navigation, overlays content when sessions are active -->
<SessionContainer />
</div>
</div>
</template>