Files
shop-server/client/src/pages/privacy-policy/ui/PrivacyPolicyPage.tsx
T
2026-05-25 16:28:03 +05:00

152 lines
8.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import Box from '@mui/material/Box'
import Paper from '@mui/material/Paper'
import Typography from '@mui/material/Typography'
import { STORE_EMAIL, STORE_OP_NAME, STORE_OP_TYPE, STORE_OP_INN, STORE_OP_ADDR } from '@/shared/config'
import { usePageTitle } from '@/shared/lib/use-page-title'
const SITE_URL = 'https://любимыйкреатив.рф'
const OP_FULL = `${STORE_OP_NAME} (${STORE_OP_TYPE})`
const sections = [
{
title: '1. Общие положения',
items: [
`1.1. Настоящая Политика конфиденциальности (далее — Политика) действует в отношении всех персональных данных, которые ${OP_FULL} (далее — Оператор) может получить от Пользователя во время использования сайта ${SITE_URL}.`,
`1.2. ИНН Оператора: ${STORE_OP_INN}`,
`1.3. Адрес Оператора: ${STORE_OP_ADDR}`,
`1.4. Контактный email: ${STORE_EMAIL}`,
],
},
{
title: '2. Персональные данные, которые обрабатывает Оператор',
items: [
'2.1. Оператор обрабатывает следующие персональные данные Пользователей:',
'— адрес электронной почты;',
'— имя (отображаемое имя, может быть указано Пользователем добровольно);',
'— ФИО получателя, номер телефона и адрес доставки (указывается Пользователем добровольно при оформлении доставки);',
'— сессионные cookie-файлы (исключительно для поддержания входа в Личный кабинет).',
],
},
{
title: '3. Цели обработки персональных данных',
items: [
'3.1. Оператор обрабатывает персональные данные в следующих целях:',
'— идентификация и аутентификация Пользователя;',
'— оказание услуг / продажа товаров и оформление доставки;',
'— направление транзакционных уведомлений о статусе заказов и информационных сообщений;',
'— улучшение качества работы сайта.',
],
},
{
title: '4. Правовые основания обработки',
items: [
'4.1. Оператор обрабатывает персональные данные на основании:',
'— Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных»;',
'— согласия субъекта персональных данных;',
'— договора, стороной которого является субъект;',
'— договорных отношений с контрагентами и исполнителями услуг (доставка, платёжные сервисы).',
],
},
{
title: '5. Порядок и условия обработки',
items: [
'5.1. Обработка осуществляется путём сбора, записи, систематизации, накопления, хранения, уточнения, извлечения, использования, передачи, блокирования, удаления и уничтожения персональных данных.',
'5.2. Обработка осуществляется автоматизированным способом с использованием программных средств Сайта.',
'5.3. Срок хранения персональных данных: до достижения целей обработки либо до момента отзыва Пользователем согласия на обработку.',
],
},
{
title: '6. Передача персональных данных третьим лицам',
items: [
'6.1. Оператор может передать персональные данные третьим лицам в следующих случаях:',
'— с согласия субъекта;',
'— по требованию законодательства РФ;',
'— для выполнения договорных обязательств (перечень третьих лиц): службы доставки, платёжный сервис (ЮKassa).',
],
},
{
title: '7. Использование cookie-файлов',
items: [
'7.1. Оператор использует сессионные cookie-файлы исключительно для поддержания аутентификации Пользователя в Личном кабинете.',
'7.2. Сайт не использует cookie для сбора статистики, отслеживания действий Пользователя или показа рекламы.',
'7.3. Пользователь может запретить использование cookie в настройках браузера, однако это приведёт к невозможности входа в Личный кабинет.',
],
},
{
title: '8. Права субъекта персональных данных',
items: [
'8.1. Пользователь имеет право на доступ к своим данным, их уточнение или уничтожение.',
`8.2. Для реализации своих прав Пользователь может направить запрос на электронный адрес: ${STORE_EMAIL}.`,
'8.3. Пользователь вправе самостоятельно удалить свою учётную запись через Настройки Личного кабинета. При наличии активных (незавершённых) заказов система предупредит об этом перед удалением.',
],
},
]
export function PrivacyPolicyPage() {
usePageTitle('Политика конфиденциальности')
return (
<Box sx={{ maxWidth: 800, mx: 'auto', py: { xs: 3, md: 5 }, px: { xs: 2, md: 0 } }}>
<Typography
variant="h4"
component="h1"
gutterBottom
sx={{ fontWeight: 700, fontSize: { xs: '1.5rem', md: '2rem' } }}
>
Политика конфиденциальности
</Typography>
<Typography
variant="body2"
color="text.secondary"
sx={{ mb: 4, pb: 3, borderBottom: '1px solid', borderColor: 'divider' }}
>
Последнее обновление: 23 мая 2026 г.
</Typography>
<Box component="section" sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
{sections.map((section) => (
<Paper
key={section.title}
variant="outlined"
sx={{
p: { xs: 2, md: 3 },
borderRadius: 3,
bgcolor: 'background.paper',
borderLeft: '4px solid',
borderLeftColor: 'primary.main',
}}
>
<Typography
variant="h6"
component="h2"
gutterBottom
sx={{ fontWeight: 600, fontSize: '1rem', color: 'primary.main' }}
>
{section.title}
</Typography>
<Box component="ul" sx={{ m: 0, p: 0, listStyle: 'none' }}>
{section.items.map((item, idx) => (
<Box
component="li"
key={idx}
sx={{
color: 'text.primary',
fontSize: '0.9rem',
lineHeight: 1.65,
mb: 0.5,
'&:last-child': { mb: 0 },
}}
>
{item}
</Box>
))}
</Box>
</Paper>
))}
</Box>
</Box>
)
}