2023-04-23 14:19:03 +08:00
< script setup lang = "ts" >
2023-05-04 17:42:22 +08:00
import { useSectionEight } from '~/config/pages/home/use-section-eight'
2023-05-04 00:47:08 +08:00
import { useSectionFive } from '~/config/pages/home/use-section-five'
import { useSectionFour } from '~/config/pages/home/use-section-four'
2023-05-04 17:42:22 +08:00
import { useSectionNine } from '~/config/pages/home/use-section-nine'
2023-04-27 13:58:47 +08:00
import { useSectionOne } from '~/config/pages/home/use-section-one'
2023-05-04 17:42:22 +08:00
import { useSectionSeven } from '~/config/pages/home/use-section-seven'
2023-05-04 00:47:08 +08:00
import { useSectionSix } from '~/config/pages/home/use-section-six'
2023-04-27 13:58:47 +08:00
import { useSectionThree } from '~/config/pages/home/use-section-three'
import { useSectionTwo } from '~/config/pages/home/use-section-two'
const sectionOne = useSectionOne ( )
const sectionTwo = useSectionTwo ( )
const sectionThree = useSectionThree ( )
2023-05-04 00:47:08 +08:00
const sectionFour = useSectionFour ( )
const sectionFive = useSectionFive ( )
const sectionSix = useSectionSix ( )
2023-05-04 17:42:22 +08:00
const sectionSeven = useSectionSeven ( )
const sectionEight = useSectionEight ( )
const sectionNine = useSectionNine ( )
2023-04-23 14:19:03 +08:00
< / script >
< template >
2023-04-26 19:45:54 +08:00
< Carousel class = "mb-5" / >
2023-04-23 23:14:52 +08:00
< Divider / >
2023-04-27 13:58:47 +08:00
<!-- Section One -- >
2023-04-26 19:45:54 +08:00
< Section >
2023-04-27 13:58:47 +08:00
< h2 class = "text-h2" :title ="$t(sectionOne.topic)" >
{ { $t ( sectionOne . topic ) } }
2023-04-26 19:45:54 +08:00
< / h2 >
2023-05-04 17:42:22 +08:00
< div class = "grid-row pt-20 md:(grid-cols-2)" :class ="`lg:grid-cols-${sectionOne.content.length}`" >
2023-04-26 19:45:54 +08:00
< div
2023-04-27 13:58:47 +08:00
v - for = "(col, i) in sectionOne.content"
: key = "i"
class = "w-full overflow-hidden text-center"
>
2023-05-04 17:42:22 +08:00
< h2 :title ="$t(col.title)" class = "text-h2 break-words from-pink-500 to-violet-500 bg-gradient-to-r bg-clip-text text-7xl font-bold text-transparent" >
2023-04-27 13:58:47 +08:00
{ { $t ( col . title ) } }
< / h2 >
< Divider / >
2023-05-04 00:47:08 +08:00
< h5 :title ="$t(col.subtext)" class = "text-h4 text-h5 mt-3 break-words" >
2023-04-27 13:58:47 +08:00
{ { $t ( col . subtext ) } }
< / h5 >
2023-05-04 00:47:08 +08:00
< p :title ="$t(col.description)" class = "text-h6 mt-1 break-words !line-clamp-3" >
2023-04-27 13:58:47 +08:00
{ { $t ( col . description ) } }
< / p >
< / div >
2023-04-26 19:45:54 +08:00
< / div >
< / Section >
2023-04-27 13:58:47 +08:00
<!-- Section Two -- >
2023-05-04 17:42:22 +08:00
< Section class = "border-b-2 border-dark/40 border-b-solid from-dark/30 bg-gradient-to-t dark:(border-light-50/10 from-light/5)" >
2023-04-26 19:45:54 +08:00
< p class = "text-title" >
2023-04-27 13:58:47 +08:00
{ { $t ( sectionTwo . title ) } }
2023-04-26 19:45:54 +08:00
< / p >
2023-04-27 13:58:47 +08:00
< div class = "grid-row grid-cols-2 py-10 md:grid-cols-3" :class ="`lg:grid-cols-${sectionTwo.content.length}`" >
< NuxtLink
v - for = "(content, i) in sectionTwo.content"
: key = "i"
class = "h-10 w-full flex justify-center"
: href = "content.href"
: title = "$t(content.title)"
>
< img :src ="content.img" >
< / NuxtLink >
2023-04-26 19:45:54 +08:00
< / div >
< / Section >
2023-04-27 13:58:47 +08:00
<!-- Section Three -- >
2023-05-04 17:42:22 +08:00
< Section text -center class = "section-three" >
2023-04-26 19:45:54 +08:00
< p class = "text-title" >
2023-04-27 13:58:47 +08:00
{ { $t ( sectionThree . title ) } }
2023-04-26 19:45:54 +08:00
< / p >
< h2 class = "text-h2" >
2023-04-27 13:58:47 +08:00
{ { $t ( sectionThree . topic ) } }
2023-04-26 19:45:54 +08:00
< / h2 >
< p class = "text-h6" >
2023-04-27 13:58:47 +08:00
{ { $t ( sectionThree . description ) } }
2023-04-26 19:45:54 +08:00
< / p >
< div >
2023-05-04 00:47:08 +08:00
< div class = "grid-row py-10 md:(grid-cols-2)" :class ="`lg:grid-cols-${sectionThree.contentPrimary.length}`" >
2023-04-27 13:58:47 +08:00
< NuxtLink
2023-05-04 00:47:08 +08:00
v - for = "(content, i) in sectionThree.contentPrimary"
2023-04-27 13:58:47 +08:00
: key = "i"
: href = "content.href"
2023-05-04 00:47:08 +08:00
class = "group relative w-full overflow-hidden rounded-lg bg-primary bg-opacity-35 shadow-lg"
2023-04-27 13:58:47 +08:00
>
< img :src ="content.img" >
2023-05-04 17:42:22 +08:00
< div class = "mask-img opacity-0 group-hover:opacity-100" >
2023-05-04 00:47:08 +08:00
< div class = "text-h4 w-full" >
< p :title ="content.topic" class = "w-90% truncate text-white" >
2023-04-27 13:58:47 +08:00
{ { content . topic } }
< / p >
< / div >
2023-05-04 00:47:08 +08:00
< div i -solar -arrow -right -linear stroke -3 font -bold text -white / >
2023-04-27 13:58:47 +08:00
< / div >
< / NuxtLink >
2023-04-26 19:45:54 +08:00
< / div >
2023-04-27 13:58:47 +08:00
< div class = "grid-row pb-10 md:(grid-cols-2)" :class ="`lg:grid-cols-${sectionThree.contentSecondary.length}`" >
< NuxtLink
v - for = "(content, i) in sectionThree.contentSecondary"
: key = "i"
: href = "content.href"
2023-05-04 00:47:08 +08:00
class = "group relative w-full overflow-hidden rounded-lg bg-primary bg-opacity-35 shadow-lg"
2023-04-27 13:58:47 +08:00
>
< img :src ="content.img" >
2023-05-04 17:42:22 +08:00
< div class = "mask-img opacity-0 group-hover:opacity-100" >
2023-05-04 00:47:08 +08:00
< div class = "text-h4 w-full" >
< p :title ="content.topic" class = "w-90% truncate text-white" >
2023-04-27 13:58:47 +08:00
{ { content . topic } }
< / p >
< / div >
2023-05-04 00:47:08 +08:00
< div i -solar -arrow -right -linear stroke -3 font -bold text -white / >
2023-04-27 13:58:47 +08:00
< / div >
< / NuxtLink >
2023-04-26 19:45:54 +08:00
< / div >
2023-04-27 13:58:47 +08:00
< div class = "grid-row pb-20 md:(grid-cols-2)" :class ="`lg:grid-cols-${sectionThree.contentThird.length}`" >
< NuxtLink
v - for = "(content, i) in sectionThree.contentThird"
: key = "i"
: href = "content.href"
2023-05-04 00:47:08 +08:00
class = "group relative w-full overflow-hidden rounded-lg bg-primary bg-opacity-35 shadow-lg"
2023-04-27 13:58:47 +08:00
>
< img :src ="content.img" >
2023-05-04 17:42:22 +08:00
< div class = "mask-img opacity-0 group-hover:opacity-100" >
2023-05-04 00:47:08 +08:00
< div class = "text-h4 w-full" >
< p :title ="content.topic" class = "w-90% truncate text-white" >
2023-04-27 13:58:47 +08:00
{ { content . topic } }
< / p >
< / div >
2023-05-04 00:47:08 +08:00
< div i -solar -arrow -right -linear stroke -3 font -bold text -white / >
2023-04-27 13:58:47 +08:00
< / div >
< / NuxtLink >
2023-04-26 19:45:54 +08:00
< / div >
< / div >
2023-05-04 00:47:08 +08:00
< NuxtLink :href ="sectionThree.link.href" >
< ABtn > { { $t ( sectionThree . link . name ) } } < / ABtn >
< / NuxtLink >
2023-04-26 19:45:54 +08:00
< / Section >
2023-05-04 00:47:08 +08:00
<!-- Section Four -- >
2023-05-05 17:23:07 +08:00
< Banner
: img = "$t(sectionFour.img)" : topic = "$t(sectionFour.topic)" : description = "$t(sectionFour.description)" : link = " {
href : sectionFour . link . href ,
name : $t ( sectionFour . link . name ) ,
} " mask=" bottom "
/ >
2023-05-04 00:47:08 +08:00
<!-- Section Five -- >
< Section class = "from-violet-500 to-fuchsia-500 text-white dark:(from-violet-600 to-fuchsia-600)" bg -gradient -to -r >
2023-04-26 19:45:54 +08:00
< p class = "text-title text-start" >
2023-05-04 00:47:08 +08:00
{ { $t ( sectionFive . title ) } }
2023-04-26 19:45:54 +08:00
< / p >
2023-05-04 00:47:08 +08:00
< h2 class = "text-h2 text-start text-white" >
{ { $t ( sectionFive . topic ) } }
2023-04-26 19:45:54 +08:00
< / h2 >
2023-05-04 17:42:22 +08:00
< p class = "text-h6 mb-20 text-start" >
2023-05-04 00:47:08 +08:00
{ { $t ( sectionFive . description ) } }
2023-04-26 19:45:54 +08:00
< / p >
2023-05-04 17:42:22 +08:00
< div class = "grid-row gap-26 pb-10 lg:(grid-cols-3) md:(grid-cols-2)" >
2023-04-26 19:45:54 +08:00
< div
2023-05-04 00:47:08 +08:00
v - for = "(content, i) in sectionFive.content"
: key = "i"
class = "w-full"
>
< h4 text -h4 class = "break-words text-start font-bold text-white !line-clamp-2" >
{ { content . topic } }
< / h4 >
2023-05-04 17:42:22 +08:00
< p text -h7 class = "break-words text-start !line-clamp-3" >
2023-05-04 00:47:08 +08:00
{ { content . description } }
< / p >
< / div >
2023-04-26 19:45:54 +08:00
< / div >
< / Section >
2023-05-04 00:47:08 +08:00
<!-- Section Six -- >
2023-04-26 19:45:54 +08:00
< Section >
< h2 class = "text-h2" >
2023-05-04 00:47:08 +08:00
{ { $t ( sectionSix . topic ) } }
2023-04-26 19:45:54 +08:00
< / h2 >
< p class = "text-h6" >
2023-05-04 00:47:08 +08:00
{ { $t ( sectionSix . description ) } }
2023-04-26 19:45:54 +08:00
< / p >
2023-05-04 00:47:08 +08:00
< div v-for ="(item, i) in sectionSix.content" :key="i" class="flex flex-wrap gap-6 py-10 md:flex-nowrap" :class="{ 'flex-row-reverse': i % 2 === 0 }" >
2023-05-04 17:42:22 +08:00
< div class = "w-45% flex-grow" >
< div class = "relative h-full w-full flex items-center justify-center overflow-hidden border-6px border-dark-50/10 rounded-xl dark:border-light-50/10" style = "mask-image:linear-gradient(0deg, transparent, #000);-webkit-mask-image:linear-gradient(0deg, transparent, #000 60%);" >
2023-04-26 19:45:54 +08:00
< img :src ="item.img" >
2023-04-23 14:19:03 +08:00
< / div >
2023-04-26 19:45:54 +08:00
< / div >
2023-05-04 17:42:22 +08:00
< div class = "w-55% flex-grow" >
< div class = "h-full w-full flex flex-col items-center justify-center px-16 md:items-start" >
2023-04-26 19:45:54 +08:00
< p class = "text-title" >
{ { item . title } }
< / p >
2023-05-04 00:47:08 +08:00
< h4 class = "text-h4 font-bold" >
2023-04-26 19:45:54 +08:00
{ { item . topic } }
< / h4 >
2023-05-04 00:47:08 +08:00
< p class = "text-h6 md:text-left" >
2023-04-26 19:45:54 +08:00
{ { item . description } }
< / p >
2023-05-04 17:42:22 +08:00
< div w -full py -10 >
2023-04-26 19:45:54 +08:00
< NuxtLink :href ="item.link.href" >
2023-05-04 17:42:22 +08:00
< ABtn variant = "light" class = "group" >
{ { item . link . name } } < div i -solar -arrow -right -linear class = "transition-all group-hover:px-4" / >
2023-04-26 19:45:54 +08:00
< / ABtn >
< / NuxtLink >
< / div >
< / div >
< / div >
< / div >
< / Section >
2023-05-04 00:47:08 +08:00
<!-- Section Seven -- >
2023-05-05 17:23:07 +08:00
< Banner :img ="$t(sectionSeven.img)" :title ="$t(sectionSeven.title)" :topic ="$t(sectionSeven.topic)" mask = "bottom" / >
2023-05-04 17:42:22 +08:00
<!-- Section Eight -- >
2023-04-26 19:45:54 +08:00
< Section >
2023-05-04 17:42:22 +08:00
< div class = "grid-row gap-20 pb-20 lg:(grid-cols-4) md:(grid-cols-2)" >
2023-04-26 19:45:54 +08:00
< div
2023-05-04 17:42:22 +08:00
v - for = "(content, i) in sectionEight.content"
: key = "i"
class = "w-full"
>
< div :class ="content.icon" class = "h-60px w-full" / >
< h4 text -h4 class = "break-words font-bold !line-clamp-2" >
{ { content . title } }
< / h4 >
< p text -h7 class = "break-words text-center !line-clamp-3" >
{ { content . description } }
< / p >
< / div >
2023-04-26 19:45:54 +08:00
< / div >
2023-05-04 17:42:22 +08:00
<!-- < div class = "grid-row rounded-lg from-violet-500 to-fuchsia-500 bg-gradient-to-r p-5 text-white shadow-lg lg:(grid-cols-2)" >
2023-04-26 19:45:54 +08:00
< ATypography
2023-05-04 17:42:22 +08:00
class = "text-white"
2023-04-26 19:45:54 +08:00
title = "Awesome mobile"
subtitle = "Biscuit liquorice apple pie candy canes"
: text = "['Donut jelly beans cake lollipop sweet biscuit. Pie apple pie powder apple pie gummi bears. Jelly apple pie croissant candy canes liquorice halvah.', 'text-sm']"
/ >
< div h -full w -full flex flex -col items -center justify -center gap -3 >
< div flex items -center gap -3 >
< AInput class = "col-start-1 w-full text-sm" input -wrapper -classes = " bg -light -50 " / >
< ABtn > test < / ABtn >
2023-04-23 14:19:03 +08:00
< / div >
2023-04-26 19:45:54 +08:00
< ACheckbox >
< span > I am agreed to terms and conditions < / span >
< / ACheckbox >
< / div >
2023-05-04 17:42:22 +08:00
< / div > -- >
2023-04-26 19:45:54 +08:00
< / Section >
< Divider / >
2023-05-04 17:42:22 +08:00
<!-- Section Nine -- >
2023-04-26 19:45:54 +08:00
< Section my -10 from -green -500 to -lime -300 bg -gradient -to -r >
< p class = "text-title text-start" >
2023-05-04 17:42:22 +08:00
{ { $t ( sectionNine . title ) } }
2023-04-26 19:45:54 +08:00
< / p >
< h2 class = "text-h2 text-start" >
2023-05-04 17:42:22 +08:00
{ { $t ( sectionNine . topic ) } }
2023-04-26 19:45:54 +08:00
< / h2 >
2023-05-04 00:47:08 +08:00
< p class = "text-h6 mb-10 text-start" >
2023-05-04 17:42:22 +08:00
{ { $t ( sectionNine . description ) } }
2023-04-26 19:45:54 +08:00
< / p >
< / Section >
< Divider / >
2023-04-23 14:19:03 +08:00
< / template >
2023-05-04 17:42:22 +08:00
< style scoped lang = "scss" >
. section - three {
. mask - img {
-- uno : 'absolute bottom-0 left-0 z-1 flex h-50px w-full items-center justify-center border-t-2px border-dark-50/10 bg-black/15 p-2 px-10 backdrop-blur-md transition ' ;
box - shadow : 0 - 5 px 25 px rgba ( 0 , 0 , 0 , 0.4 ) ;
}
}
< / style >