пва
This commit is contained in:
@@ -3,16 +3,24 @@ export const apiBaseURL = import.meta.env.VITE_API_URL ?? '/api'
|
||||
|
||||
export const STORE_NAME = 'Любимый Креатив'
|
||||
|
||||
/** Канонический URL сайта для политики конфиденциальности и т.п.; в dev без env — `window.location.origin`. */
|
||||
/** Канонический URL сайта для юридических текстов (политика конфиденциальности и т.п.). */
|
||||
export const STORE_PUBLIC_SITE_URL = (() => {
|
||||
const raw =
|
||||
typeof import.meta.env.VITE_PUBLIC_SITE_URL === 'string' ? import.meta.env.VITE_PUBLIC_SITE_URL.trim() : ''
|
||||
if (raw) return raw.replace(/\/$/, '')
|
||||
if (typeof window !== 'undefined') return window.location.origin
|
||||
return ''
|
||||
return 'https://любимыйкреатив.рф'
|
||||
})()
|
||||
|
||||
/** Демо-контакты для футера; при необходимости задайте через VITE_* в `.env`. */
|
||||
export const STORE_EMAIL = import.meta.env.VITE_STORE_EMAIL ?? 'larisa8502@yandex.ru'
|
||||
export const STORE_PHONE = import.meta.env.VITE_STORE_PHONE ?? '+7 (952) 318-16-24'
|
||||
export const VK_URL = import.meta.env.VITE_VK_URL ?? 'https://vk.com/club158395871'
|
||||
|
||||
/** Данные оператора для юридических документов. */
|
||||
export const STORE_OP_NAME = 'Комарова Лариса Николаевна'
|
||||
export const STORE_OP_TYPE = 'самозанятый'
|
||||
/** Тестовый ИНН — заменить на реальный. */
|
||||
export const STORE_OP_INN = '402900832341'
|
||||
export const STORE_OP_ADDR =
|
||||
'618909, Россия, Пермский край, Лысьвенский муниципальный округ, Лысьва, улица Мира, 34, кв. 24'
|
||||
|
||||
@@ -3,4 +3,4 @@ export const PICKUP_COORDINATES = { lat: 58.09898000206914, lng: 57.813169680997
|
||||
|
||||
/** Полная строка адреса для текстовых блоков. */
|
||||
export const PICKUP_ADDRESS_FULL =
|
||||
'34, улица Мира, Лысьва, Лысьвенский муниципальный округ, Пермский край, Приволжский федеральный округ, 618909, Россия'
|
||||
'618909, Россия, Пермский край, Лысьвенский муниципальный округ, Лысьва, улица Мира, 34'
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
import { useState } from 'react'
|
||||
import Box from '@mui/material/Box'
|
||||
import Button from '@mui/material/Button'
|
||||
import Link from '@mui/material/Link'
|
||||
import Typography from '@mui/material/Typography'
|
||||
import { Link as RouterLink } from 'react-router-dom'
|
||||
|
||||
const STORAGE_KEY = 'cookie-consent-accepted'
|
||||
|
||||
function wasAccepted(): boolean {
|
||||
try {
|
||||
return localStorage.getItem(STORAGE_KEY) === '1'
|
||||
} catch {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
function markAccepted() {
|
||||
try {
|
||||
localStorage.setItem(STORAGE_KEY, '1')
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
export function CookieConsentBanner() {
|
||||
const [visible, setVisible] = useState(!wasAccepted())
|
||||
|
||||
if (!visible) return null
|
||||
|
||||
return (
|
||||
<Box
|
||||
sx={{
|
||||
position: 'fixed',
|
||||
bottom: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
zIndex: 1300,
|
||||
bgcolor: 'background.paper',
|
||||
borderTop: 1,
|
||||
borderColor: 'divider',
|
||||
px: 2,
|
||||
py: 1.5,
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
gap: 2,
|
||||
flexWrap: 'wrap',
|
||||
boxShadow: 3,
|
||||
}}
|
||||
>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Мы используем cookie для поддержания сессии. Продолжая использовать сайт, вы принимаете{' '}
|
||||
<Link component={RouterLink} to="/privacy" underline="hover">
|
||||
Политику обработки персональных данных
|
||||
</Link>
|
||||
.
|
||||
</Typography>
|
||||
<Button
|
||||
variant="contained"
|
||||
size="small"
|
||||
onClick={() => {
|
||||
markAccepted()
|
||||
setVisible(false)
|
||||
}}
|
||||
>
|
||||
Понятно
|
||||
</Button>
|
||||
</Box>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user