diff --git a/.env.example b/.env.example index 2ecff17..41d8091 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,11 @@ -# API URL для нового Go API NEXT_PUBLIC_API_URL=https://api.neomovies.ru -# Для локальной разработки используйте: -# NEXT_PUBLIC_API_URL=http://localhost:3000 \ No newline at end of file +MONGODB_URI=mongodb://localhost:27017/neomovies + +NEXTAUTH_SECRET=your_nextauth_secret_here +NEXTAUTH_URL=http://localhost:3001 + +GOOGLE_CLIENT_ID=your_google_client_id +GOOGLE_CLIENT_SECRET=your_google_client_secret + +NEXT_PUBLIC_SITE_URL=https://neomovies.ru diff --git a/README.md b/README.md index 67e4e2e..69fd93d 100644 --- a/README.md +++ b/README.md @@ -187,5 +187,5 @@ Users are advised to verify whether use of the site complies with their local co ---
Made with <3 by Foxix/Erno
+Made with ❤️ by Foxix
Нет {mediaType === 'movies' ? 'фильмов' : 'сериалов'} в этой категории.
+{t.categories.noMoviesInCategory}
- У вас пока нет избранных фильмов и сериалов + {t.favorites.emptyDescription}
- Найти фильмы + {t.favorites.goToMovies}Ваша коллекция любимых фильмов и сериалов
diff --git a/src/app/login/LoginClient.tsx b/src/app/login/LoginClient.tsx index 4454f9a..57f1aed 100644 --- a/src/app/login/LoginClient.tsx +++ b/src/app/login/LoginClient.tsx @@ -4,8 +4,10 @@ import { useState, useEffect } from 'react'; import { useAuth } from '../../hooks/useAuth'; import { useRouter } from 'next/navigation'; import Image from 'next/image'; +import { useTranslation } from '@/contexts/TranslationContext'; export default function LoginClient() { + const { t } = useTranslation(); const [isLogin, setIsLogin] = useState(true); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); @@ -34,7 +36,7 @@ export default function LoginClient() { router.push(`/verify?email=${encodeURIComponent(email)}`); } } catch (err) { - setError(err instanceof Error ? err.message : 'Произошла ошибка'); + setError(err instanceof Error ? err.message : t.common.error); } finally { setIsLoading(false); } @@ -53,7 +55,7 @@ export default function LoginClient() {{error || t.common.movieNotFound}
{movie.tagline}
- )} - -{movie.overview}
-{unified.originalTitle}
+ )} + {movie.tagline && ( +{movie.tagline}
+ )} + +{unified.overview}
+Страница не найдена
+{t.common.pageNotFound || 'Страница не найдена'}
- На главную + {t.nav.home}Это действие нельзя будет отменить. Все ваши данные, включая избранное, будут удалены.
+{t.profile.deleteWarning}
Вы уверены, что хотите навсегда удалить свой аккаунт? Все ваши данные, включая избранное и реакции, будут безвозвратно удалены. Это действие нельзя будет отменить.
+{t.profile.confirmDeleteText}
+ {t.search.found} {totalResults} { + totalResults === 1 + ? t.search.result_one + : totalResults < 5 + ? t.search.result_few + : t.search.result_many + } +
+ )} +{t.search.loadingResults}
++ {t.search.resultsFor.replace(':', '')} "{searchParams.get('q')}" {t.search.noResults} +
++ {t.search.tryDifferent} +
+Пожалуйста, внимательно ознакомьтесь с условиями использования
+{t.subtitle}
Благодарим вас за интерес к сервису Neo Movies. Пожалуйста, ознакомьтесь с нашими условиями использования перед началом работы.
- -Использование сайта NeoMovies (https://neo-movies.vercel.app), (https://neomovies.ru) возможно только при полном согласии с условиями настоящего Пользовательского соглашения. Несогласие с любыми положениями соглашения означает, что вы не имеете права использовать данный сайт и должны прекратить доступ к нему.
-NeoMovies предоставляет доступ к информации о фильмах и сериалах с использованием API TMDB. Видео воспроизводятся с использованием сторонних видеохостингов и балансеров. Сайт не хранит и не распространяет видеофайлы. Мы выступаем исключительно в роли посредника между пользователем и внешними сервисами.
-Некоторая информация о доступности контента также может быть получена из общедоступных децентрализованных источников, включая magnet-ссылки. Сайт не распространяет файлы и не является участником пиринговых сетей.
-Сайт не несёт ответственности за:
-Вся ответственность за использование контента лежит исключительно на пользователе. Использование сторонних источников осуществляется на ваш собственный риск.
-Сайт собирает только минимальный набор данных: имя, email и пароль — исключительно для сохранения избранного. Пароли шифруются и хранятся безопасно. Мы не передаём ваши данные третьим лицам и не используем их в маркетинговых целях.
-Исходный код сайта полностью открыт и доступен для проверки в публичном репозитории, что обеспечивает максимальную прозрачность и возможность независимого аудита безопасности и обработки данных.
-Пользователь подтверждает, что ему исполнилось 16 лет либо он получил разрешение от законного представителя.
-Мы оставляем за собой право вносить изменения в настоящее соглашение. Продолжение использования сервиса после внесения изменений означает ваше согласие с обновлёнными условиями.
-Настоящее соглашение вступает в силу с момента вашего согласия с его условиями и действует бессрочно.
-Если вы не согласны с какими-либо положениями данного соглашения, вы должны немедленно прекратить использование сервиса.
-{paragraph}
+ ))} + {section.list && ( + <> +{section.afterList}
} + > + )} +{error || t.common.tvNotFound}
{show.tagline}
- )} - -{show.overview}
-{unified.originalTitle}
+ )} + {show.tagline && ( +{show.tagline}
+ )} + +{unified.overview}
+- Мы отправили код подтверждения на {email} + {t.verify.sentCode} {email}
Выберите плеер, который будет использоваться по умолчанию для просмотра.
+{t.settings.languageDescription}
+{t.settings.playerLanguageDescription}
+{t.settings.russianPlayers}
+{t.settings.englishPlayers}
++ {t.settings.adBlockerText} +
++ {t.settings.adBlockerRecommendation} +
+{t.settings.playerSettingsDescription}
{player.description}