import Box from '@mui/material/Box'
import Paper from '@mui/material/Paper'
import Typography from '@mui/material/Typography'
import { STORE_EMAIL, STORE_PHONE, 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. Настоящее Пользовательское соглашение (далее — «Соглашение») определяет порядок и условия использования материалов и сервисов, размещённых в сети Интернет по адресу ${SITE_URL} (далее — «Сайт»), Пользователями данного Сайта.`,
      `1.2. Использование Пользователями Сайта означает, что они безоговорочно принимают и обязуются соблюдать все условия настоящего Соглашения.`,
      '1.3. В настоящем Соглашении используются следующие термины:',
      `— Администратор — ${OP_FULL}, ИНН ${STORE_OP_INN}, адрес: ${STORE_OP_ADDR}, которому принадлежат все соответствующие права на Сайт.`,
      `— Акцепт — полное и безоговорочное принятие условий настоящего Соглашения, размещённого на Сайте по адресу ${SITE_URL}/terms, осуществляемое путём совершения Пользователем любых действий по использованию Сайта.`,
      '— Аутентификационные данные Пользователя — адрес электронной почты и пароль (код доступа), либо данные, полученные через сервисы авторизации третьих лиц (VK ID, Яндекс ID), либо одноразовый код, направляемый на электронную почту. Совокупность аутентификационных данных признаётся простой электронной подписью Пользователя.',
      '— Пользователь — лицо, осуществляющее доступ к Сайту и использующее материалы и сервисы, размещённые на Сайте.',
      '— Контент — любое информационно значимое наполнение Сайта, включая фото, текст и иные медиаматериалы.',
      '— Личный кабинет — персонализированная часть Сайта, посредством которой обеспечивается обмен информацией между Пользователем и Сайтом.',
      '— Персональные данные — любая информация, относящаяся к определённому или определяемому на основании такой информации физическому лицу.',
      '— Обработка персональных данных — любое действие (операция) или совокупность действий с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение, использование, передачу, обезличивание, блокирование, удаление, уничтожение.',
      `— Сайт — ресурс в сети Интернет по адресу ${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. Пользователь вправе прекратить доступ к Личному кабинету, направив уведомление Администратору.',
      '5.9. Пользователь вправе самостоятельно удалить свою учётную запись через Настройки Личного кабинета.',
    ],
  },
  {
    title: '6. Ограничение ответственности',
    items: [
      '6.1. Администратор прилагает разумные усилия для обеспечения достоверности и полноты информации, размещённой на Сайте, однако не даёт явных гарантий точности такой информации.',
      '6.2. Администратор не несёт ответственности за недостоверность информации, размещённой третьими лицами, в том числе Пользователями.',
      '6.3. Администратор не гарантирует, что Сайт будет соответствовать требованиям Пользователя, работать непрерывно и без ошибок.',
      '6.4. Администратор не несёт ответственности перед Пользователем за любые убытки, включая упущенную выгоду, потерю данных, вред деловой репутации, причинённые в связи с использованием Сайта.',
      '6.5. Администратор исходит из того, что все формы на Сайте заполняет непосредственно Пользователь. Ответственность за достоверность предоставленных данных несёт Пользователь.',
      '6.6. Администратор не несёт ответственности за утрату или порчу данных в результате невыполнения Пользователем условий Соглашения.',
    ],
  },
  {
    title: '7. Доступ к ресурсам третьих лиц',
    items: [
      '7.1. Для обеспечения функциональности Сайта используются сервисы третьих лиц: платёжный сервис ЮKassa (для обработки онлайн-платежей)',
      '7.2. Владельцы указанных ресурсов имеют собственную политику конфиденциальности и самостоятельно определяют условия обработки получаемой информации.',
      '7.3. При переходе на сторонние ресурсы Пользователи самостоятельно определяют пределы использования своей информации согласно правилам соответствующих ресурсов.',
    ],
  },
  {
    title: '8. Информация, хранящаяся на стороне браузера',
    items: [
      '8.1. Администратор использует сессионные cookie-файлы исключительно для поддержания аутентификации Пользователя в Личном кабинете.',
      '8.2. Сайт не использует cookie для сбора статистики, отслеживания действий Пользователя или показа рекламы.',
      '8.3. Пользователь может запретить использование cookie в настройках браузера, однако это приведёт к невозможности входа в Личный кабинет и использования функций, требующих аутентификации.',
    ],
  },
  {
    title: '9. Согласие на обработку персональных данных',
    items: [
      `9.1. Обработка персональных данных Пользователей осуществляется Администратором в соответствии с Политикой конфиденциальности, размещённой по адресу ${SITE_URL}/privacy.`,
      '9.2. Передавая свои персональные данные при регистрации или заполнении форм на Сайте, Пользователь даёт согласие на их обработку Администратором.',
      '9.3. Администратор обрабатывает следующие персональные данные: адрес электронной почты, имя (при добровольном указании), номер телефона (при оформлении доставки), адрес доставки.',
      '9.4. Цели обработки персональных данных: обеспечение функционирования Сайта, аутентификация Пользователя, оформление и доставка заказов, направление транзакционных уведомлений.',
      `9.5. Пользователь вправе отозвать согласие на обработку персональных данных путём удаления учётной записи через Настройки Личного кабинета либо путём направления заявления на адрес электронной почты: ${STORE_EMAIL}.`,
    ],
  },
  {
    title: '10. Изменение условий и расторжение соглашения',
    items: [
      '10.1. Соглашение может быть расторгнуто в любое время по инициативе любой из сторон. Администратор уведомляет о расторжении путём размещения информации на Сайте.',
      `10.2. Пользователь может расторгнуть Соглашение, удалив учётную запись через Личный кабинет, либо направив уведомление на адрес электронной почты: ${STORE_EMAIL}.`,
      '10.3. Администратор вправе в одностороннем порядке изменять условия Соглашения. Новая редакция вступает в силу с момента размещения на Сайте.',
      '10.4. Продолжение использования Сайта после изменения условий означает согласие Пользователя с новой редакцией. При несогласии Пользователь обязуется прекратить использование Сайта.',
    ],
  },
  {
    title: '11. Информация об Администраторе',
    items: [
      STORE_OP_NAME,
      `Статус: ${STORE_OP_TYPE}`,
      `ИНН: ${STORE_OP_INN}`,
      `Адрес: ${STORE_OP_ADDR}`,
      `Телефон: ${STORE_PHONE}`,
      `Email: ${STORE_EMAIL}`,
    ],
  },
]

export function TermsPage() {
  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>
  )
}
