feat: phase 1C JWT UI, events/hosts API, Vue frontend

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
PTah
2026-05-26 21:46:34 +10:00
parent 34b7f0d0fe
commit 43e49d1f02
27 changed files with 2498 additions and 23 deletions
+27
View File
@@ -0,0 +1,27 @@
<template>
<div class="layout">
<nav v-if="showNav">
<span class="brand">SAC</span>
<RouterLink to="/events">События</RouterLink>
<RouterLink to="/hosts">Хосты</RouterLink>
<button type="button" class="secondary" @click="logout">Выход</button>
</nav>
<RouterView />
</div>
</template>
<script setup lang="ts">
import { computed } from "vue";
import { useRoute, useRouter } from "vue-router";
import { clearToken, getToken } from "./api";
const route = useRoute();
const router = useRouter();
const showNav = computed(() => route.path !== "/login" && !!getToken());
function logout() {
clearToken();
router.push("/login");
}
</script>