about us page

This commit is contained in:
2025-06-09 15:58:59 +02:00
parent 3d91d7f1bb
commit 902e2db011
5 changed files with 317 additions and 12 deletions

View File

@ -0,0 +1,69 @@
<template>
<UiContainer class="space-25-55-75">
<div class="grid xl:grid-cols-2">
<div class="space-25-75 xl:col-start-2">
<h2 class="h2-bold-bounded">
{{ component.section_lang_data.title }}
</h2>
<p>{{ component.section_lang_data.description }}</p>
</div>
</div>
<div
class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 grid-rows-5 md:grid-rows-3 xl:grid-rows-2 gap-8"
>
<div
v-for="(item, index) in component.section_lang_data.feature_blocks"
:key="index"
:class="[
'p-8 rounded-2xl border border-block flex flex-col justify-between gap-4',
index === 0 && 'bg-block dark:text-bg-dark',
index === 1 && 'xl:col-start-2 xl:col-end-3',
index === 2 && 'xl:col-start-4 xl:col-end-5',
index === 3 &&
'md:col-start-1 md:col-end-3 xl:col-start-2 xl:col-end-4',
]"
>
<h4 class="h4-uppercase-bold-inter">
<span>0{{ index + 1 }} <br></span
>{{ item.block_title }}
</h4>
<p>{{ item.block_description }}</p>
</div>
<div
class="sm:text-white xl:row-start-2 md:col-start-1 md:col-end-3 xl:col-end-2 w-full md:h-full flex justify-center xl:items-end"
>
<UiButtonArrow type="fill">Zakoupit zlato</UiButtonArrow>
</div>
<div
class="rounded-2xl row-start-4 md:row-start-2 md:col-start-2 md:col-end-3 xl:col-start-4 xl:col-end-5"
:style="{
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[0]}?thumb=1200x0')`,
backgroundSize: 'cover',
backgroundPosition: 'top',
}"
/>
</div>
</UiContainer>
</template>
<script lang="ts" setup>
import { UiButtonArrow } from "#components";
const props = defineProps<{ component: Component }>();
type Component = {
image_collection: string;
section_id: string;
section_img: string;
section_lang_data: {
title: string;
description: string;
feature_blocks: [
{
block_title: string;
block_description: string;
fill: boolean;
}
];
};
};
</script>

View File

@ -0,0 +1,128 @@
<template>
<UiContainer class="space-55-75">
<div class="space-25-55-75">
<h2 class="h2-bold-bounded">
{{ component.section_lang_data.section_1.title }}
</h2>
<div class="flex flex-col xl:flex-row gap-12">
<div
class="rounded-2xl h-[255px] sm:h-[435px] md:h-[500px] w-full xl:min-w-[700px]"
:style="{
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[0]}?thumb=1200x0')`,
backgroundSize: 'cover',
backgroundPosition: 'bottom',
}"
/>
<div class="flex flex-col justify-between space-25-55">
<div class="flex flex-col gap-4">
<h4 class="h4-uppercase-bold-inter">
{{ component.section_lang_data.section_1.sub_title }}
</h4>
<div class="flex flex-col">
<p
v-for="item in component.section_lang_data.section_1
.sub_description"
>
{{ item }}
</p>
</div>
</div>
<h4 class="h4-uppercase-bold-inter">
{{ component.section_lang_data.section_1.sub_title_second }}
</h4>
</div>
</div>
</div>
<div class="space-25-55-75">
<h2 class="h2-bold-bounded sm:text-center">
{{ component.section_lang_data.section_2.title }}
</h2>
<div class="space-25-55">
<div class="flex flex-col w-full xl:w-[55%]">
<p v-for="item in component.section_lang_data.section_2.description">
{{ item }}
</p>
</div>
<div class="w-full md:ml-10 xl:m-0 xl:grid xl:grid-cols-2">
<h4 class="col-start-2 col-end-3 h4-uppercase-bold-inter">
{{ component.section_lang_data.section_3.title }}
</h4>
</div>
</div>
<div class="flex flex-col xl:flex-row gap-12">
<div class="flex flex-col sm:flex-row gap-3 min-w-[60%]">
<div
class="rounded-2xl h-[230px] sm:h-[300px] w-full xl:h-[770px]"
:style="{
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[1]}?thumb=1200x0')`,
backgroundSize: 'cover',
backgroundPosition: 'center',
}"
/>
<div
class="rounded-2xl xl:hidden w-full h-[230px] sm:h-[300px] xl:w-full xl:h-[328px]"
:style="{
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[2]}?thumb=1200x0')`,
backgroundSize: 'cover',
backgroundPosition: 'center',
}"
/>
</div>
<div class="flex flex-col justify-between space-25-55 xl:w-[70%]">
<div
class="hidden xl:block rounded-2xl max-full min-h-[330px]"
:style="{
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[2]}?thumb=1200x0')`,
backgroundSize: 'cover',
backgroundPosition: 'center',
}"
/>
<div class="h-full flex flex-col gap-5 xl:gap-0 justify-between">
<h4 class="col-start-2 col-end-3 h4-uppercase-bold-inter">
{{ component.section_lang_data.section_4.title }}
</h4>
<div class="flex flex-col">
<p
v-if="component.section_lang_data.section_4.description"
v-html="component.section_lang_data.section_4.description[0]"
></p>
<br />
<p
v-if="component.section_lang_data.section_4.description"
v-html="component.section_lang_data.section_4.description[1]"
></p>
</div>
<h4 class="col-start-2 col-end-3 h4-uppercase-bold-inter">
{{ component.section_lang_data.section_5.title }}
</h4>
</div>
</div>
</div>
</div>
</UiContainer>
</template>
<script lang="ts" setup>
import { UiButtonArrow } from "#components";
const props = defineProps<{ component: Component }>();
interface ContentSection {
title: string;
sub_title?: string;
sub_title_second?: string;
sub_description?: string[];
description?: string[];
}
type Component = {
image_collection: string;
section_id: string;
section_img: string;
section_lang_data: {
section_1: ContentSection;
section_2: ContentSection;
section_3: ContentSection;
section_4: ContentSection;
section_5: ContentSection;
};
};
</script>

