HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode.com/src/components/blocks/about-old/Awards.svelte
<script lang="ts">
  import PaginationEl from '../../pagination/Pagination.svelte';
  import { onMount } from 'svelte';
  import Swiper from 'swiper';
  import 'swiper/css';
  import 'swiper/css/pagination';
  import { Pagination } from 'swiper/modules';
  import awards from '../../../assets/images/about/awards/awards.webp';
  import imgMobile from '../../../assets/images/about/awards/Awards_mobile.webp';
  import AIO_MEA23 from '../../../assets/images/about/awards/AIO_MEA23.webp';
  import AIO_MEA23SVG from '../../../assets/images/about/awards/AIO_MEA23.svg';
  import BWL_MEA23 from '../../../assets/images/about/awards/BWL_MEA23.webp';
  import BWL_MEA23SVG from '../../../assets/images/about/awards/BWL_MEA23.svg';
  import { t } from '$lib/translations';

  onMount(() => {
    const container: HTMLElement | null = document.querySelector('.block-awards__swiper');
    const pagination: HTMLElement | null = document.querySelector('.block-awards__pagination');

    if (!container || !pagination) return;

    new Swiper(container, {
      modules: [Pagination],
      spaceBetween: 40,
      pagination: {
        el: pagination,
        clickable: true,
      },
      breakpoints: {
        320: {
          slidesPerView: 1,
          spaceBetween: 24,
        },
        480: {
          slidesPerView: 2,
          spaceBetween: 24,
        },
        768: {
          slidesPerView: 2,
          spaceBetween: 20,
        },
        1366: {
          slidesPerView: 2,
          spaceBetween: 32,
        },
        1800: {
          slidesPerView: 2,
          spaceBetween: 41,
        },
      },
    });
  });
</script>

<div class="block-awards">
  <picture>
    <source srcset={imgMobile} media="(max-width: 767px)" />
    <img src={awards} alt="" class="block-awards__bg" />
  </picture>
  <div class="container">
    <div class="block-awards__wrapper">
      <div class="block-awards__content">
        <h2 class="block-awards__title">{$t('about.Awards')}</h2>
        <p class="block-awards__text">
          {$t('about.Discover our awards –')}<br /> {$t('about.proof of our hard work and innovation.')}
        </p>
      </div>
      <div class="block-awards__slider">
        <div class="swiper block-awards__swiper">
          <div class="swiper-wrapper">
            <div class="swiper-slide">
              <div class="block-awards__slide">
                <img src={AIO_MEA23SVG} alt="" class="block-awards__logo" />
                <img src={AIO_MEA23} alt="" class="block-awards__img" />
              </div>
            </div>
            <div class="swiper-slide">
              <div class="block-awards__slide">
                <img src={BWL_MEA23SVG} alt="" class="block-awards__logo" />
                <img src={BWL_MEA23} alt="" class="block-awards__img" />
              </div>
            </div>
          </div>
        </div>
        <PaginationEl className="block-awards__pagination" theme="white" />
      </div>
    </div>
  </div>
</div>

<style lang="scss">
  @import 'src/scss/variables';
  @import 'src/scss/media';
  @import 'src/scss/mixins';

  .block-awards {
    height: 820px;
    position: relative;

    @include breakpoint-down('deskL') {
      height: 622px;
    }

    @include breakpoint-down('deskS') {
      height: 554px;
      overflow: hidden;
    }

    @include breakpoint-down('tabM') {
      height: 1028px;
    }

    &__bg {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      height: 100%;
      object-fit: cover;
      object-position: bottom;

      @include breakpoint-down('deskS') {
        width: 158%;
        z-index: 0;
        left: 50%;
        transform: translateX(-50%);
      }

      @include breakpoint-down('tabM') {
        width: 103%;
        object-position: top;
      }
    }

    &__wrapper {
      display: flex;
      justify-content: space-between;

      @include breakpoint-down('deskS') {
        gap: 20px;
      }

      @include breakpoint-down('tabM') {
        flex-wrap: wrap;
        gap: 40px;
      }
    }

    &__content {
      max-width: 480px;
      padding-top: 138px;

      @include breakpoint-down('deskL') {
        max-width: 417px;
        padding-top: 76px;
      }

      @include breakpoint-down('deskS') {
        padding-top: 44px;
      }

      @include breakpoint-down('tabM') {
        width: 100%;
        padding-top: 40px;
      }
    }

    &__title {
      @include titleXL;

      margin-bottom: 24px;
      color: $techWhite;

      @include breakpoint-down('deskL') {
        margin-bottom: 16px;
      }

      @include breakpoint-down('deskS') {
        margin-bottom: 8px;
      }

      @include breakpoint-down('tabM') {
        text-align: center;
      }
    }

    &__text {
      color: $techWhite;

      @include breakpoint-down('tabM') {
        text-align: center;
      }

      br {
        @include breakpoint-down('tabM') {
          display: none;
        }
      }
    }

    &__slider {
      max-width: 680px;
      padding-top: 88px;

      @include breakpoint-down('deskL') {
        max-width: 544px;
        padding-top: 62px;
      }

      @include breakpoint-down('deskS') {
        width: 65.7%;
        max-width: none;
        padding-top: 44px;
      }

      @include breakpoint-down('tabM') {
        padding-top: 0;
        margin-left: -20px;
        width: calc(100% + 40px);
      }
    }

    &__swiper {
      @include breakpoint-down('tabM') {
        padding: 0 80px;
      }
    }

    &__slide {
      border-radius: 16px;
      border: 1px solid rgba(255, 255, 255, 0.2);
      background: linear-gradient(180deg, rgba(248, 119, 119, 0.22) 0%, rgba(37, 91, 172, 0.02) 100%);
      backdrop-filter: blur(20px);
      padding-top: 34px;

      @include breakpoint-down('deskL') {
        padding-top: 32px;
      }

      @include breakpoint-down('deskS') {
        padding-top: 24px;
      }
    }

    &__logo {
      height: auto;
      max-width: 205px;
      margin-bottom: 9px;
      margin-inline: auto;

      @include breakpoint-down('deskL') {
        max-width: 169px;
        margin-bottom: 0;
      }

      @include breakpoint-down('deskS') {
        max-width: 131px;
      }
    }

    &__img {
      height: auto;
      max-width: 176px;
      margin-inline: auto;

      @include breakpoint-down('deskL') {
        max-width: 141px;
      }

      @include breakpoint-down('deskS') {
        max-width: 110px;
      }
    }

    & :global(.block-awards__pagination) {
      padding-top: 24px;
    }
  }
</style>