fix. api 변경 관련 로직 변경
This commit is contained in:
@@ -10,7 +10,7 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<video v-if="props.src">
|
||||
<source :src="props.src" :type="`video/${props.type}`" v-bind="$attrs" />
|
||||
<video v-if="props.src" v-bind="$attrs">
|
||||
<source :src="props.src" :type="`video/${props.type}`" />
|
||||
</video>
|
||||
</template>
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
<script setup lang="ts">
|
||||
import type { ClassType } from '#layers/types/Common'
|
||||
|
||||
interface Props {
|
||||
to: string
|
||||
target?: string
|
||||
class?: ClassType
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
target: '',
|
||||
class: '',
|
||||
})
|
||||
|
||||
const componentTag = computed(() => {
|
||||
return props.target === '_blank' ? 'a' : 'AtomsLocaleLink'
|
||||
})
|
||||
|
||||
const componentProps = computed(() => {
|
||||
if (props.target === '_blank') {
|
||||
return {
|
||||
href: props.to,
|
||||
target: props.target,
|
||||
class: props.class,
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
to: props.to,
|
||||
class: props.class,
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<component :is="componentTag" v-bind="{ ...componentProps }">
|
||||
<slot />
|
||||
</component>
|
||||
</template>
|
||||
@@ -9,7 +9,7 @@ const { gameData } = useGameDataStore()
|
||||
|
||||
const stoveInflowPath = runtimeConfig.public.stoveInflowPath
|
||||
const stoveGameNo = runtimeConfig.public.stoveGameNo
|
||||
const gnbData = gameData?.stove_gnb
|
||||
const gnbData = gameData?.stove_gnb_json
|
||||
|
||||
const languageCodes = computed(() => {
|
||||
if (Array.isArray(availableLocales)) {
|
||||
|
||||
@@ -201,7 +201,7 @@ onBeforeUnmount(() => {
|
||||
Object.keys(gnbData?.menus).length - overflowNam,
|
||||
}"
|
||||
>
|
||||
<BlocksHybridLink
|
||||
<AtomsLocaleLink
|
||||
:to="gnbItem.url_path"
|
||||
:target="gnbItem.link_target"
|
||||
:class="['nav-1depth', { active: isNavItemActive(gnbItem) }]"
|
||||
@@ -211,7 +211,7 @@ onBeforeUnmount(() => {
|
||||
v-if="gnbItem.children"
|
||||
class="hidden md:block"
|
||||
/>
|
||||
</BlocksHybridLink>
|
||||
</AtomsLocaleLink>
|
||||
<Transition name="fade">
|
||||
<div v-if="gnbItem.children" class="nav-2depth">
|
||||
<ul>
|
||||
@@ -219,7 +219,7 @@ onBeforeUnmount(() => {
|
||||
v-for="child in gnbItem.children"
|
||||
:key="child.menu_name"
|
||||
>
|
||||
<BlocksHybridLink
|
||||
<AtomsLocaleLink
|
||||
:to="child.url_path"
|
||||
:target="child.link_target"
|
||||
>
|
||||
@@ -227,7 +227,7 @@ onBeforeUnmount(() => {
|
||||
<AtomsIconsWebLinkLine
|
||||
v-if="child.link_target === '_blank'"
|
||||
/>
|
||||
</BlocksHybridLink>
|
||||
</AtomsLocaleLink>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -250,20 +250,20 @@ onBeforeUnmount(() => {
|
||||
Object.keys(gnbData?.menus).length - overflowNam,
|
||||
}"
|
||||
>
|
||||
<BlocksHybridLink
|
||||
<AtomsLocaleLink
|
||||
:to="gnbItem.url_path"
|
||||
:target="gnbItem.link_target"
|
||||
:class="`${isNavItemActive(gnbItem) ? 'active' : ''}`"
|
||||
>
|
||||
<span>{{ gnbItem.menu_name }}</span>
|
||||
</BlocksHybridLink>
|
||||
</AtomsLocaleLink>
|
||||
<div v-if="gnbItem.children">
|
||||
<ul>
|
||||
<li
|
||||
v-for="child in gnbItem.children"
|
||||
:key="child.menu_name"
|
||||
>
|
||||
<BlocksHybridLink
|
||||
<AtomsLocaleLink
|
||||
:to="child.url_path"
|
||||
:target="child.link_target"
|
||||
>
|
||||
@@ -271,7 +271,7 @@ onBeforeUnmount(() => {
|
||||
<AtomsIconsWebLinkLine
|
||||
v-if="child.link_target === '_blank'"
|
||||
/>
|
||||
</BlocksHybridLink>
|
||||
</AtomsLocaleLink>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -279,17 +279,19 @@ onBeforeUnmount(() => {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="event">
|
||||
<div v-if="gameData?.event_banner" class="event">
|
||||
<div class="nav-item">
|
||||
<BlocksHybridLink
|
||||
:to="'/event'"
|
||||
:target="'_self'"
|
||||
<AtomsLocaleLink
|
||||
:to="gameData.event_banner?.page_url"
|
||||
:target="
|
||||
gameData.event_banner?.link_type === 1 ? '_self' : '_blank'
|
||||
"
|
||||
class="nav-1depth text-gradient-pink"
|
||||
>
|
||||
<AtomsIconsStarFill />
|
||||
<span>이벤트</span>
|
||||
<AtomsIconsStarFill />
|
||||
</BlocksHybridLink>
|
||||
</AtomsLocaleLink>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@@ -21,7 +21,8 @@ const shouldShowMetaTag = computed(() => props.pageData.meta_tag_type === 2)
|
||||
// 템플릿 표시 여부 확인
|
||||
const isTemplateVisible = (template: PageDataTemplate): boolean => {
|
||||
return Boolean(
|
||||
template?.components && Object.keys(template.components).length > 0
|
||||
template?.page_ver_tmpl_json &&
|
||||
Object.keys(template?.page_ver_tmpl_json).length > 0
|
||||
)
|
||||
}
|
||||
|
||||
@@ -33,21 +34,21 @@ const visibleTemplates = computed(() =>
|
||||
// SEO 메타 태그 설정
|
||||
const setupSeoMeta = (metaTag: PageDataMetaTag) => {
|
||||
useSeoMeta({
|
||||
title: metaTag.page_title ?? '',
|
||||
description: metaTag.page_desc ?? '',
|
||||
ogTitle: metaTag.og_title ?? '',
|
||||
ogDescription: metaTag.og_desc ?? '',
|
||||
ogImage: metaTag.og_image ?? '',
|
||||
twitterTitle: metaTag.x_title ?? '',
|
||||
twitterImage: metaTag.x_image ?? '',
|
||||
twitterDescription: metaTag.x_desc ?? '',
|
||||
title: metaTag?.page_title ?? '',
|
||||
description: metaTag?.page_desc ?? '',
|
||||
ogTitle: metaTag?.og_title ?? '',
|
||||
ogDescription: metaTag?.og_desc ?? '',
|
||||
ogImage: metaTag?.og_image ?? '',
|
||||
twitterTitle: metaTag?.x_title ?? '',
|
||||
twitterImage: metaTag?.x_image ?? '',
|
||||
twitterDescription: metaTag?.x_desc ?? '',
|
||||
})
|
||||
}
|
||||
|
||||
// 메타 태그 설정 감시
|
||||
watchEffect(() => {
|
||||
if (shouldShowMetaTag.value && props.pageData.meta_tag) {
|
||||
setupSeoMeta(props.pageData.meta_tag)
|
||||
if (shouldShowMetaTag.value && props.pageData?.meta_tag_json) {
|
||||
setupSeoMeta(props.pageData?.meta_tag_json)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
@@ -60,7 +61,7 @@ watchEffect(() => {
|
||||
>
|
||||
<component
|
||||
:is="getTemplateComponent(template.template_code)"
|
||||
:components="template.components"
|
||||
:components="template.page_ver_tmpl_json"
|
||||
:page-ver-tmpl-seq="template.page_ver_tmpl_seq"
|
||||
/>
|
||||
</template>
|
||||
|
||||
@@ -68,7 +68,7 @@ const handleButtonClick = (
|
||||
|
||||
const marketType = btnInfo?.detail?.market_type
|
||||
if (marketType) {
|
||||
const url = gameData?.market[marketType]?.url
|
||||
const url = gameData?.market_json[marketType]?.url
|
||||
window.open(url, '_blank')
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user