diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 7a93cec..86136ef 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -3,6 +3,7 @@ import './globals.css'; import { ClientLayout } from '@/components/ClientLayout'; import type { Metadata } from 'next'; import { Analytics } from "@vercel/analytics/react"; +import { TermsChecker } from './providers/terms-check'; const inter = Inter({ subsets: ['latin', 'cyrillic'] }); @@ -23,7 +24,8 @@ export default function RootLayout({ {children} - + + ); diff --git a/src/app/providers/terms-check.tsx b/src/app/providers/terms-check.tsx new file mode 100644 index 0000000..e56e20b --- /dev/null +++ b/src/app/providers/terms-check.tsx @@ -0,0 +1,19 @@ +'use client'; + +import { useEffect } from 'react'; +import { usePathname, useRouter } from 'next/navigation'; + +export function TermsChecker() { + const pathname = usePathname(); + const router = useRouter(); + + useEffect(() => { + const accepted = localStorage.getItem('acceptedTerms'); + if (accepted !== 'true' && pathname !== '/terms') { + router.replace('/terms'); + } + }, [pathname, router]); + + return null; +} + diff --git a/src/app/terms/page.tsx b/src/app/terms/page.tsx new file mode 100644 index 0000000..8286e29 --- /dev/null +++ b/src/app/terms/page.tsx @@ -0,0 +1,101 @@ +'use client'; + +import { useRouter } from 'next/navigation'; + +export default function Terms() { + const router = useRouter(); + + const handleAccept = () => { + localStorage.setItem('acceptedTerms', 'true'); + router.push('/'); + }; + + const handleDecline = () => { + localStorage.setItem('acceptedTerms', 'false'); + alert('Вы не можете использовать сайт без согласия с условиями.'); + }; + + return ( +
+
+
+ {/* Header */} +
+

Пользовательское соглашение Neo Movies

+

Пожалуйста, внимательно ознакомьтесь с условиями использования

+
+ + {/* Content */} +
+
+

Благодарим вас за интерес к сервису Neo Movies. Пожалуйста, ознакомьтесь с нашими условиями использования перед началом работы.

+ +
+
+

1. Общие положения

+

Использование сайта NeoMovies (https://neo-movies.vercel.app) возможно только при полном согласии с условиями настоящего Пользовательского соглашения. Несогласие с любыми положениями соглашения означает, что вы не имеете права использовать данный сайт и должны прекратить доступ к нему.

+
+ +
+

2. Описание сервиса

+

NeoMovies предоставляет доступ к информации о фильмах и сериалах с использованием API TMDB. Видео воспроизводятся с использованием сторонних видеохостингов и балансеров. Сайт не хранит и не распространяет видеофайлы. Мы выступаем исключительно в роли посредника между пользователем и внешними сервисами.

+
+ +
+

3. Ответственность

+

Сайт не несёт ответственности за:

+
    +
  • точность или легальность предоставленного сторонними плеерами контента;
  • +
  • возможные нарушения авторских прав со стороны балансеров;
  • +
  • действия пользователей, связанные с просмотром, загрузкой или распространением контента.
  • +
+

Вся ответственность за использование контента лежит исключительно на пользователе. Использование сторонних источников осуществляется на ваш собственный риск.

+
+ +
+

4. Регистрация и персональные данные

+

Сайт собирает только минимальный набор данных: имя, email и пароль — исключительно для сохранения избранного. Пароли шифруются и хранятся безопасно. Мы не передаём ваши данные третьим лицам и не используем их в маркетинговых целях.

+

Исходный код сайта полностью открыт и доступен для проверки в публичном репозитории, что обеспечивает максимальную прозрачность и возможность независимого аудита безопасности и обработки данных.

+

Пользователь подтверждает, что ему исполнилось 16 лет либо он получил разрешение от законного представителя.

+
+ +
+

5. Изменения в соглашении

+

Мы оставляем за собой право вносить изменения в настоящее соглашение. Продолжение использования сервиса после внесения изменений означает ваше согласие с обновлёнными условиями.

+
+ +
+

6. Заключительные положения

+

Настоящее соглашение вступает в силу с момента вашего согласия с его условиями и действует бессрочно.

+

Если вы не согласны с какими-либо положениями данного соглашения, вы должны немедленно прекратить использование сервиса.

+
+
+
+ + {/* Actions */} +
+
+ + +
+
+
+
+ + +
+
+ ); +}