120 lines
5.3 KiB
Vue
120 lines
5.3 KiB
Vue
<template>
|
|
<UiContainer class="space-y-[55px] sm:space-y-[75px] md:space-y-[100px]">
|
|
<div class="space-25-55-75">
|
|
<div class="grid sm:grid-cols-7 md:grid-cols-4 xl:grid-cols-2">
|
|
<h2 class="sm:col-start-2 sm:col-end-8 md:col-end-5 xl:col-start-2 h2-bold-bounded">
|
|
{{ component.section_lang_data.section_1.title }}
|
|
</h2>
|
|
</div>
|
|
<div class="space-y-[40px] sm:space-55-75">
|
|
<div v-for="(item, index) in component.section_lang_data.section_1
|
|
.text_blocks" :key="index" class="grid grid-cols-7 md:grid-cols-4 xl:grid-cols-2">
|
|
<div class="flex gap-[200px]">
|
|
<h4 class="h4-uppercase-bold-inter">0{{ index + 1 }}</h4>
|
|
<h4 class="hidden xl:block h4-uppercase-bold-inter w-full whitespace-nowrap">
|
|
{{ item.block_title }}
|
|
</h4>
|
|
</div>
|
|
<div class="col-start-2 col-end-8 md:col-end-5 space-y-[25px] sm:space-y-[45px] md:space-y-[55px]">
|
|
<h4 class="xl:hidden h4-uppercase-bold-inter w-full whitespace-nowrap">
|
|
{{ item.block_title }}
|
|
</h4>
|
|
<p>{{ item.block_text }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="space-25-55-75">
|
|
<h2 class="h2-bold-bounded">
|
|
{{ component.section_lang_data.section_2.title }}
|
|
</h2>
|
|
<div class="grid sm:grid-cols-2 xl:grid-cols-4 gap-[30px] auto-cols-fr auto-rows-fr">
|
|
<div class="border border-border rounded-2xl p-8 flex flex-col justify-between gap-[55px]" v-for="(item, index) in component.section_lang_data.section_2
|
|
.text_blocks" :key="index">
|
|
<div>
|
|
<h4 class="h4-uppercase-bold-inter">0{{ index + 1 }}</h4>
|
|
<h4 class="h4-uppercase-bold-inter">{{ item.block_title }}</h4>
|
|
</div>
|
|
<p>{{ item.block_text }}</p>
|
|
</div>
|
|
<div
|
|
class="row-end-4 sm:row-end-3 col-start-1 col-end-2 xl:row-end-1 xl:col-start-3 xl:col-end-4 flex flex-col gap-[10px] md:gap-[30px]">
|
|
<div class="w-full h-full md:h-[211px] rounded-2xl" :style="{
|
|
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[0]}?thumb=1200x0')`,
|
|
backgroundSize: 'cover',
|
|
backgroundPosition: 'center',
|
|
}" />
|
|
<div class="w-full h-full md:h-[211px] rounded-2xl" :style="{
|
|
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[1]}?thumb=1200x0')`,
|
|
backgroundSize: 'cover',
|
|
backgroundPosition: 'center',
|
|
}" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="grid space-25-55 xl:grid-cols-2">
|
|
<h2 class="h2-bold-bounded">
|
|
{{ component.section_lang_data.section_3.title }}
|
|
</h2>
|
|
<div class="flex flex-col space-25-55">
|
|
<p v-for="(item, index) in component.section_lang_data.section_3
|
|
.text_blocks" :key="index">
|
|
{{ item }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="grid xl:space-25-55 grid-cols-1 xl:grid-cols-2 xl:gap-[30px]">
|
|
<div class="flex flex-col gap-[25px] sm:gap-[55px] md:gap-[75px] xl:justify-between">
|
|
<h2 class="h2-bold-bounded">
|
|
{{ component.section_lang_data.section_4.title }}
|
|
</h2>
|
|
<p>{{ component.section_lang_data.section_4.description }}</p>
|
|
</div>
|
|
<div class="mb-[25px] mt-5 md:mb-[55px] xl:m-0 w-full h-[222px] sm:h-[371px] rounded-2xl" :style="{
|
|
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[2]}?thumb=1200x0')`,
|
|
backgroundSize: 'cover',
|
|
backgroundPosition: 'center',
|
|
}" />
|
|
<p class="xl:col-start-2 xl:col-end-3">{{ component.section_lang_data.section_4.description_second }}</p>
|
|
</div>
|
|
</UiContainer>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
defineProps<{ component: Component }>();
|
|
type Component = {
|
|
image_collection: string;
|
|
section_id: string;
|
|
section_img: string;
|
|
section_lang_data: {
|
|
section_1: {
|
|
title: string;
|
|
text_blocks: [
|
|
{
|
|
block_title: string;
|
|
block_text: string;
|
|
}
|
|
];
|
|
};
|
|
section_2: {
|
|
title: string;
|
|
text_blocks: [
|
|
{
|
|
block_title: string;
|
|
block_text: string;
|
|
}
|
|
];
|
|
};
|
|
section_3: {
|
|
title: string;
|
|
text_blocks: [];
|
|
};
|
|
section_4: {
|
|
title: string;
|
|
description: string;
|
|
description_second: string;
|
|
};
|
|
};
|
|
};
|
|
</script>
|