import { useState, useEffect } from 'react' import { useParams, useLocation, Link } from 'react-router-dom' import { contentApi } from '@/api/admin' import type { StaticContent } from '@/types' import { GlassCard } from '@/components/ui' import { ArrowLeft, Loader2, FileText } from 'lucide-react' // Map routes to content keys const ROUTE_KEY_MAP: Record = { '/terms': 'terms_of_service', '/privacy': 'privacy_policy', } export function StaticContentPage() { const { key: paramKey } = useParams<{ key: string }>() const location = useLocation() const [content, setContent] = useState(null) const [isLoading, setIsLoading] = useState(true) const [error, setError] = useState(null) // Determine content key from route or param const contentKey = ROUTE_KEY_MAP[location.pathname] || paramKey useEffect(() => { if (!contentKey) return const loadContent = async () => { setIsLoading(true) setError(null) try { const data = await contentApi.getPublicContent(contentKey) setContent(data) } catch { setError('Контент не найден') } finally { setIsLoading(false) } } loadContent() }, [contentKey]) if (isLoading) { return (

Загрузка...

) } if (error || !content) { return (

Страница не найдена

Запрашиваемый контент не существует

На главную
) } return (
На главную

{content.title}

Последнее обновление: {new Date(content.updated_at).toLocaleDateString('ru-RU', { day: 'numeric', month: 'long', year: 'numeric' })}
) }