feat.[SWV-806] 템플릿 모션 적용

This commit is contained in:
clkim
2026-01-22 14:22:38 +09:00
parent 37fdd251bd
commit a2da1fc93c
25 changed files with 341 additions and 20 deletions

View File

@@ -247,7 +247,7 @@ const handlePreregistClick = () => {
:resources-data="preSubTitleData"
class="title-sm mt-2"
/>
<div class="flex flex-col gap-4 mt-8 sm:flex-row">
<div v-motion-stagger class="flex flex-col gap-4 mt-8 sm:flex-row">
<div
v-if="preImgPreregistdData"
class="max-w-[336px] md:max-w-[446px]"
@@ -295,7 +295,10 @@ const handlePreregistClick = () => {
</ul>
</div>
</div>
<div class="flex gap-3 justify-center flex-wrap mt-8 md:gap-2.5">
<div
v-motion-stagger
class="flex gap-3 justify-center flex-wrap mt-8 md:gap-2.5"
>
<BlocksButtonLauncher
type="duplication"
platform="stove"
@@ -355,6 +358,7 @@ const handlePreregistClick = () => {
/>
<div
v-if="rewardImages.length"
v-motion-stagger
class="overflow-hidden w-[calc(100%+40px)] min-h-[228px] mt-6 mx-[-20px] sm:w-[calc(100%+80px)] sm:mx-[-40px] md:w-full md:min-h-[281px] md:mt-8 md:mx-auto"
>
<ClientOnly>

View File

@@ -124,6 +124,7 @@ const getArticleUrl = (articleId: string) => {
<ClientOnly>
<WidgetsSlideDefault
v-if="slideLength > 0"
v-motion-stagger
v-bind="splideOptions"
:slide-item-length="slideLength"
:arrows-data="arrowsData"

View File

@@ -44,7 +44,7 @@ const buttonListData = computed(() => {
:resources-data="subTitleData"
class="title-sm max-w-[944px] mt-2"
/>
<div v-if="imgListData" class="img-container">
<div v-if="imgListData" v-motion-stagger class="img-container">
<div v-for="(item, index) in imgListData" :key="index" class="img-item">
<AtomsImg
v-if="getResourceSrc(item)"
@@ -71,9 +71,9 @@ const buttonListData = computed(() => {
<style scoped>
.img-container {
@apply flex flex-col items-center justify-center gap-4 box-content mx-auto mt-[32px]
w-[440px]
md:w-[944px];
@apply flex flex-col items-center justify-center gap-4 box-content mx-auto mt-[32px] w-full
max-w-[440px]
md:max-w-[944px];
}
.img-item {
@apply w-full;

View File

@@ -91,6 +91,7 @@ const getVideoSrc = (item: PageDataTemplateComponent) => {
/>
<AtomsVideo
v-if="hasComponentGroup(item, 'video')"
v-motion-stagger
:src="getVideoSrc(item)"
:play="currentSlideIndex === index"
class="aspect-[16/10] w-[258px] mt-8 md:w-[496px] md:mt-10"

View File

@@ -92,6 +92,7 @@ onBeforeUnmount(() => {
class="title-md max-w-[944px]"
/>
<WidgetsSlideThumbnail
v-motion-stagger
:thumbnail-data="slideData"
:pagination-data="paginationData"
:drag="false"

View File

@@ -70,6 +70,7 @@ const handleSplideMove = (_splide: SplideType, newIndex: number) => {
/>
<WidgetsSlideCenterFocus
v-if="slideData"
v-motion-stagger
:slide-item-size="slideItemSize"
:slide-item-length="slideData?.length"
:arrows-data="arrowsData"

View File

@@ -80,6 +80,7 @@ const handleSplideMove = (
/>
<WidgetsSlideCenterHighlight
v-if="slideData"
v-motion-stagger
:slide-item-size="slideItemSize"
:slide-item-length="slideData?.length"
:arrows-data="arrowsData"

View File

@@ -101,6 +101,7 @@ const slideItemSize = {
<WidgetsVideoPlay v-if="videoPlayData" :resources-data="videoPlayData" />
<WidgetsSlideCenterHighlight
v-if="slideData && slideData.length > 0"
v-motion-stagger
:slide-item-size="slideItemSize"
:slide-item-length="slideData.length"
:arrows-data="arrowsData"