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>