"use client"; // ============================================================================ // Login Page // ============================================================================ import React, { useState } from "react"; import { useAuth } from "@/components/auth/auth-provider"; import { USE_MOCKS, BOT_USERNAME } from "@/lib/utils/constants"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { AlertCircle, LogIn, Loader2 } from "lucide-react"; import { Alert, AlertDescription } from "@/components/ui/alert"; import Image from "next/image"; export default function LoginPage() { const { loginMock, error: authError } = useAuth(); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const handleTelegramLogin = () => { const telegramUrl = `https://t.me/${BOT_USERNAME}?start=login`; window.open(telegramUrl, "_blank"); }; const handleMockLogin = async () => { try { setLoading(true); setError(null); await loginMock(); } catch (err: any) { setError(err?.error?.message || "Ошибка входа"); } finally { setLoading(false); } }; const displayError = error || authError; return (
Smartpost
Smartpost Система управления рекламными закупками в Telegram
{displayError && ( {displayError} )} {USE_MOCKS && (
или
)} {USE_MOCKS && ( Режим разработки: Используются моки данных. Бекенд не требуется. )}

Войдя в систему, вы соглашаетесь с условиями использования

); }