import { useState, useEffect } from 'react'; import { useQuery } from '@tanstack/react-query'; import ReactMarkdown from 'react-markdown'; import remarkGfm from 'remark-gfm'; import rehypeRaw from 'rehype-raw'; import { useClient } from 'hooks/useClient'; import { Card } from '@/components/Card'; export const Plans = () => { const client = useClient(); const [selectedPlan, setSelectedPlan] = useState(null); const { data: plans = [] } = useQuery({ queryKey: ['plans'], queryFn: () => client.get('/plans'), }); useEffect(() => { if (plans.length > 0 && !selectedPlan) { setSelectedPlan(plans[0]!); } }, [plans, selectedPlan]); const { data: content = '' } = useQuery({ queryKey: ['plans', selectedPlan], queryFn: () => client.getText(`/plans/${selectedPlan}`), enabled: !!selectedPlan, }); return (
{/* Header with plan selector */}
Plans {plans.length > 1 && ( )}
{/* Markdown content */}
{content}
); };