<script setup lang="ts">
import { storeToRefs } from "pinia";
import { usePageDataStore } from "#layers/stores/usePageDataStore";
import Section from "#layers/components/molecules/Section.vue";

const pageDataStore = usePageDataStore();
const { pageData } = storeToRefs(pageDataStore);

// 동적 i18n 라우트 설정
// const { getI18nRouteConfig } = useDynamicI18nRoutes();

// const layout = pageData.value?.meta?.layout ?? "default";
const layout = "default"; // 기본 레이아웃 사용

// definePageMeta를 사용하여 레이아웃을 미리 설정
definePageMeta({
  layout: false, // 기본 레이아웃 비활성화
});

// // gameData.lang_codes를 기반으로 동적 언어 제외 설정
// const i18nRouteConfig = getI18nRouteConfig();
// if (i18nRouteConfig) {
//   defineI18nRoute(i18nRouteConfig);
// }

// SEO 메타 태그 설정 - pageData가 로드된 후에만 실행
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 ?? "",
    });
  }
});
</script>

<template>
  <NuxtLayout :name="layout">
    <ClientOnly>
      <Section :templates="pageData?.templates ?? []" />
    </ClientOnly>
  </NuxtLayout>
</template>
