fix. main 컴포넌트 변경, 수정된 api 구조에 맞춰 코드 수정
This commit is contained in:
@@ -1,37 +1,25 @@
|
||||
<script setup lang="ts">
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { usePageDataStore } from '#layers/stores/usePageDataStore'
|
||||
import type { PageDataValue } from '#layers/types/api/pageData'
|
||||
|
||||
const pageDataStore = usePageDataStore()
|
||||
const { pageData } = storeToRefs(pageDataStore)
|
||||
|
||||
// const layout = pageData.value?.meta?.layout ?? "default";
|
||||
const layout = 'default' // 기본 레이아웃 사용
|
||||
const getLayoutType = (
|
||||
pageData: PageDataValue | null
|
||||
): 'default' | 'promotion' => {
|
||||
return pageData?.page_type === 1 ? 'default' : 'promotion'
|
||||
}
|
||||
|
||||
const currentLayout = computed(() => getLayoutType(pageData.value))
|
||||
|
||||
// definePageMeta를 사용하여 레이아웃을 미리 설정
|
||||
definePageMeta({
|
||||
layout: false, // 기본 레이아웃 비활성화
|
||||
})
|
||||
|
||||
// definePageMeta를 사용하여 레이아웃을 미리 설정
|
||||
watchEffect(() => {
|
||||
if (pageData.value?.meta_tag) {
|
||||
useSeoMeta({
|
||||
title: pageData.value.meta_tag.page_title ?? '',
|
||||
description: pageData.value.meta_tag.page_desc ?? '',
|
||||
ogTitle: pageData.value.meta_tag.og_title ?? '',
|
||||
ogDescription: pageData.value.meta_tag.og_desc ?? '',
|
||||
ogImage: pageData.value.meta_tag.og_image ?? '',
|
||||
twitterTitle: pageData.value.meta_tag.x_title ?? '',
|
||||
twitterImage: pageData.value.meta_tag.x_image ?? '',
|
||||
twitterDescription: pageData.value.meta_tag.x_desc ?? '',
|
||||
})
|
||||
}
|
||||
layout: false, // 동적 레이아웃을 위해 기본 레이아웃 비활성화
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NuxtLayout :name="layout">
|
||||
<LayoutsMain :templates="pageData?.templates ?? []" />
|
||||
<NuxtLayout :name="currentLayout">
|
||||
<LayoutsMain v-if="pageData" :page-data="pageData" />
|
||||
</NuxtLayout>
|
||||
</template>
|
||||
|
||||
@@ -1,37 +1,25 @@
|
||||
<script setup lang="ts">
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { usePageDataStore } from '#layers/stores/usePageDataStore'
|
||||
import type { PageDataValue } from '#layers/types/api/pageData'
|
||||
|
||||
const pageDataStore = usePageDataStore()
|
||||
const { pageData } = storeToRefs(pageDataStore)
|
||||
|
||||
// const layout = pageData.value?.meta?.layout ?? "default";
|
||||
const layout = 'default' // 기본 레이아웃 사용
|
||||
const getLayoutType = (
|
||||
pageData: PageDataValue | null
|
||||
): 'default' | 'promotion' => {
|
||||
return pageData?.page_type === 1 ? 'default' : 'promotion'
|
||||
}
|
||||
|
||||
const currentLayout = computed(() => getLayoutType(pageData.value))
|
||||
|
||||
// definePageMeta를 사용하여 레이아웃을 미리 설정
|
||||
definePageMeta({
|
||||
layout: false, // 기본 레이아웃 비활성화
|
||||
})
|
||||
|
||||
// definePageMeta를 사용하여 레이아웃을 미리 설정
|
||||
watchEffect(() => {
|
||||
if (pageData.value?.meta_tag) {
|
||||
useSeoMeta({
|
||||
title: pageData.value.meta_tag.page_title ?? '',
|
||||
description: pageData.value.meta_tag.page_desc ?? '',
|
||||
ogTitle: pageData.value.meta_tag.og_title ?? '',
|
||||
ogDescription: pageData.value.meta_tag.og_desc ?? '',
|
||||
ogImage: pageData.value.meta_tag.og_image ?? '',
|
||||
twitterTitle: pageData.value.meta_tag.x_title ?? '',
|
||||
twitterImage: pageData.value.meta_tag.x_image ?? '',
|
||||
twitterDescription: pageData.value.meta_tag.x_desc ?? '',
|
||||
})
|
||||
}
|
||||
layout: false, // 동적 레이아웃을 위해 기본 레이아웃 비활성화
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NuxtLayout :name="layout">
|
||||
<LayoutsMain :templates="pageData?.templates ?? []" />
|
||||
<NuxtLayout :name="currentLayout">
|
||||
<LayoutsMain v-if="pageData" :page-data="pageData" />
|
||||
</NuxtLayout>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user