import { Link } from 'react-router-dom' import { useAuthStore } from '@/store/auth' import { contentApi } from '@/api/admin' import { NeonButton } from '@/components/ui' import { Bot, Bell, X } from 'lucide-react' import { useState, useEffect } from 'react' const STORAGE_KEY = 'telegram_banner_dismissed' // Default content if not configured in admin const DEFAULT_TITLE = 'Привяжите Telegram-бота' const DEFAULT_DESCRIPTION = 'Получайте уведомления о событиях марафона, новых заданиях и результатах прямо в Telegram' export function TelegramBotBanner() { const user = useAuthStore((state) => state.user) const [dismissed, setDismissed] = useState(() => { return sessionStorage.getItem(STORAGE_KEY) === 'true' }) const [title, setTitle] = useState(DEFAULT_TITLE) const [description, setDescription] = useState(DEFAULT_DESCRIPTION) useEffect(() => { const loadContent = async () => { try { const data = await contentApi.getPublicContent('telegram_bot_info') if (data.title) setTitle(data.title) if (data.content) setDescription(data.content) } catch { // Use defaults if content not found } } loadContent() }, []) const handleDismiss = () => { sessionStorage.setItem(STORAGE_KEY, 'true') setDismissed(true) } // Don't show if user already has Telegram linked or dismissed if (user?.telegram_id || dismissed) { return null } return (
{description}