60 lines
1.6 KiB
Vue
60 lines
1.6 KiB
Vue
<script setup lang="ts">
|
|
import { getComponentGroup, getComponentGroupAry } from '#layers/utils/dataUtil'
|
|
|
|
interface Props {
|
|
components: Record<string, any>
|
|
pageVerTmplSeq: string
|
|
}
|
|
|
|
const props = defineProps<Props>()
|
|
|
|
const backgroundData = computed(() =>
|
|
getComponentGroup(props.components, 'background')
|
|
)
|
|
const mainTitleData = computed(() =>
|
|
getComponentGroup(props.components, 'mainTitle')
|
|
)
|
|
const descriptionData = computed(() =>
|
|
getComponentGroup(props.components, 'description')
|
|
)
|
|
const videoPlayData = computed(() =>
|
|
getComponentGroup(props.components, 'videoPlay')
|
|
)
|
|
const buttonListData = computed(() =>
|
|
getComponentGroupAry(props.components, 'buttonList')
|
|
)
|
|
</script>
|
|
|
|
<template>
|
|
<section class="section-container">
|
|
<WidgetsBackground
|
|
v-if="backgroundData"
|
|
:resources-data="backgroundData"
|
|
gradient="h-[342px] bg-[linear-gradient(180deg,rgba(16,13,15,0)_0%,#100D0F_90%)] md:h-[720px]"
|
|
/>
|
|
<div class="section-content">
|
|
<WidgetsMainTitle
|
|
v-if="mainTitleData"
|
|
:resources-data="mainTitleData"
|
|
class="w-[355px] md:w-[944px]"
|
|
/>
|
|
<WidgetsDescription
|
|
v-if="descriptionData"
|
|
:resources-data="descriptionData"
|
|
class="w-[355px] md:w-[944px]"
|
|
/>
|
|
<WidgetsVideoPlay
|
|
v-if="videoPlayData"
|
|
:resources-data="videoPlayData"
|
|
:page-ver-tmpl-seq="Number(props.pageVerTmplSeq)"
|
|
/>
|
|
<WidgetsButtonList
|
|
v-if="buttonListData.length > 0"
|
|
:resources-data="buttonListData"
|
|
button-type="market"
|
|
class="mt-[28px] md:mt-[52px]"
|
|
/>
|
|
</div>
|
|
</section>
|
|
</template>
|