import { useState } from 'react' import { useSearchParams, useNavigate } from 'react-router-dom' import { Hotel, Eye, EyeOff, AlertCircle, CheckCircle2, Moon, Sun } from 'lucide-react' import { useTheme } from '../contexts/ThemeContext' import { api } from '../lib/api' import { cn } from '../lib/utils' export function ResetPasswordPage() { const [searchParams] = useSearchParams() const navigate = useNavigate() const { theme, toggle } = useTheme() const token = searchParams.get('token') ?? '' const [password, setPassword] = useState('') const [password2, setPassword2] = useState('') const [showPass, setShowPass] = useState(false) const [loading, setLoading] = useState(false) const [error, setError] = useState('') const [done, setDone] = useState(false) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (password.length < 8) { setError('Минимум 8 символов'); return } if (password !== password2) { setError('Пароли не совпадают'); return } setError('') setLoading(true) try { await api.auth.resetPassword(token, password) setDone(true) } catch (err) { const msg = err instanceof Error ? err.message : 'Ошибка' setError(msg) } finally { setLoading(false) } } return (
Теперь вы можете войти с новым паролем.
Введите новый пароль для вашего аккаунта
> )}