diff --git a/nuxt.config.ts b/nuxt.config.ts index 3833db3..6a786fa 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -156,6 +156,7 @@ export default defineNuxtConfig({ { name: 'application-name', content: 'Pretendo Network' }, { name: 'msapplication-TileColor', content: '#1b1f3b' }, { name: 'theme-color', content: '#1b1f3b' }, + { property: 'og:title', content: 'Pretendo Network' }, { property: 'og:description', content: diff --git a/src/composables/customSeoMeta.ts b/src/composables/customSeoMeta.ts new file mode 100644 index 0000000..fa4f897 --- /dev/null +++ b/src/composables/customSeoMeta.ts @@ -0,0 +1,36 @@ +import type { UseSeoMetaInput } from '@unhead/vue'; + +export type CustomSeoMetaOptions = UseSeoMetaInput & { + subsection?: string; +}; + +export default function (args?: CustomSeoMetaOptions) { + let newTitleTemplate = ''; + + switch (args?.subsection) { + case ('account'): { + newTitleTemplate = 'Account | Pretendo Network'; + break; + } + case ('terms'): { + newTitleTemplate = 'Terms | Pretendo Network'; + break; + } + case ('blog'): { + newTitleTemplate = 'Blog | Pretendo Network'; + break; + } + case ('docs'): { + newTitleTemplate = 'Docs | Pretendo Network'; + break; + } + default: { + newTitleTemplate = 'Pretendo Network'; + } + } + + const newTitle = args?.title ? `${args?.title} | ${newTitleTemplate}` : newTitleTemplate; + + useHead({ title: newTitle }); + useSeoMeta({ ...args, title: newTitle, ogTitle: newTitle, twitterTitle: newTitle, ogDescription: args?.description, twitterDescription: args?.description, twitterImage: args?.ogImage }); +} diff --git a/src/layouts/default.vue b/src/layouts/default.vue index 5b751a0..890f81f 100644 --- a/src/layouts/default.vue +++ b/src/layouts/default.vue @@ -1,9 +1,4 @@