diff --git a/layers/assets/css/components/_layout.css b/layers/assets/css/components/_layout.css index 7365076..f8973f3 100644 --- a/layers/assets/css/components/_layout.css +++ b/layers/assets/css/components/_layout.css @@ -36,7 +36,7 @@ @apply line-clamp-2 text-[16px] font-[500] leading-[24px] drop-shadow-[0_2px_2px_rgba(0,0,0,0.6)] md:line-clamp-1 md:text-[24px] md:leading-[34px]; } .title-sm { - @apply text-[15px] font-[500] leading-[24px] tracking-[-0.45px] md:text-[20px] md:leading-[30px] md:tracking-[-0.6px]; + @apply text-[15px] font-[500] leading-[24px] tracking-[-0.45px] drop-shadow-[0_2px_2px_rgba(0,0,0,0.6)] md:text-[20px] md:leading-[30px] md:tracking-[-0.6px]; } .title-xs { @apply text-[14px] font-[500] leading-[20px] tracking-[-0.42px] md:text-[18px] md:leading-[26px] md:tracking-[-0.54px]; diff --git a/layers/components/blocks/slide/Default.vue b/layers/components/blocks/slide/Default.vue index c055963..a459971 100644 --- a/layers/components/blocks/slide/Default.vue +++ b/layers/components/blocks/slide/Default.vue @@ -13,6 +13,7 @@ interface Props { arrows?: boolean pagination?: boolean paginationData?: PageDataResourceGroups + destroy?: boolean breakpoints?: ResponsiveOptions['breakpoints'] } @@ -23,6 +24,7 @@ const props = withDefaults(defineProps(), { drag: true, arrows: true, pagination: true, + destroy: false, }) const emit = defineEmits(['mounted', 'move', 'arrowClick']) @@ -50,6 +52,7 @@ const options = computed((): ResponsiveOptions => { trimSpace: false, arrows: props.arrows, pagination: props.pagination, + destroy: props.destroy, classes: { arrows: 'splide-arrows', arrow: 'splide-arrow', diff --git a/layers/composables/useTemplateRegistry.ts b/layers/composables/useTemplateRegistry.ts index caf4068..ed91448 100644 --- a/layers/composables/useTemplateRegistry.ts +++ b/layers/composables/useTemplateRegistry.ts @@ -11,6 +11,7 @@ import GrBoard01 from '#layers/templates/GrBoard01/index.vue' import GrContents01 from '#layers/templates/GrContents01/index.vue' import FxVideo01 from '#layers/templates/FxVideo01/index.vue' import FxDownload01 from '#layers/templates/FxDownload01/index.vue' +import FxPreregist01 from '#layers/templates/FxPreregist01/index.vue' const templateRegistry = { GR_VISUAL_01: { component: GrVisual01 }, @@ -26,6 +27,7 @@ const templateRegistry = { GR_CONTENTS_01: { component: GrContents01 }, FX_VIDEO_01: { component: FxVideo01 }, FX_DOWNLOAD_01: { component: FxDownload01 }, + FX_PREREGIST_01: { component: FxPreregist01 }, } as const type TemplateKey = keyof typeof templateRegistry diff --git a/layers/layouts/promotion.vue b/layers/layouts/promotion.vue index 712d3d7..451383e 100644 --- a/layers/layouts/promotion.vue +++ b/layers/layouts/promotion.vue @@ -1,15 +1,7 @@ - + - - diff --git a/layers/templates/FxPreregist01/index.vue b/layers/templates/FxPreregist01/index.vue new file mode 100644 index 0000000..6e63163 --- /dev/null +++ b/layers/templates/FxPreregist01/index.vue @@ -0,0 +1,627 @@ + + + + + diff --git a/layers/templates/GrBoard01/index.vue b/layers/templates/GrBoard01/index.vue index 8d68f74..fe93fb2 100644 --- a/layers/templates/GrBoard01/index.vue +++ b/layers/templates/GrBoard01/index.vue @@ -58,33 +58,42 @@ const { data: slideData } = await useAsyncData( server: false, } ) -const slideLength = computed(() => slideData.value.length) -const slideClass = computed(() => ({ - 'is-one-item': slideLength.value === 1, - 'is-two-items': slideLength.value === 2, - 'is-three-items': slideLength.value === 3, - 'is-four-items': slideLength.value === 4, -})) -const splideOptions = computed(() => ({ - gap: 20, - perPage: 4, - drag: false, - arrows: slideLength.value > 4, - pagination: slideLength.value > 4, - breakpoints: { - [BREAKPOINTS.lg - 1]: { - perPage: 2, - arrows: slideLength.value > 2, - pagination: slideLength.value > 2, +const slideLength = computed(() => slideData.value.length ?? 0) +const splideOptions = computed(() => { + return { + gap: 20, + perPage: 4, + drag: false, + arrows: slideLength.value > 4, + pagination: slideLength.value > 4, + destroy: slideLength.value <= 4, + breakpoints: { + [BREAKPOINTS.lg - 1]: { + perPage: 2, + arrows: slideLength.value > 2, + pagination: slideLength.value > 2, + destroy: slideLength.value < 3, + }, + [BREAKPOINTS.md - 1]: { + drag: true, + perPage: 1, + arrows: false, + pagination: false, + destroy: slideLength.value < 2, + padding: { + left: 40, + right: 40, + }, + }, + [BREAKPOINTS.sm - 1]: { + padding: { + left: 20, + right: 20, + }, + }, }, - [BREAKPOINTS.md - 1]: { - drag: true, - perPage: 1, - arrows: false, - pagination: false, - }, - }, -})) + } +}) const getArticleUrl = (articleId: string) => { const communityUrl = gameData.value?.url_json?.community @@ -118,7 +127,7 @@ const onArrowClick = (direction, targetIndex) => { v-if="slideLength > 0" :slide-item-length="slideLength" v-bind="splideOptions" - :class="`${slideClass} w-full`" + class="w-full" @arrow-click="onArrowClick" > { .splide { @apply mt-[24px] md:max-w-[776px] md:mt-[48px] md:mx-auto md:px-[72px] lg:max-w-[1428px]; } -.splide:deep(.splide__track) { - @apply !px-[20px] md:max-w-[632px] lg:max-w-[1284px] md:mx-auto md:!px-[0] sm:!px-[40px]; -} .splide:deep(.arrow-prev) { @apply top-[calc(50%-28px)] left-[0]; } @@ -168,23 +174,11 @@ const onArrowClick = (direction, targetIndex) => { @apply top-[calc(50%-28px)] right-[0]; } .slide-inner { - @apply w-[275px] aspect-[1/1] md:w-[306px] md:box-border; + @apply w-[275px] aspect-[1/1] md:w-[306px]; } -.splide.is-one-item:deep(.splide__track) { - @apply max-w-[315px] sm:max-w-[355px] mx-auto md:max-w-[306px]; -} -.splide.is-two-items:deep(.splide__track) { - @apply lg:max-w-[632px]; -} -.splide.is-two-items:deep(.splide__list) { - @apply md:!translate-x-0; -} -.splide.is-three-items:deep(.splide__track) { - @apply lg:max-w-[958px]; -} -.splide.is-three-items:deep(.splide__list), -.splide.is-four-items:deep(.splide__list) { - @apply lg:!translate-x-0; +/* destroy๋˜์—ˆ์„ ๋•Œ (์Šฌ๋ผ์ด๋“œ ๋น„ํ™œ์„ฑํ™”) ์ค‘์•™ ์ •๋ ฌ */ +.splide:not(.is-active):deep(.splide__list) { + @apply flex justify-center gap-5; } diff --git a/layers/templates/GrContents01/index.vue b/layers/templates/GrContents01/index.vue index ebc4cba..5b4f6d6 100644 --- a/layers/templates/GrContents01/index.vue +++ b/layers/templates/GrContents01/index.vue @@ -49,6 +49,7 @@ const buttonListData = computed(() => { v-if="getImagePaths(item)" :src="getImagePaths(item)" :alt="item?.group_label" + class="w-full object-contain" /> diff --git a/public/images/sample/FX_PREREGIST_01/common/bg_acc_reward.jpg b/public/images/sample/FX_PREREGIST_01/common/bg_acc_reward.jpg new file mode 100644 index 0000000..7de7965 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/common/bg_acc_reward.jpg differ diff --git a/public/images/sample/FX_PREREGIST_01/common/bg_acc_reward_m.jpg b/public/images/sample/FX_PREREGIST_01/common/bg_acc_reward_m.jpg new file mode 100644 index 0000000..f5be6b7 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/common/bg_acc_reward_m.jpg differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward01.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward01.png new file mode 100644 index 0000000..b3e3248 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward01.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward01_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward01_m.png new file mode 100644 index 0000000..8e8642c Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward01_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward02.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward02.png new file mode 100644 index 0000000..3ea37a5 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward02.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward02_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward02_m.png new file mode 100644 index 0000000..ea6f5f4 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward02_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward03.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward03.png new file mode 100644 index 0000000..b22026c Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward03.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward03_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward03_m.png new file mode 100644 index 0000000..91042db Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward03_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward04.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward04.png new file mode 100644 index 0000000..7a1e69f Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward04.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward04_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward04_m.png new file mode 100644 index 0000000..5d4d722 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward04_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward05.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward05.png new file mode 100644 index 0000000..0ff538b Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward05.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward05_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward05_m.png new file mode 100644 index 0000000..18e302d Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward05_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete01.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete01.png new file mode 100644 index 0000000..635e145 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete01.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete01_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete01_m.png new file mode 100644 index 0000000..569cd58 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete01_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete02.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete02.png new file mode 100644 index 0000000..635e145 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete02.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete02_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete02_m.png new file mode 100644 index 0000000..569cd58 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete02_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete03.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete03.png new file mode 100644 index 0000000..635e145 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete03.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete03_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete03_m.png new file mode 100644 index 0000000..569cd58 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete03_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete04.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete04.png new file mode 100644 index 0000000..635e145 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete04.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete04_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete04_m.png new file mode 100644 index 0000000..569cd58 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete04_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete05.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete05.png new file mode 100644 index 0000000..635e145 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete05.png differ diff --git a/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete05_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete05_m.png new file mode 100644 index 0000000..569cd58 Binary files /dev/null and b/public/images/sample/FX_PREREGIST_01/ko/img_acc_reward_incomplete05_m.png differ diff --git a/public/images/sample/FX_PREREGIST_01/common/img_preregist_reward.png b/public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/img_preregist_reward.png rename to public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward.png diff --git a/public/images/sample/FX_PREREGIST_01/common/img_preregist_reward_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward_m.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/img_preregist_reward_m.png rename to public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward_m.png diff --git a/public/images/sample/FX_PREREGIST_01/common/img_preregist_reward_sns.png b/public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward_sns.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/img_preregist_reward_sns.png rename to public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward_sns.png diff --git a/public/images/sample/FX_PREREGIST_01/common/img_preregist_reward_sns_m.png b/public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward_sns_m.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/img_preregist_reward_sns_m.png rename to public/images/sample/FX_PREREGIST_01/ko/img_preregist_reward_sns_m.png diff --git a/public/images/sample/FX_PREREGIST_01/common/sns_button01.png b/public/images/sample/FX_PREREGIST_01/ko/sns_button01.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/sns_button01.png rename to public/images/sample/FX_PREREGIST_01/ko/sns_button01.png diff --git a/public/images/sample/FX_PREREGIST_01/common/sns_button01_m.png b/public/images/sample/FX_PREREGIST_01/ko/sns_button01_m.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/sns_button01_m.png rename to public/images/sample/FX_PREREGIST_01/ko/sns_button01_m.png diff --git a/public/images/sample/FX_PREREGIST_01/common/sns_button02.png b/public/images/sample/FX_PREREGIST_01/ko/sns_button02.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/sns_button02.png rename to public/images/sample/FX_PREREGIST_01/ko/sns_button02.png diff --git a/public/images/sample/FX_PREREGIST_01/common/sns_button02_m.png b/public/images/sample/FX_PREREGIST_01/ko/sns_button02_m.png similarity index 100% rename from public/images/sample/FX_PREREGIST_01/common/sns_button02_m.png rename to public/images/sample/FX_PREREGIST_01/ko/sns_button02_m.png