Files
NSG_PORTAL_V2/pages/index.vue
T

44 lines
2.1 KiB
Vue
Raw Normal View History

2024-05-30 18:06:50 +07:00
<script setup lang="ts">
2024-06-21 17:51:36 +07:00
import ADSDefault from '@/assets/images/ads.jpg'
2024-05-30 18:06:50 +07:00
import DynamicTemplate from "~/components/dynamic-page/page/templates/index.vue";
import DynamicSection from "~/components/dynamic-page/page-section/templates/index.vue";
import { useDynamicPageStore } from '~/stores/dynamic-page';
2024-05-31 12:49:28 +07:00
const route = useRoute();
2024-05-30 18:06:50 +07:00
const store = reactive({
dynamicPage: useDynamicPageStore(),
2024-07-03 15:33:51 +07:00
category: useCategoryStore()
2024-05-30 18:06:50 +07:00
});
2024-07-03 15:33:51 +07:00
//lấy danh sách categoryTree
await store.category.fetchBySiteId()
2024-07-16 22:54:15 +07:00
const site = useCookie('site')
2024-06-24 16:46:59 +07:00
const { data } = await useAsyncData('index', () => store.dynamicPage.fetchPageByCode(route.path === '/' ? 'trang-chu' : route.path.replace('/', '')))
2024-07-15 21:02:22 +07:00
const asycnCurrentPage = data.value && data.value.currentPage;
const asycnSectionPublished = data.value && data.value.sectionPublished;
const asycnComponentPublished = data.value && data.value.componentPublished;
2024-07-16 22:54:15 +07:00
site.value = data.value?.currentPage?.siteId
2024-05-30 21:32:51 +07:00
useHead({
2024-06-21 17:51:36 +07:00
title: () => 'Trang chủ',
description: () => 'Với công nghệ đột phá và giải pháp sáng tạo, Vpress sẽ là đối tác tin cậy của các tòa soạn báo, cùng nhau kiến tạo nên những giá trị bền vững trong kỷ nguyên chuyển đổi số báo chí.',
ogTitle: () => 'Trang chủ',
ogImage: () => '~/assets/images/thumbnail.jpg',
ogDescription: () => 'Với công nghệ đột phá và giải pháp sáng tạo, Vpress sẽ là đối tác tin cậy của các tòa soạn báo, cùng nhau kiến tạo nên những giá trị bền vững trong kỷ nguyên chuyển đổi số báo chí.',
twitterCard: () => 'summary_large_image',
2024-05-30 21:32:51 +07:00
})
2024-05-30 18:06:50 +07:00
</script>
<template>
2024-06-24 16:46:59 +07:00
<main class="h-screen" v-if="asycnCurrentPage">
2024-07-12 19:13:34 +07:00
<DynamicTemplate :page="asycnCurrentPage" :settings="asycnCurrentPage.settings">
2024-05-30 18:06:50 +07:00
<DynamicSection
2024-07-05 09:48:34 +07:00
class="mb-10"
2024-06-24 16:46:59 +07:00
v-for="(section, index) in asycnSectionPublished"
2024-05-30 18:06:50 +07:00
:key="index"
:settings="section.settings"
:content="section.content ? JSON.parse(section.content) : null"
:section="section"
/>
</DynamicTemplate>
</main>
2024-07-01 14:51:57 +07:00
</template>