View File

@ -0,0 +1,82 @@
<template>
<UiContainer class="space-y-[55px] sm:space-y-[75px] xl:space-y-[100px]">
<div class="w-full flex flex-col md:flex-row justify-between gap-7">
<div class="flex flex-col justify-between w-full gap-4 xl:w-[45%]">
<div class="space-y-[25px]">
<h1 class="h1-big text-accent-green-light dark:text-accent-green-dark">
{{ component.section_lang_data.main_title }}
</h1>
<p>
{{ component.section_lang_data.main_description }}
</p>
</div>
<h4 class="h4-uppercase-bold-inter">
{{ component.section_lang_data.main_subtitle }}
</h4>
</div>
<div
class="rounded-2xl h-[340px] sm:h-[380px] md:min-w-[324px] xl:h-[800px] xl:min-w-[740px] m-0 sm:mx-10 md:m-0"
:style="{
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[0]}?thumb=1200x0')`,
backgroundSize: 'cover',
backgroundPosition: 'center',
}"
/>
</div>
<div class="space-25-55-75">
<h2 class="h2-bold-bounded">
{{ component.section_lang_data.story_title }}
</h2>
<div class="flex flex-col-reverse md:flex-row w-full gap-6">
<div
class="rounded-2xl h-[390px] md:h-auto min-w-[40%] xl:min-w-[60%]"
:style="{
backgroundImage: `url('/api/files/${component.image_collection}/${component.section_id}/${component.section_img[1]}?thumb=1200x0')`,
backgroundSize: 'cover',
backgroundPosition: 'center',
}"
/>
<div class="flex flex-col">
<p v-for="(item, index) in component.section_lang_data.story_description">
{{ item }}
<div v-if="index < component.section_lang_data.story_description.length-1">
<br>
</div>
</p>
</div>
</div>
<div class="flex flex-col w-full gap-6">
<h4 class="h4-uppercase-bold-inter">
{{ component.section_lang_data.story_subtitle }}
</h4>
<div class="flex flex-col justify-between xl:max-w-[70%]">
<p v-for="(el, indexEl) in component.section_lang_data.story_sub_description">
{{ el }}
<div v-if="indexEl < component.section_lang_data.story_sub_description.length-1">
<br>
</div>
</p>
</div>
</div>
</div>
</UiContainer>
</template>
<script lang="ts" setup>
const props = defineProps<{ component: Component }>();
type Component = {
image_collection: string;
section_id: string;
section_img: string;
section_lang_data: {
main_title: string;
main_description: string;
main_subtitle: string;
story_title: string;
story_description: [];
story_subtitle: string;
story_sub_description: [];
};
};
</script>