diff --git a/layers/components/blocks/slide/CenterFocus.vue b/layers/components/blocks/slide/CenterFocus.vue index ad2a89b..f859fdf 100644 --- a/layers/components/blocks/slide/CenterFocus.vue +++ b/layers/components/blocks/slide/CenterFocus.vue @@ -41,6 +41,7 @@ const options = computed((): ResponsiveOptions => { pagination: props.pagination && isMultipleItems.value, autoplay: props.autoplay, interval: props.interval, + flickPower: 400, classes: { arrows: 'splide-arrows', arrow: 'splide-arrow', diff --git a/layers/components/blocks/slide/CenterHighlight.vue b/layers/components/blocks/slide/CenterHighlight.vue index 70c94ab..d5dfd5c 100644 --- a/layers/components/blocks/slide/CenterHighlight.vue +++ b/layers/components/blocks/slide/CenterHighlight.vue @@ -40,6 +40,7 @@ const options = computed((): ResponsiveOptions => { pagination: props.pagination && isMultipleItems.value, autoplay: props.autoplay, interval: props.interval, + flickPower: 400, classes: { arrows: 'splide-arrows', arrow: 'splide-arrow', diff --git a/layers/components/blocks/slide/Default.vue b/layers/components/blocks/slide/Default.vue index e605e0a..49ce530 100644 --- a/layers/components/blocks/slide/Default.vue +++ b/layers/components/blocks/slide/Default.vue @@ -56,6 +56,7 @@ const options = computed((): ResponsiveOptions => { arrows: props.arrows, pagination: props.pagination, destroy: props.destroy, + flickPower: 400, classes: { arrows: 'splide-arrows', arrow: 'splide-arrow', diff --git a/layers/components/blocks/slide/Fade.vue b/layers/components/blocks/slide/Fade.vue index 51d2941..3127797 100644 --- a/layers/components/blocks/slide/Fade.vue +++ b/layers/components/blocks/slide/Fade.vue @@ -44,6 +44,7 @@ const options = computed((): ResponsiveOptions => { pauseOnFocus: false, arrows: props.arrows, pagination: props.pagination, + flickPower: 400, classes: { arrows: 'splide-arrows type-full', arrow: 'splide-arrow', diff --git a/layers/components/blocks/slide/Thumbnail.vue b/layers/components/blocks/slide/Thumbnail.vue index b74162c..c6a91e5 100644 --- a/layers/components/blocks/slide/Thumbnail.vue +++ b/layers/components/blocks/slide/Thumbnail.vue @@ -12,13 +12,11 @@ interface Props { paginationData?: PageDataResourceGroups arrows?: boolean variant?: 'default' | 'media' - drag?: boolean } const props = withDefaults(defineProps(), { arrows: true, variant: 'default', - drag: true, }) const emit = defineEmits(['mounted', 'move', 'arrowClick']) @@ -47,7 +45,7 @@ const mainOptions = computed(() => ({ easing: 'ease-in-out', arrows: false, pagination: false, - drag: props.drag, + drag: false, })) const thumbOptions = computed(() => ({ @@ -59,6 +57,7 @@ const thumbOptions = computed(() => ({ pagination: false, isNavigation: true, updateOnMove: true, + flickPower: 400, classes: { arrows: 'splide-arrows', arrow: 'splide-arrow', diff --git a/layers/composables/useAnalytics.ts b/layers/composables/useAnalytics.ts index e433e84..62dae88 100644 --- a/layers/composables/useAnalytics.ts +++ b/layers/composables/useAnalytics.ts @@ -45,6 +45,10 @@ export const useAnalyticsLogDataDirect = ( } // resourcesData가 객체인 경우 (기존 로직) + if (!resourcesData || !resourcesData.tracking) { + return {} as AnalyticsDetailType + } + const pageDataTrack = resourcesData.tracking const logData = { @@ -96,7 +100,7 @@ const findValueFromOption = (target: string, { options = {} }: any) => { */ const sendGA = (analytics: AnalyticsDetailType, { options = {} }: any) => { if (!import.meta.client) return - + try { const { gtag } = useGtag() @@ -129,7 +133,7 @@ const sendSA = ( { mcode = '', options = {} }: any ) => { if (!import.meta.client) return - + const gameDataStore = useGameDataStore() const { gameData } = storeToRefs(gameDataStore) @@ -254,7 +258,7 @@ const sendLog = (locale: string, analytics: AnalyticsDetailType) => { */ const sendGAEventOnly = (gaEventName: string) => { if (!import.meta.client) return - + try { const { gtag } = useGtag() @@ -274,7 +278,7 @@ const sendGAEventOnly = (gaEventName: string) => { */ const sendMetaPixel = (fbEventName: string) => { if (!import.meta.client) return - + try { const { $fbq } = useNuxtApp() if (typeof $fbq === 'function') { @@ -293,7 +297,7 @@ const sendMetaPixel = (fbEventName: string) => { */ const sendTwitterPixel = (twEventName: string) => { if (!import.meta.client) return - + try { twq('event', twEventName, {}) } catch (e) { @@ -309,7 +313,7 @@ const sendTwitterPixel = (twEventName: string) => { */ const sendTiktokPixel = (ttEventName: string) => { if (!import.meta.client) return - + try { ttq.track(ttEventName) } catch (e) { diff --git a/layers/templates/GrGallery01/index.vue b/layers/templates/GrGallery01/index.vue index 1b5ef30..8d15b37 100644 --- a/layers/templates/GrGallery01/index.vue +++ b/layers/templates/GrGallery01/index.vue @@ -45,23 +45,23 @@ const handleVideoClick = (index: number) => { playingSlideIndex.value = index const group = getComponentGroup(props.components, 'videoPlay') - const base = group?.tracking?.click_item || '' + if (!group || !group.tracking) return + + 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 + const sendingGroup = { + ...group, + tracking: { ...group.tracking, click_item: next }, + } sendLog( locale.value, - useAnalyticsLogDataDirect( - (sendingGroup as any) || getComponentGroup(props.components, 'videoPlay'), - props.pageVerTmplSeq - ) + useAnalyticsLogDataDirect(sendingGroup, props.pageVerTmplSeq) ) } @@ -79,7 +79,7 @@ const stopVideo = () => { }, 600) } -const onArrowClick = (direction, targetIndex) => { +const onArrowClick = (direction, _targetIndex) => { const arrowGroupAry = getComponentGroupAry(props.components, 'arrow') const logTracking = arrowGroupAry?.[direction === 'prev' ? 0 : 1] sendLog(locale.value, useAnalyticsLogDataDirect(logTracking, 1))