import { useState, useMemo } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Leader } from './types'; import { leaders } from './mock'; import Header from './header'; import Filter from './filter'; import LeaderCard from './LeaderCard'; import { Spin, Empty } from 'antd'; import { api } from 'packages/client/dist'; export default function WriteLetterPage() { const [selectedLeader, setSelectedLeader] = useState(null); const [searchQuery, setSearchQuery] = useState(''); const [selectedDivision, setSelectedDivision] = useState('all'); const filteredLeaders = useMemo(() => { return leaders.filter(leader => { const matchesSearch = leader.name.toLowerCase().includes(searchQuery.toLowerCase()) || leader.rank.toLowerCase().includes(searchQuery.toLowerCase()); const matchesDivision = selectedDivision === 'all' || leader.division === selectedDivision; return matchesSearch && matchesDivision; }); }, [searchQuery, selectedDivision]); return (
{filteredLeaders.length > 0 ? ( {filteredLeaders.map((leader) => ( setSelectedLeader(leader)} /> ))} ) : ( )}
); }