diff --git a/layers/components/blocks/slide/Fade.vue b/layers/components/blocks/slide/Fade.vue
index a1479d6..3a2c6bb 100644
--- a/layers/components/blocks/slide/Fade.vue
+++ b/layers/components/blocks/slide/Fade.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/layers/components/widgets/ButtonList.vue b/layers/components/widgets/ButtonList.vue
index b17b27e..9af2a25 100644
--- a/layers/components/widgets/ButtonList.vue
+++ b/layers/components/widgets/ButtonList.vue
@@ -56,9 +56,6 @@ const getButtonProps = (button: PageDataResourceGroup) => ({
})
const { useAnalyticsLogDataDirect } = useAnalytics()
-// const logData = useAnalyticsLogDataDirect(props.resourcesData, props.pageVerTmplSeq)
-console.log("🚀 11111~ getButtonProps ~ props.resourcesData:", getButtonProps(props.resourcesData[0]))
-
diff --git a/layers/components/widgets/VideoPlay.vue b/layers/components/widgets/VideoPlay.vue
index c96ee32..dea3bca 100644
--- a/layers/components/widgets/VideoPlay.vue
+++ b/layers/components/widgets/VideoPlay.vue
@@ -6,7 +6,7 @@ const props = defineProps<{
pageVerTmplSeq: number
}>()
const { useAnalyticsLogDataDirect } = useAnalytics()
-const logData = useAnalyticsLogDataDirect(props.resourcesData, props.pageVerTmplSeq)
+const logData = useAnalyticsLogDataDirect(props.resourcesData.tracking, props.pageVerTmplSeq)
// YouTube 모달 스토어 사용
const modalStore = useModalStore()
diff --git a/layers/composables/useAnalytics.ts b/layers/composables/useAnalytics.ts
index 2a0d796..56a9896 100644
--- a/layers/composables/useAnalytics.ts
+++ b/layers/composables/useAnalytics.ts
@@ -27,10 +27,7 @@ export const useAnalyticsLogData = (
return ref({} as AnalyticsDetailType)
}
- const pageDataTrack = (
- typeof resourcesData.tracking === 'object' ? resourcesData.tracking : {}
- ) as AnalyticsLogDataTracking
- console.log('🚀 ~ useAnalyticsLogData ~ pageDataTrack:', pageData)
+ const pageDataTrack = (typeof resourcesData.tracking === 'object' ? resourcesData.tracking : {}) as AnalyticsLogDataTracking
const logData = ref({
actionType: pageDataTrack?.action_type,
@@ -51,7 +48,6 @@ export const useAnalyticsLogData = (
return logData
}
-<<<<<<< HEAD
/**
* 페이지 데이터와 템플릿 정보를 기반으로 분석용 로그 데이터를 생성하는 composable (직접 객체 반환)
* @param resourcesData 페이지 리소스 데이터
@@ -69,7 +65,7 @@ export const useAnalyticsLogDataDirect = (
return {} as AnalyticsDetailType
}
- const pageDataTrack = (typeof resourcesData.tracking === 'object' ? resourcesData.tracking : {}) as AnalyticsLogDataTracking
+ const pageDataTrack = (typeof resourcesData === 'object' ? resourcesData : {}) as AnalyticsLogDataTracking
const logData = {
actionType: pageDataTrack?.action_type,
@@ -90,8 +86,6 @@ export const useAnalyticsLogDataDirect = (
}
-=======
->>>>>>> feature/20250910-all
// target에 {XX1, XX2}와 같은 형태가 포함되어 있을 경우 options.clickItem으로부터 값 추출하여 세팅
const findValueFromOption = (target: string, { options = {} }: any) => {
if (target.includes('{') && target.includes('}')) {
@@ -122,10 +116,6 @@ const findValueFromOption = (target: string, { options = {} }: any) => {
* @param {object} options
*/
const sendGA = (analytics: AnalyticsDetailType, { options = {} }: any) => {
-<<<<<<< HEAD
-=======
- console.log('🚀 ~ 1111 sendGA ~ analytics:', analytics)
->>>>>>> feature/20250910-all
try {
const { gtag } = useGtag()
@@ -153,15 +143,10 @@ const sendGA = (analytics: AnalyticsDetailType, { options = {} }: any) => {
* @param {string} mcode
* @param {object} options
*/
-<<<<<<< HEAD
-const sendSA = (analytics: AnalyticsDetailType, { mcode = '', options: _options = {} }: any) => {
- console.log("🚀 ~44444 sendSA ~ analytics:", analytics)
-=======
const sendSA = (
analytics: AnalyticsDetailType,
{ mcode = '', options = {} }: any
) => {
->>>>>>> feature/20250910-all
const gameDataStore = useGameDataStore()
const { gameData } = storeToRefs(gameDataStore)
@@ -179,13 +164,9 @@ const sendSA = (
const viewArea = analytics.viewArea || ''
const viewType = analytics.viewType || ''
const clickArea = analytics.clickArea || ''
-<<<<<<< HEAD
- const clickSarea = findValueFromOption(analytics.clickSarea || '', { _options })
-=======
const clickSarea = findValueFromOption(analytics.clickSarea || '', {
options,
})
->>>>>>> feature/20250910-all
const eventLocale = analytics.eventLocale || ''
const identityInfo: IdentityInfo = {
@@ -214,13 +195,8 @@ const sendSA = (
view_info: {
game_no: gameNo,
lang_cd: eventLocale,
-<<<<<<< HEAD
- ..._options?.viewInfo
- }
-=======
...options?.viewInfo,
},
->>>>>>> feature/20250910-all
}
} else if (actionType === 'click') {
actionParam = {
@@ -230,13 +206,8 @@ const sendSA = (
click_item: analytics.clickItem,
game_no: gameNo,
lang_cd: eventLocale,
-<<<<<<< HEAD
- ..._options?.clickItem
- }
-=======
...options?.clickItem,
},
->>>>>>> feature/20250910-all
}
}
@@ -275,11 +246,7 @@ const sendSA = (
* @param {AnalyticsDetailType} analytics
*/
const sendLog = (locale: string, analytics: AnalyticsDetailType) => {
-<<<<<<< HEAD
-console.log("🚀 ~33333 sendLog ~ analytics:", analytics)
-=======
console.log('🚀 ~ sendLog ~ analytics:', analytics)
->>>>>>> feature/20250910-all
// 언어 코드 대문자 변환
analytics.eventLocale = locale.toUpperCase()
diff --git a/layers/templates/GrVisual03/index.vue b/layers/templates/GrVisual03/index.vue
index 01ababc..895a491 100644
--- a/layers/templates/GrVisual03/index.vue
+++ b/layers/templates/GrVisual03/index.vue
@@ -11,7 +11,22 @@ interface Props {
pageVerTmplSeq: string
}
+const {locale} = useI18n()
+
const props = defineProps()
+
+const { sendLog, useAnalyticsLogDataDirect } = useAnalytics()
+const onArrowClick = (direction, targetIndex) => {
+
+ // tracking 데이터 복사 및 click_item 수정
+ const modifiedTracking = {
+ ...props.components.arrow.groups[targetIndex].tracking,
+ click_item: props.components.arrow.groups[targetIndex].tracking.click_item + `_slide${targetIndex}`
+ }
+
+ sendLog(locale.value, useAnalyticsLogDataDirect(new Proxy(modifiedTracking, {}), Number(props.pageVerTmplSeq)))
+
+}
@@ -21,6 +36,7 @@ const props = defineProps()
:arrows="true"
:pagination="true"
class="h-full"
+ @arrow-click="onArrowClick"
>