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/iq.affiliate/src/components/CookieMessage/CookieMessage.svelte
<script lang="ts">
	import { browser } from '$app/environment';
	import { t } from '$lib/translations';
	import { json } from '@sveltejs/kit';
	import { cookieVisible } from '../../store';
  export let className: string = '';
  
  if(browser) {
    const cookieStoreValue = localStorage.getItem('cookieAccepted');
    cookieVisible.set(cookieStoreValue ? JSON.parse(cookieStoreValue) : true);
  }
  let visible = false;

  cookieVisible.subscribe((value) => {
    visible = value;
  });
  const onCookieAccept = () => {
    localStorage.setItem('cookieAccepted', 'false');
    cookieVisible.set(false);
  };
</script>

{#if visible}
<div class={`cookieMessageContainer ${className}`}>
  <div class="cookieMessage">
    <div class="text">
      {$t('By staying on the site, you agree to the use of cookies')}
    </div>
    <div class="button" 
      on:click={onCookieAccept} 
      on:keydown={() => false} 
      tabindex="0"
      role="button">
      {$t('OK')}
    </div>
  </div>
</div>
{/if}

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

  .cookieMessageContainer {
    position: fixed;
    left: 0;
    bottom: 0;
    height: 102px;
    width: fit-content;
    background: none;
    z-index: 3;
    padding: 0px 0px 24px 56px;

    &.static {
      position: static;
      padding-inline: 0;
    }

    @include breakpoint-down('tabM') {
      width: 100%;
      max-width: 100%;
      padding: 0px 32px 24px 32px;
    }
    @include breakpoint-down('tabS') {
      padding: 0px 26px 24px 26px;
    }
    @include breakpoint-down('mobM') {
      padding: 0px 16px 24px 16px;
    }
    
    .cookieMessage {
      padding: 12px 12px 12px 20px;
      background-color: $blue600;
      height: 78px;
      // width: 314px;
      max-width: 412px;
      display: flex;
      justify-content: space-between;
      gap: 32px;
      align-items: center;
      border-radius: 16px;
      @include breakpoint-down('tabM') {
        width: 100%;
      }
      @include breakpoint-down('mobM') {
        max-height: 90px;
        height: auto;
        gap: 10px;
      }
    }
    .text {
      padding: 9px 0px;
      color: $blue200;
      font-size: 12px;
      line-height: 18px;

      @include breakpoint-down('mobM') {
        padding: 0px;
      }
    }
    .button {
      padding: 12px 32px;
      background-color: $blue500;
      height: 100%;
      // width: 94px;
      width: auto;
      color: $azure500;
      border-radius: 100px;
      display: flex;
      font-size: 20px;
      line-height: 30px;
      font-weight: 600;
      cursor: pointer;
      transition: 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
      
      &:hover {
        background-color: $blue400;
      }
      &:active {
        background-color: $blue700;
      }
    }
  }
</style>