diff --git a/app/app.vue b/app/app.vue index fffae322..6f1c3808 100644 --- a/app/app.vue +++ b/app/app.vue @@ -2,6 +2,8 @@ import type { ContentNavigationItem } from '@nuxt/content'; import { SplitPanel } from '@directus/vue-split-panel'; import { useLocalStorage, useWindowSize } from '@vueuse/core'; +import faviconDark from '~/assets/favicons/directus-favicon-dark.svg?url&no-inline'; +import faviconLight from '~/assets/favicons/directus-favicon-light.svg?url&no-inline'; const { data: navigation } = await useAsyncData('content-navigation', () => queryCollectionNavigation('content', ['title', 'description', 'icon', 'links'])); @@ -9,6 +11,23 @@ provide('navigation', navigation as Ref); await useDocsOgImage(); +useServerHead({ + link: [ + { + rel: 'icon', + type: 'image/svg+xml', + href: faviconLight, + media: '(prefers-color-scheme: light)', + }, + { + rel: 'icon', + type: 'image/svg+xml', + href: faviconDark, + media: '(prefers-color-scheme: dark)', + }, + ], +}); + const assistantEnabled = useRuntimeConfig().public.assistant?.enabled; const { isOpen } = useAssistant(); const { width: windowWidth } = useWindowSize(); diff --git a/app/assets/favicons/directus-favicon-dark.svg b/app/assets/favicons/directus-favicon-dark.svg new file mode 100644 index 00000000..e5bd2cfa --- /dev/null +++ b/app/assets/favicons/directus-favicon-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/favicons/directus-favicon-light.svg b/app/assets/favicons/directus-favicon-light.svg new file mode 100644 index 00000000..0f6f3d8d --- /dev/null +++ b/app/assets/favicons/directus-favicon-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts index 93d0f199..eab1ad05 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -71,6 +71,7 @@ export default defineNuxtConfig({ app: { baseURL: BASE_URL, + buildAssetsDir: '/_nuxt-docs/', }, css: ['~/assets/css/main.css', '@directus/vue-split-panel/index.css'],