File: /var/www/fintechfuel/src/routes/[...lang=locale]/(app)/about/WhoWeAre.svelte
<script lang="ts">
import { t } from '$lib/translations';
import { register } from 'swiper/element/bundle';
import { Pagination, Navigation } from 'swiper/modules';
import pic1 from '../../../../assets/images/about/whoWeAre/1.png';
import pic2 from '../../../../assets/images/about/whoWeAre/2.png';
import pic3 from '../../../../assets/images/about/whoWeAre/3.png';
import pic4 from '../../../../assets/images/about/whoWeAre/4.png';
import pic5 from '../../../../assets/images/about/whoWeAre/5.png';
import pic6 from '../../../../assets/images/about/whoWeAre/6.png';
import pic7 from '../../../../assets/images/about/whoWeAre/7.png';
import pic8 from '../../../../assets/images/about/whoWeAre/8.png';
import nextEl from '../../../../assets/images/about/nextEl.svg';
import prevEl from '../../../../assets/images/about/prevEl.svg';
import { onMount } from 'svelte';
import type { SwiperOptions } from 'swiper/types';
// register Swiper custom elements
register();
let swiperEl: Node | undefined;
const params:SwiperOptions = {
pagination: true,
navigation: {
enabled: true,
prevEl: '.prevButtonEl',
nextEl: '.nextButtonEl',
},
modules: [Pagination, Navigation],
}
onMount(() => {
if (swiperEl) {
Object.assign(swiperEl, params);
swiperEl.initialize();
}
});
</script>
<div class="whoWeAre">
<div class="whoWeAreText">
<div class="whoWeAreTextContent">
<h2 class="whoWeAreTextTitle">Who we are</h2>
<div class="whoWeAreTextDescription">
<ul>
<li>
Founded in <b>2014</b>, FintechFuel is a <b>leader in the fintech industry</b>
</li>
<li>
Our team is dedicated to providing financial institutions the <b>tools they need to succeed</b> in the competitive trading landscape.
</li>
<li>
We create <a class="coloredText" href="#">user-friendly and reliable solutions</a>
</li>
</ul>
</div>
</div>
</div>
<div class="whoWeAreSlider">
<swiper-container init="false" class="swiperContainer" autoplay={true} bind:this={swiperEl}>
<swiper-slide>
<img src={pic1} alt="1">
</swiper-slide>
<swiper-slide>
<img src={pic2} alt="2">
</swiper-slide>
<swiper-slide>
<img src={pic3} alt="3">
</swiper-slide>
<swiper-slide>
<img src={pic4} alt="4">
</swiper-slide>
<swiper-slide>
<img src={pic5} alt="5">
</swiper-slide>
<swiper-slide>
<img src={pic6} alt="6">
</swiper-slide>
<swiper-slide>
<img src={pic7} alt="7">
</swiper-slide>
<swiper-slide>
<img src={pic8} alt="8">
</swiper-slide>
</swiper-container>
<div class="nextButtonEl">
<img src={nextEl} alt="nextButtonEl">
</div>
<div class="prevButtonEl">
<img src={prevEl} alt="prevButtonEl">
</div>
</div>
</div>
<style lang="scss">
@import 'src/scss/media';
.whoWeAre{
width: 100%;
display: flex;
height: 900px;
overflow: hidden;
@include breakpoint-down('tabM') {
height: 547px;
}
@include breakpoint-down('tabS') {
height: auto;
flex-direction: column;
}
@include breakpoint-down('mobM') {
height: auto;
flex-direction: column;
}
}
.whoWeAreText {
display: flex;
flex: 1;
width: 50vw;
justify-content: end;
padding-right: 148px;
align-items: center;
background-color: #202020;
color: #FFFFFF;
@include breakpoint-down('deskS') {
padding-right: 50px;
}
@include breakpoint-down('tabM') {
padding-right: 25px;
}
@include breakpoint-down('tabS') {
padding: 48px 43px 48px 43px;
width: 100%;
justify-content: center;
}
@include breakpoint-down('mobM') {
padding: 48px 43px 48px 43px;
align-items: start;
flex: none;
}
}
.whoWeAreTextContent {
width: 428px;
display: flex;
flex-direction: column;
gap: 32px;
@include breakpoint-down('mobM') {
gap: 24px;
}
}
.whoWeAreTextTitle {
font-size: 72px;
line-height: 94px;
font-weight: 600;
@include breakpoint-down('tabM') {
font-size: 44px;
line-height: 52px;
text-align: center;
}
@include breakpoint-down('mobM') {
font-size: 32px;
line-height: 130%;
text-align: center;
}
}
.whoWeAreTextDescription {
padding-left: 30px;
font-size: 24px;
line-height: 30px;
@include breakpoint-down('tabM') {
font-size: 18px;
line-height: 25px;
}
@include breakpoint-down('mobM') {
font-size: 17px;
line-height: 150%;
padding-left: 26px;
}
ul {
list-style-type: disc;
display: flex;
flex-direction: column;
gap: 12px;
letter-spacing: 0.3px;
@include breakpoint-down('mobM') {
letter-spacing: 0.1px;
gap: 14px;
}
li {
}
}
}
.whoWeAreSlider{
position: relative;
width: 50vw;
flex: 1;
@include breakpoint-down('tabS') {
width: 100%;
flex: none;
height: 550px;
}
@include breakpoint-down('mobM') {
height: 100%;
}
}
.swiperContainer {
position: relative;
width: 100%;
height: 100%;
--swiper-pagination-color: #FFFFFF;
--swiper-pagination-bullet-horizontal-gap: 6px;
--swiper-pagination-bottom: 23px;
--swiper-pagination-bullet-width: 10px;
--swiper-pagination-bullet-height: 10px;
--swiper-navigation-size: 0px;
--swiper-navigation-sides-offset: 30px;
--swiper-theme-color: #FFFFFF;
@include breakpoint-down('mobM') {
--swiper-navigation-size: 10px;
--swiper-pagination-bullet-horizontal-gap: 3.87px;
--swiper-pagination-bottom: 18px;
--swiper-pagination-bullet-width: 7px;
--swiper-pagination-bullet-height: 7px;
}
}
img {
object-fit: cover;
width: 100%;
height: 100%;
}
.coloredText {
color: #FE4D0D;
text-decoration: none;
}
.nextButtonEl{
position: absolute;
z-index: 2;
top: 50%;
right: 25px;
display: none;
@include breakpoint-down('mobM') {
display: block;
}
}
.prevButtonEl{
position: absolute;
z-index: 2;
top: 50%;
left: 25px;
display: none;
@include breakpoint-down('mobM') {
display: block;
}
}
b{
@include breakpoint-down('mobM') {
font-weight: 400;
}
}
</style>