102 lines
3.7 KiB
PHP
102 lines
3.7 KiB
PHP
@if(get_setting('feature_cookie_banner', true))
|
|
<div id="cookie_consent_banner" class="cookie-banner-wrapper d-none animate__animated animate__fadeIn">
|
|
<div class="cookie-banner-card card adminuiux-card p-4 shadow-lg border-0">
|
|
<div class="row align-items-center">
|
|
<div class="col-12 col-md-auto mb-3 mb-md-0">
|
|
<div class="avatar avatar-50 rounded-circle bg-warning-subtle text-warning">
|
|
<i class="bi bi-cookie fs-3"></i>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md">
|
|
<h6 class="fw-bold mb-1">{{ __('We use cookies') }}</h6>
|
|
<p class="small text-muted mb-0">
|
|
{{ __('We use cookies to enhance your experience and analyze our traffic. By clicking "Accept", you consent to our use of cookies as described in our') }}
|
|
<a href="{{ route('legal.show', 'privacy') }}" class="text-primary fw-bold text-decoration-none">{{ __('Privacy Policy') }}</a>.
|
|
</p>
|
|
</div>
|
|
<div class="col-12 col-md-auto mt-3 mt-md-0">
|
|
<div class="btn-group gap-2">
|
|
<button type="button" onclick="acceptCookies()" class="btn btn-pill-primary px-4">{{ __('Accept') }}</button>
|
|
<button type="button" onclick="dismissCookieBanner()" class="btn btn-pill-cancel px-3">{{ __('Dismiss') }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
.cookie-banner-wrapper {
|
|
position: fixed;
|
|
bottom: 40px;
|
|
left: 40px;
|
|
right: 40px;
|
|
z-index: 9999;
|
|
max-width: 960px;
|
|
margin: 0 auto;
|
|
}
|
|
.cookie-banner-card {
|
|
border-radius: 30px !important;
|
|
background: rgba(255, 255, 255, 0.8) !important;
|
|
backdrop-filter: blur(25px) saturate(180%);
|
|
border: 1px solid rgba(255, 255, 255, 0.4) !important;
|
|
box-shadow: 0 40px 80px rgba(0,0,0,0.12) !important;
|
|
}
|
|
@media (max-width: 767px) {
|
|
.cookie-banner-wrapper {
|
|
bottom: 20px;
|
|
left: 20px;
|
|
right: 20px;
|
|
}
|
|
.cookie-banner-card {
|
|
border-radius: 25px !important;
|
|
}
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
function getCookie(name) {
|
|
let nameEQ = name + "=";
|
|
let ca = document.cookie.split(';');
|
|
for(let i=0;i < ca.length;i++) {
|
|
let c = ca[i];
|
|
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
|
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function setCookie(name,value,days) {
|
|
let expires = "";
|
|
if (days) {
|
|
let date = new Date();
|
|
date.setTime(date.getTime() + (days*24*60*60*1000));
|
|
expires = "; expires=" + date.toUTCString();
|
|
}
|
|
document.cookie = name + "=" + (value || "") + expires + "; path=/; SameSite=Lax";
|
|
}
|
|
|
|
function acceptCookies() {
|
|
setCookie('cookie_consent', 'accepted', 365);
|
|
dismissCookieBanner();
|
|
}
|
|
|
|
function dismissCookieBanner() {
|
|
const banner = document.getElementById('cookie_consent_banner');
|
|
if (banner) {
|
|
banner.classList.remove('animate__fadeIn');
|
|
banner.classList.add('animate__fadeOutDown');
|
|
setTimeout(() => banner.classList.add('d-none'), 500);
|
|
}
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", function() {
|
|
if (!getCookie('cookie_consent')) {
|
|
setTimeout(() => {
|
|
const banner = document.getElementById('cookie_consent_banner');
|
|
if (banner) banner.classList.remove('d-none');
|
|
}, 2000);
|
|
}
|
|
});
|
|
</script>
|
|
@endif
|