First commit
This commit is contained in:
34
frontend/app/app.vue
Normal file
34
frontend/app/app.vue
Normal file
@@ -0,0 +1,34 @@
|
||||
<script setup lang="ts">
|
||||
/* The document language and the fallback title follow the interface locale:
|
||||
the callback form of useHead re-runs them whenever the locale changes. */
|
||||
const { t } = useI18n()
|
||||
const { locale } = useAppLocale()
|
||||
|
||||
useHead(() => ({
|
||||
htmlAttrs: { lang: locale.value },
|
||||
titleTemplate: (title?: string | null) => (title ? `${title} · Mathew` : t('app.title')),
|
||||
}))
|
||||
|
||||
/* keep the book's stack of open pages in step with the route */
|
||||
useArticleTabsSync()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="app-shell">
|
||||
<NuxtRouteAnnouncer />
|
||||
<AppHeader />
|
||||
<main class="app-main">
|
||||
<div class="container">
|
||||
<NuxtPage />
|
||||
</div>
|
||||
</main>
|
||||
<!-- after the page: the article route has put its article on the shelf
|
||||
by the time the book is rendered, so the page in view arrives with
|
||||
its text already written out -->
|
||||
<ArticleBookStack />
|
||||
<SearchModal />
|
||||
<SettingsModal />
|
||||
<ProfileModal />
|
||||
<AuthModal />
|
||||
</div>
|
||||
</template>
|
||||
Reference in New Issue
Block a user