-
+
{
'router-link-active': hasActiveChild(gnbItem.children),
},
]"
- @click="handleMenuClose(isNotClickable(gnbItem))"
+ @click="handleGnbItemClick(gnbItem)"
>
{{ gnbItem.menu_name }}
{
:to="child.url_path"
:target="child.link_target"
class="item-link"
- @click="handleMenuClose(isNotClickable(child))"
+ @click="handleGnbItemClick(child)"
>
{{ child.menu_name }}
{
),
},
]"
- @click="handleMenuClose(isNotClickable(gnbItem))"
+ @click="handleGnbItemClick(gnbItem)"
>
{{ gnbItem.menu_name }}
@@ -340,7 +362,7 @@ onMounted(() => {
'nav-1depth',
{ 'router-link-active': pageLayoutType === 'promotion' },
]"
- @click="handleMenuClose"
+ @click="[handleMenuClose(), handleSendLog('이벤트')]"
>
{
:text-color="
getColorCodeFromData(start1depthData?.btn_info, 'txt')
"
+ @click="
+ sendLog(locale, useAnalyticsData(start1depthData.tracking))
+ "
>
{{ start1depthData?.btn_info?.txt_btn_name }}
@@ -376,7 +401,13 @@ onMounted(() => {
>
-
-
+
{{ item.btn_info?.txt_btn_name }}
@@ -385,7 +416,7 @@ onMounted(() => {
-
diff --git a/layers/components/widgets/ButtonList.vue b/layers/components/widgets/ButtonList.vue
index 92c7eb5..31d65bc 100644
--- a/layers/components/widgets/ButtonList.vue
+++ b/layers/components/widgets/ButtonList.vue
@@ -7,7 +7,6 @@ import type { ButtonType } from '#layers/types/components/button'
interface Props {
resourcesData: PageDataResourceGroup[]
- pageVerTmplSeq: number
}
const props = defineProps
()
@@ -16,7 +15,7 @@ const { locale } = useI18n()
const modalStore = useModalStore()
const scrollStore = useScrollStore()
const breakpoints = useResponsiveBreakpoints()
-const { sendLog, useAnalyticsLogDataDirect } = useAnalytics()
+const { sendLog, useAnalyticsData } = useAnalytics()
const { tm } = useI18n()
const device = useDevice()
@@ -92,8 +91,7 @@ const downloadFile = async (url: string = '', osType: number = 0) => {
}
const handleButtonClick = (button: PageDataResourceGroup) => {
- // 로그
- sendLog(locale.value, useAnalyticsLogDataDirect(button, props.pageVerTmplSeq))
+ sendLog(locale.value, useAnalyticsData(button.tracking))
const btnDetail = button.btn_info?.detail
diff --git a/layers/components/widgets/VideoPlay.vue b/layers/components/widgets/VideoPlay.vue
index 6baddc8..c43fbad 100644
--- a/layers/components/widgets/VideoPlay.vue
+++ b/layers/components/widgets/VideoPlay.vue
@@ -3,27 +3,22 @@ import type { PageDataResourceGroup } from '#layers/types/api/pageData'
const props = defineProps<{
resourcesData: PageDataResourceGroup
- pageVerTmplSeq: number
}>()
const modalStore = useModalStore()
-const { locale } = useI18n()
-const { sendLog, useAnalyticsLogDataDirect } = useAnalytics()
// 비디오 플레이 버튼 클릭 핸들러
const handleVideoPlayClick = () => {
const youtubeUrl = props.resourcesData?.display?.text ?? ''
if (youtubeUrl) {
modalStore.handleOpenYoutube({ youtubeUrl })
-
- sendLog(
- locale.value,
- useAnalyticsLogDataDirect(props.resourcesData, props.pageVerTmplSeq)
- )
}
}
-
+
diff --git a/layers/components/blocks/slide/CenterFocus.vue b/layers/components/widgets/slide/CenterFocus.vue
similarity index 87%
rename from layers/components/blocks/slide/CenterFocus.vue
rename to layers/components/widgets/slide/CenterFocus.vue
index e1382d7..9ffa7a8 100644
--- a/layers/components/blocks/slide/CenterFocus.vue
+++ b/layers/components/widgets/slide/CenterFocus.vue
@@ -1,8 +1,8 @@
@@ -124,12 +122,12 @@ const onArrowClick = (direction, targetIndex) => {
class="title-md max-w-[944px] mx-[20px] sm:mx-[40px]"
/>
-
{
:description="globalDateFormat(item.create_datetime, locale)"
:img-path="item.media_thumbnail_url"
:url="getArticleUrl(item.article_id)"
+ :analytics-sarea="pageVerTmplNameEn"
link-target="_blank"
/>
-
+