Merge remote-tracking branch 'origin/feature/20250910-all' into feature/20251017_cl_GR_DETAIL
This commit is contained in:
@@ -104,7 +104,6 @@ onMounted(() => {
|
||||
|
||||
if (mainInst && thumbsInst) {
|
||||
mainInst.sync(thumbsInst)
|
||||
|
||||
// 썸네일 슬라이드의 화살표 버튼에 이벤트 리스너 추가
|
||||
nextTick(() => {
|
||||
addArrowClickListeners(thumbsInst, (direction, targetIndex) => {
|
||||
|
||||
@@ -63,6 +63,26 @@ const isPassVideo = (item: PageDataTemplateComponentSet, index: number) => {
|
||||
|
||||
const handleVideoClick = (index: number) => {
|
||||
playingSlideIndex.value = index
|
||||
|
||||
const group = getComponentGroup(props.components, 'videoPlay')
|
||||
const base = group?.tracking?.click_item || ''
|
||||
const next = base
|
||||
? base.replace(/(^.*_)(\d+)$/, `$1${index}`) === base
|
||||
? `${base}_${index}`
|
||||
: base.replace(/(^.*_)(\d+)$/, `$1${index}`)
|
||||
: `${index}`
|
||||
|
||||
const sendingGroup = group
|
||||
? { ...group, tracking: { ...group.tracking, click_item: next } }
|
||||
: group
|
||||
|
||||
sendLog(
|
||||
locale.value,
|
||||
useAnalyticsLogDataDirect(
|
||||
(sendingGroup as any) || getComponentGroup(props.components, 'videoPlay'),
|
||||
1
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
const stopVideo = () => {
|
||||
|
||||
@@ -118,10 +118,10 @@ export type PageDataTemplateComponentSet = PageDataTemplateComponent & {
|
||||
set_order?: number
|
||||
}
|
||||
|
||||
// 템플릿 컴포넌트 타입 - 두 가지 패턴
|
||||
// 템플릿 컴포넌트 타입 - 세 가지 패턴
|
||||
export type PageDataTemplateComponents =
|
||||
| PageDataTemplateComponent // 단일 컴포넌트 패턴
|
||||
| { group_sets: PageDataTemplateComponentSet[] } // 그룹 세트 패턴
|
||||
| { group_sets: PageDataTemplateComponentSet[], arrow: PageDataArrowComponent } // 그룹 세트 패턴
|
||||
|
||||
// 템플릿 타입
|
||||
export interface PageDataTemplate {
|
||||
@@ -133,13 +133,6 @@ export interface PageDataTemplate {
|
||||
components: PageDataTemplateComponents
|
||||
}
|
||||
|
||||
// Tracking 타입
|
||||
export interface PageDataTracking {
|
||||
click_item: string
|
||||
action_type: string
|
||||
click_sarea: string
|
||||
}
|
||||
|
||||
// ===== API 관련 타입들 =====
|
||||
|
||||
// API 에러 응답 타입
|
||||
@@ -172,3 +165,15 @@ export interface PageDataApiResult {
|
||||
data: PageDataResponse | null
|
||||
error: string | null
|
||||
}
|
||||
// Tracking 타입
|
||||
export interface PageDataTracking {
|
||||
click_item: string
|
||||
action_type: string
|
||||
click_sarea: string
|
||||
}
|
||||
|
||||
// Arrow 컴포넌트 타입
|
||||
|
||||
export type PageDataArrowComponent = PageDataTemplateComponent & {
|
||||
groups: PageDataResourceGroups
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user