Update various configuration files, components, and assets; enhance notification system and API endpoints; improve documentation and styles across the application.
This commit is contained in:
50
app.vue
Normal file
50
app.vue
Normal file
@@ -0,0 +1,50 @@
|
||||
<script setup>
|
||||
const { siteSettings, loadSiteSettings } = useSiteSettings();
|
||||
|
||||
// Use site settings for global meta
|
||||
useHead({
|
||||
title: () => siteSettings?.value?.siteName || 'corradAF',
|
||||
meta: [
|
||||
{ name: 'description', content: () => siteSettings?.value?.siteDescription || 'corradAF Base Project' },
|
||||
{ property: 'og:title', content: () => siteSettings?.value?.siteName || 'corradAF' },
|
||||
{ property: 'og:description', content: () => siteSettings?.value?.siteDescription || 'corradAF Base Project' },
|
||||
{ name: 'twitter:title', content: () => siteSettings?.value?.siteName || 'corradAF' },
|
||||
{ name: 'twitter:description', content: () => siteSettings?.value?.siteDescription || 'corradAF Base Project' },
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', href: () => siteSettings?.value?.siteFavicon || '/favicon.ico' },
|
||||
{ rel: 'apple-touch-icon', href: () => siteSettings?.value?.siteFavicon || '/favicon.ico' }
|
||||
],
|
||||
htmlAttrs: {
|
||||
lang: "en",
|
||||
},
|
||||
});
|
||||
|
||||
const nuxtApp = useNuxtApp();
|
||||
const loading = ref(true);
|
||||
|
||||
onMounted(async () => {
|
||||
// Load site settings first
|
||||
await loadSiteSettings();
|
||||
|
||||
// Hide loading indicator if not hydrating
|
||||
setTimeout(() => {
|
||||
loading.value = false;
|
||||
}, 1000);
|
||||
|
||||
// Get theme from localStorage or site settings
|
||||
let theme = localStorage.getItem("theme") || siteSettings?.value?.selectedTheme || "biasa";
|
||||
document.documentElement.setAttribute("data-theme", theme);
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<VitePwaManifest />
|
||||
<NuxtLoadingIndicator />
|
||||
<NuxtLayout>
|
||||
<Loading v-if="loading" />
|
||||
<NuxtPage :key="$route.fullPath" v-else />
|
||||
</NuxtLayout>
|
||||
</div>
|
||||
</template>
|
||||
Reference in New Issue
Block a user