From 5da87650827cdd24ea86c108c7dbdd0b4a8e4b28 Mon Sep 17 00:00:00 2001 From: Thorn Walli Date: Fri, 17 Jan 2025 11:10:56 +0100 Subject: [PATCH] fix(update): improve content integration --- nuxt.config.js | 17 +++++++++++++++++ src/composables/pageContent.js | 11 +++++++---- src/layouts/default.vue | 16 +++++++++------- src/pages/[...slug].vue | 29 +++++++++++++++++++++++++---- 4 files changed, 58 insertions(+), 15 deletions(-) diff --git a/nuxt.config.js b/nuxt.config.js index 18d41c733..1d2cebd92 100755 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -47,6 +47,15 @@ export default defineNuxtConfig(() => { } }, + runtimeConfig: { + isDev, + public: { + general: { + url: getWebsiteHost() + } + } + }, + devServer: { port: getPort(), host: getHost() @@ -314,6 +323,14 @@ function getBaseUrl() { return process.env.npm_config_base_url || process.env.BASE_URL || '/'; } +function getWebsiteHost() { + return ( + process.env.npm_config_website_host || + process.env.WEBSITE_HOST || + 'https://' + ); +} + function getHost() { return process.env.npm_config_host || process.env.HOST || 'localhost'; } diff --git a/src/composables/pageContent.js b/src/composables/pageContent.js index a06f62ed3..1568739a0 100644 --- a/src/composables/pageContent.js +++ b/src/composables/pageContent.js @@ -8,9 +8,12 @@ export function usePageContent() { fetch: async () => { try { const path = `/pages${normalizePath(route.path).replace('/index', '')}`; - const { - body: { title, components, i18nParams } - } = await queryCollection('page').path(path).first(); + const { components, i18nParams, ...meta } = await queryCollection( + 'page' + ) + .path(path) + .first() + .then(({ body }) => body); if (!import.meta.server) { setI18nParams(i18nParams); @@ -18,7 +21,7 @@ export function usePageContent() { return { components, - pageMeta: { title } + ...meta }; } catch (error) { console.error(error); diff --git a/src/layouts/default.vue b/src/layouts/default.vue index 5cb9d198e..c119c7ceb 100644 --- a/src/layouts/default.vue +++ b/src/layouts/default.vue @@ -1,22 +1,22 @@ @@ -53,9 +53,11 @@ const { locale } = useI18n(); const { data: layoutData } = await useAsyncData( `layout-data-${locale.value}`, - async () => { - return queryCollection('layout').path(`/layout/${locale.value}`).first(); - }, + () => + queryCollection('layout') + .path(`/layout/${locale.value}`) + .first() + .then(({ body }) => body), { watch: [locale] } ); diff --git a/src/pages/[...slug].vue b/src/pages/[...slug].vue index a8a416d0b..05c014c6f 100644 --- a/src/pages/[...slug].vue +++ b/src/pages/[...slug].vue @@ -20,12 +20,33 @@