@@ -0,0 +1,93 @@
+.banner {
+ position: fixed;
+ z-index: 9999;
+ background: #1d1d21;
+ border: 1px solid rgba(164, 170, 181, 0.1);
+ border-radius: 16px;
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ gap: 24px;
+}
+
+.desktop {
+ right: 24px;
+ bottom: 24px;
+ width: 450px;
+}
+
+.mobile {
+ left: 50%;
+ bottom: 16px;
+ transform: translateX(-50%);
+ width: calc(100% - 32px);
+ max-width: 335px;
+}
+
+.content {
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+}
+
+.title {
+ font-size: 24px;
+ font-weight: 600;
+ color: #fff;
+ line-height: 1;
+}
+
+.text {
+ font-size: 14px;
+ color: #a4aab5;
+ line-height: 1.4;
+}
+
+.link {
+ color: #8280ff;
+ text-decoration: underline;
+}
+
+.actions {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+}
+
+.row {
+ display: flex;
+ gap: 10px;
+}
+
+.btnPrimary {
+ flex: 1;
+ height: 40px;
+ border-radius: 10px;
+ background: #fff;
+ color: #000;
+ font-size: 14px;
+ font-weight: 500;
+ cursor: pointer;
+}
+
+.btnOutline {
+ width: 100%;
+ height: 40px;
+ border: 1px solid #a4aab5;
+ border-radius: 10px;
+ background: transparent;
+ color: #fff;
+ font-size: 14px;
+ font-weight: 500;
+ cursor: pointer;
+}
+
+.mobile .row {
+ flex-direction: column;
+}
+
+.mobile .btnPrimary,
+.mobile .btnOutline {
+ width: 100%;
+ flex: none;
+}
@@ -0,0 +1,65 @@
+import React from 'react'
+import Link from 'next/link'
+
+import { useAppSelector } from '#/app/store/store'
+import { getDeviceType } from '#/shared/lib/helpers'
+import { initYandexMetrika } from '#/shared/lib/yandex-metrika'
+
+import styles from './cookie-consent.module.scss'
+
+function getConsent(): string | null {
+ if (typeof window === 'undefined') return null
+ const value = localStorage.getItem('cookie-consent')
+ if (value === 'all' || value === 'necessary' || value === 'declined') return value
+ return null
+}
+
+export function CookieConsent() {
+ const account_type = useAppSelector((state) => state.user.account_type)
+ const [consent, setConsent] = React.useState
+ Мы используем технические cookies для работы сайта и аналитические cookies для улучшения
+ сервиса. Подробнее — в{' '}
+
+ Политике обработки персональных данных
+
+ .
+ Cookies и аналитика
+