test commit
This commit is contained in:
@@ -194,7 +194,7 @@ export function ProductPage() {
|
||||
{reviewsQuery.isLoading && <Typography color="text.secondary">Загрузка отзывов…</Typography>}
|
||||
{reviewsQuery.isError && <Alert severity="warning">Не удалось загрузить отзывы.</Alert>}
|
||||
{reviewsQuery.data && reviewsQuery.data.total === 0 && (
|
||||
<Box sx={{ textAlign: 'center', py: 3 }}>
|
||||
<Box sx={{ py: 3 }}>
|
||||
<Typography variant="h6" color="text.secondary" sx={{ mb: 1 }}>
|
||||
Отзывов пока нет
|
||||
</Typography>
|
||||
|
||||
@@ -1,68 +1,210 @@
|
||||
import { Box, Typography, Button, Stack } from '@mui/material'
|
||||
import { Link as RouterLink } from 'react-router-dom'
|
||||
import Box from '@mui/material/Box'
|
||||
import Paper from '@mui/material/Paper'
|
||||
import Typography from '@mui/material/Typography'
|
||||
import { STORE_EMAIL, STORE_PUBLIC_SITE_URL } from '@/shared/config'
|
||||
|
||||
const SITE_URL = STORE_PUBLIC_SITE_URL || (typeof window !== 'undefined' ? window.location.origin : '')
|
||||
|
||||
const OP_NAME = 'Индивидуальный предприниматель Новоселова Наталия Владимировна'
|
||||
const OP_INN = '402900832341'
|
||||
const OP_OGRN = '305402922700051'
|
||||
const OP_ADDR = '248000, Россия, г. Калуга, ул. Никитина, д. 12А'
|
||||
|
||||
const sections = [
|
||||
{
|
||||
title: '1. Общие положения',
|
||||
items: [
|
||||
`1.1. Настоящее Пользовательское соглашение (далее — «Соглашение») определяет порядок и условия использования материалов и сервисов, размещённых в сети Интернет по адресу ${SITE_URL} (далее — «Сайт»), Пользователями данного Сайта.`,
|
||||
`1.2. Использование Пользователями Сайта означает, что они безоговорочно принимают и обязуются соблюдать все условия настоящего Соглашения.`,
|
||||
'1.3. В настоящем Соглашении используются следующие термины:',
|
||||
`— Администратор — ${OP_NAME}, ИНН ${OP_INN}, ОГРН ${OP_OGRN}, адрес: ${OP_ADDR}, которому принадлежат все соответствующие права на Сайт.`,
|
||||
`— Акцепт — полное и безоговорочное принятие условий настоящего Соглашения, размещённого на Сайте по адресу ${SITE_URL}/terms, осуществляемое путём совершения Пользователем любых действий по использованию Сайта.`,
|
||||
'— Аутентификационные данные Пользователя — адрес электронной почты Пользователя и пароль (код доступа), которые в совокупности признаются простой электронной подписью Пользователя.',
|
||||
'— Пользователь — лицо, осуществляющее доступ к Сайту и использующее материалы и сервисы, размещённые на Сайте.',
|
||||
'— Контент — любое информационно значимое наполнение Сайта, включая фото, текст и иные медиаматериалы.',
|
||||
'— Личный кабинет — персонализированная часть Сайта, посредством которой обеспечивается обмен информацией между Пользователем и Сайтом.',
|
||||
'— Персональные данные — любая информация, относящаяся к определённому или определяемому на основании такой информации физическому лицу.',
|
||||
'— Обработка персональных данных — любое действие (операция) или совокупность действий с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение, использование, передачу, обезличивание, блокирование, удаление, уничтожение.',
|
||||
`— Сайт — ресурс в сети Интернет по адресу ${SITE_URL}, представляющий собой совокупность информации и объектов интеллектуальной собственности.`,
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '2. Предмет соглашения',
|
||||
items: [
|
||||
'2.1. В соответствии с настоящим Соглашением Администратор предоставляет любому Пользователю право безвозмездного использования Сайта в пределах его объявленных функциональных возможностей.',
|
||||
'2.2. Использование Сайта осуществляется в соответствии с принципом «как есть» (as is). Администратор не гарантирует, что Сайт будет работать непрерывно, быстро и без ошибок.',
|
||||
'2.3. Пользователь считается присоединившимся к Соглашению в соответствии со ст. 438 ГК РФ при совершении любых из следующих действий:',
|
||||
'— просмотр материалов, размещённых на Сайте;',
|
||||
'— использование сервисов Сайта;',
|
||||
'— регистрация в Личном кабинете;',
|
||||
'— направление сообщений с использованием онлайн-форм на Сайте;',
|
||||
'— иное использование Сайта.',
|
||||
'2.4. Используя Сайт, Пользователь подтверждает, что ознакомился с условиями Соглашения в полном объёме и безоговорочно принимает их.',
|
||||
'2.5. Положения Соглашения не устанавливают между Администратором и Пользователем агентских отношений, отношений товарищества или иных отношений, прямо не предусмотренных Соглашением.',
|
||||
'2.6. Все возможные споры, вытекающие из Соглашения, подлежат разрешению в соответствии с действующим законодательством РФ.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '3. Регистрация',
|
||||
items: [
|
||||
'3.1. Для использования отдельных функций Сайта Пользователю необходимо пройти процедуру регистрации, в результате которой ему будет предоставлен доступ в Личный кабинет.',
|
||||
'3.2. При регистрации Пользователь обязуется предоставить достоверную и полную информацию и поддерживать её в актуальном состоянии.',
|
||||
'3.3. В случае предоставления неверной информации Администратор вправе заблокировать Личный кабинет либо удалить учётную запись Пользователя.',
|
||||
'3.4. Пользователь самостоятельно несёт ответственность за сохранность своих Аутентификационных данных и за все действия, совершённые с их использованием.',
|
||||
'3.5. Пользователь обязан незамедлительно уведомить Администратора о любом случае несанкционированного доступа к Личному кабинету.',
|
||||
'3.6. Пользователь не вправе воспроизводить, копировать, продавать и использовать в коммерческих целях Сайт или его Контент без разрешения Администратора.',
|
||||
'3.7. При регистрации Пользователь даёт согласие на получение информационных и рекламных сообщений от Администратора на указанный адрес электронной почты.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '4. Права и обязанности Администратора',
|
||||
items: [
|
||||
'4.1. Администратор вправе осуществлять сбор мнений и отзывов Пользователей для формирования статистических данных и улучшения качества Сайта.',
|
||||
'4.2. Администратор вправе направлять Пользователю информационные сообщения, связанные с функционированием Сайта, исполнением договоров, восстановлением пароля.',
|
||||
'4.3. Администратор оставляет за собой право заблокировать Личный кабинет Пользователя в случае нарушения условий Соглашения.',
|
||||
'4.4. Сайт может быть частично или полностью недоступен по причине проведения технических работ. Администратор вправе приостанавливать работу Сайта по своему усмотрению.',
|
||||
'4.5. Администратор не несёт ответственности за ошибки, сбои линий связи, неправомерный доступ к информации Пользователя, возникшие не по вине Администратора.',
|
||||
'4.6. Администратор предпримет разумные усилия для устранения технических сбоев и ошибок, но не гарантирует их полного отсутствия.',
|
||||
'4.7. Пользователю не предоставляется никаких интеллектуальных прав на Сайт и его составные части, кроме прямо предусмотренных Соглашением.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '5. Права и обязанности Пользователя',
|
||||
items: [
|
||||
'5.1. Пользователь обязуется знакомиться с актуальной версией Соглашения при каждом посещении Сайта.',
|
||||
'5.2. Пользователь обязуется предоставлять достоверную информацию при использовании Сайта.',
|
||||
'5.3. Пользователь обязуется не совершать действий, нарушающих российское законодательство, нормы морали и нравственности, а также действий, приводящих к нарушению работы Сайта.',
|
||||
'5.4. Использование материалов Сайта без согласия правообладателей не допускается. При цитировании материалов Сайта ссылка на Сайт обязательна.',
|
||||
'5.5. Пользователь обязуется не нарушать права и законные интересы третьих лиц, не причинять вред деловой репутации.',
|
||||
'5.6. Пользователь не вправе нарушать нормальную работу отдельных сервисов и Сайта в целом.',
|
||||
'5.7. Пользователь обязан самостоятельно отслеживать внесение изменений в настоящее Соглашение.',
|
||||
'5.8. Пользователь вправе прекратить доступ к Личному кабинету, направив уведомление Администратору.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '6. Ограничение ответственности',
|
||||
items: [
|
||||
'6.1. Администратор гарантирует достоверность и полноту только той информации, которую он разместил на Сайте самостоятельно.',
|
||||
'6.2. Администратор не несёт ответственности за недостоверность информации, размещённой третьими лицами, в том числе Пользователями.',
|
||||
'6.3. Администратор не гарантирует, что Сайт будет соответствовать требованиям Пользователя, работать непрерывно и без ошибок.',
|
||||
'6.4. Администратор не несёт ответственности перед Пользователем за любые убытки, включая упущенную выгоду, потерю данных, вред деловой репутации, причинённые в связи с использованием Сайта.',
|
||||
'6.5. Администратор исходит из того, что все формы на Сайте заполняет непосредственно Пользователь. Ответственность за достоверность предоставленных данных несёт Пользователь.',
|
||||
'6.6. Администратор не несёт ответственности за утрату или порчу данных в результате невыполнения Пользователем условий Соглашения.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '7. Доступ к ресурсам третьих лиц',
|
||||
items: [
|
||||
'7.1. Доступ Пользователя к Сайту может вызывать обращение к интернет-ресурсам третьих лиц (реклама, сбор статистики).',
|
||||
'7.2. Владельцы таких ресурсов имеют техническую возможность собирать информацию о Пользователях и самостоятельно определяют условия её использования.',
|
||||
'7.3. При переходе на сторонние ресурсы Пользователи самостоятельно определяют пределы использования своей информации согласно правилам соответствующих ресурсов.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '8. Информация, хранящаяся на стороне браузера',
|
||||
items: [
|
||||
'8.1. Администратор использует cookie-файлы для определения уникального идентификатора доступа Пользователя к Сайту.',
|
||||
'8.2. Цели использования cookie:',
|
||||
'— поддержка функциональности Сайта, требующей использования cookie;',
|
||||
'— измерение аудитории Сайта;',
|
||||
'— определение статистических предпочтений Пользователей;',
|
||||
'— исследование корреляции статистических данных.',
|
||||
'8.3. Пользователь может запретить использование cookie в настройках браузера, однако это может привести к частичной или полной потере функциональности Сайта.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '9. Согласие на обработку персональных данных',
|
||||
items: [
|
||||
`9.1. Обработка персональных данных Пользователей осуществляется Администратором в соответствии с Политикой конфиденциальности, размещённой по адресу ${SITE_URL}/privacy.`,
|
||||
'9.2. Передавая свои персональные данные при регистрации или заполнении форм на Сайте, Пользователь даёт согласие на их обработку Администратором.',
|
||||
'9.3. Администратор обрабатывает следующие персональные данные: Ф. И. О., адрес электронной почты, номер телефона, IP-адрес, тип браузера, данные о действиях на Сайте.',
|
||||
'9.4. Цели обработки персональных данных: обеспечение функционирования Сайта, оказание информационной поддержки, предоставление персонализированных сервисов, направление информационных сообщений.',
|
||||
`9.5. Согласие на обработку персональных данных может быть отозвано Пользователем путём направления заявления на адрес электронной почты: ${STORE_EMAIL}.`,
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '10. Изменение условий и расторжение соглашения',
|
||||
items: [
|
||||
'10.1. Соглашение может быть расторгнуто в любое время по инициативе любой из сторон. Администратор уведомляет о расторжении путём размещения информации на Сайте.',
|
||||
`10.2. Пользователь может расторгнуть Соглашение, направив уведомление на адрес электронной почты: ${STORE_EMAIL}.`,
|
||||
'10.3. Администратор вправе в одностороннем порядке изменять условия Соглашения. Новая редакция вступает в силу с момента размещения на Сайте.',
|
||||
'10.4. Продолжение использования Сайта после изменения условий означает согласие Пользователя с новой редакцией. При несогласии Пользователь обязуется прекратить использование Сайта.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '11. Информация об Администраторе',
|
||||
items: [
|
||||
`${OP_NAME}`,
|
||||
`ИНН: ${OP_INN}`,
|
||||
`ОГРН: ${OP_OGRN}`,
|
||||
`Адрес: ${OP_ADDR}`,
|
||||
`Телефон: +7 (900) 000-00-00`, // TODO: заменить на реальный номер телефона
|
||||
`Email: ${STORE_EMAIL}`, // TODO: заменить на реальный email при настройке STORE_EMAIL
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
export function TermsPage() {
|
||||
return (
|
||||
<Box
|
||||
sx={{
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
minHeight: '100vh',
|
||||
bgcolor: 'background.default',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'flex-start',
|
||||
py: 4,
|
||||
px: 2,
|
||||
}}
|
||||
>
|
||||
<Box sx={{ maxWidth: 800, width: '100%', py: 4 }}>
|
||||
<Typography variant="h4" component="h1" gutterBottom sx={{ mb: 4 }}>
|
||||
Пользовательское соглашение
|
||||
</Typography>
|
||||
<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: 3 }}>
|
||||
Последнее обновление: 18 мая 2026 г.
|
||||
</Typography>
|
||||
<Typography
|
||||
variant="body2"
|
||||
color="text.secondary"
|
||||
sx={{ mb: 4, pb: 3, borderBottom: '1px solid', borderColor: 'divider' }}
|
||||
>
|
||||
Последнее обновление: 19 мая 2026 г.
|
||||
</Typography>
|
||||
|
||||
<Box sx={{ bgcolor: 'background.paper', p: 3, borderRadius: 2 }}>
|
||||
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
|
||||
1. ОБЩИЕ ПОЛОЖЕНИЯ
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
|
||||
Настоящее пользовательское соглашение (далее – «Соглашение») регулирует отношения между пользователями сайта
|
||||
и администрацией сайта в связи с использованием сайта Любимый Креатив.
|
||||
</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>
|
||||
|
||||
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
|
||||
2. ПРЕДМЕТ СОГЛАШЕНИЯ
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
|
||||
Сайт предоставляет пользователям возможность ознакомиться с информацией о товарах, совершать покупки и
|
||||
оставлять отзывы.
|
||||
</Typography>
|
||||
|
||||
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
|
||||
3. ПРАВА И ОБЯЗАННОСТИ ПОЛЬЗОВАТЕЛЯ
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
|
||||
Пользователь обязуется предоставлять достоверную информацию при регистрации и оформлении заказов, не
|
||||
использовать сайт в незаконных целях, соблюдать правила поведения при оставлении отзывов и комментариев.
|
||||
</Typography>
|
||||
|
||||
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
|
||||
4. ОТВЕТСТВЕННОСТЬ
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
|
||||
Администрация сайта не несет ответственности за прямые или косвенные убытки, возникшие в результате
|
||||
использования информации, размещенной на сайте.
|
||||
</Typography>
|
||||
</Box>
|
||||
|
||||
<Stack direction="row" justifyContent="center" mt={4}>
|
||||
<Button variant="outlined" size="medium" component={RouterLink} to="/" sx={{ px: 3 }}>
|
||||
Вернуться на главную
|
||||
</Button>
|
||||
</Stack>
|
||||
<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>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user