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/card/CardVideo.svelte
<script lang="ts">
  import { idVideoActive, loadEvent } from '../../store';
  import loadObserver from '$utils/loadObserver';
  import scrollLock from '$utils/scrollLock';

  export let className: string | undefined = '';

  export let idVideo: string;
  export let image: string;
  export let title: string;
  export let text: string;

  loadEvent.set(false);

  const onload = loadObserver(() => {
    loadEvent.set(true);
  });

  const onClick = (id: string) => {
    idVideoActive.set(id);
    scrollLock(true);
  };
</script>

<div
  class="card-video {className}"
  on:click={() => onClick(idVideo)}
  on:keydown={() => false}
  tabindex="0"
  role="button"
>
  <div class="card-video__header">
    <img use:onload src={image} alt="" class="card-video__image" />
  </div>
  <div class="card-video__body">
    <p class="card-video__name">{title}</p>
    <p class="card-video__post">{text}</p>
  </div>
</div>

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

  .card-video {
    user-select: none;
    cursor: pointer;
    width: 100%;

    &__header {
      margin-bottom: 16px;
    }

    &__image {
      overflow: hidden;
      border-radius: 8px;
      height: 240px;
      object-fit: cover;
      object-position: center;
      background: rgba(217, 217, 217, 1);

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

      @include breakpoint-down('deskS') {
        height: 183px;
      }
    }

    &__name {
      @include titleM;

      padding-right: 40px;
      margin-bottom: 8px;

      @include breakpoint-down('deskL') {
        padding-right: 0;
      }
    }

    &__post {
      @include smallDefault;
    }
  }
</style>