This commit is contained in:
Kirill
2026-05-23 18:47:35 +05:00
parent bd9bdc0352
commit d0d7eab77e
16 changed files with 889 additions and 65 deletions
+10 -2
View File
@@ -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'
+1 -1
View File
@@ -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>
)
}