"use client"; import { Block } from "@/components/Block"; import { Loader } from "@/components/Loader"; import { Page } from "@/components/Page"; import { cn } from "@/utils/cn"; import { useRawInitData } from "@telegram-apps/sdk-react"; import { ClipboardList } from "lucide-react"; import { QRCodeSVG } from "qrcode.react"; import { useEffect, useState } from "react"; import { getUrl } from "./actions"; export default function Home() { const [url, setUrl] = useState(""); const [expiryTime, setExpiryTime] = useState(0); const [isLoading, setIsLoading] = useState(true); const initData = useRawInitData(); const onCopyClick = async () => { if (!url.length) return; await navigator.clipboard.writeText(url); setIsCopied(true); setTimeout(() => { setIsCopied(false); }, 2000); }; const [isCopied, setIsCopied] = useState(false); useEffect(() => { const fetchData = async () => { try { const data = await getUrl(initData); setUrl(data.url); setExpiryTime(data.expiryTime); setIsLoading(false); } catch (e) { console.error(e); } }; fetchData(); }, [initData]); if (isLoading) return ; return ( Nwaifu Proxy {url && ( <> Скопировано Нажмите на QR, чтобы скопировать! Статус: {expiryTime > Date.now() || expiryTime === 0 ? "Активна" : "Не Активна"} Активна до: {expiryTime === 0 ? "Всегда" : expiryTime > Date.now() ? new Date(expiryTime).toLocaleString("ru-RU") : "Не Активна"} > )} ); }