Files
polylan-submitter/polylan_submitter/src/App.vue
T

29 lines
859 B
Vue

<script setup lang="ts">
import { computed, onMounted } from "vue";
import { RouterView, useRoute } from "vue-router";
import AppHeader from "@/layout/AppHeader.vue";
import AppFooter from "@/layout/AppFooter.vue";
import { useUserStore } from "@/stores/user";
const userStore = useUserStore();
const route = useRoute();
// Embed routes (e.g. place/embed) are meant to be dropped into an <iframe>
// as-is - the header/footer chrome would just eat into the fixed space a
// stream overlay or OBS browser source gives it.
const isEmbed = computed(() => route.meta.embed === true);
onMounted(() => {
userStore.loadUserData();
});
</script>
<template>
<div class="min-h-screen flex flex-col">
<AppHeader v-if="!isEmbed" />
<main class="flex-1 flex flex-col">
<RouterView />
</main>
<AppFooter v-if="!isEmbed" />
</div>
</template>