'use client'; import { useMemo, useState } from 'react'; import { useQuery } from '@tanstack/react-query'; import { MessageSquareText } from 'lucide-react'; import { EmptyStateWithBorder } from '@/components/layout/empty'; import { ErrorInline } from '@/components/layout/error'; import { LoadingStateWithBorder } from '@/components/layout/loading'; import { useAuth } from '@/components/providers/auth-provider'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { OptionService } from '@/lib/services/openflare'; import { ContactPageTab } from './components/contact-page-tab'; import { ErrorPageTab } from './components/error-page-tab'; import { OPTIONS_QUERY_KEY, optionsToMap } from './components/shared'; export default function ResponsesPage() { const { user, loading: authLoading } = useAuth(); const [activeTab, setActiveTab] = useState('error'); const optionsQuery = useQuery({ queryKey: OPTIONS_QUERY_KEY, queryFn: () => OptionService.list(), enabled: !!user?.is_admin, }); const optionMap = useMemo( () => optionsToMap(optionsQuery.data ?? []), [optionsQuery.data], ); if (authLoading) { return (
配置源站错误页与离线兜底联系页。保存后需发布配置版本后生效。