import React from 'react'; import { WORKING_GROUPS } from '../constants'; import { Search, Loader2 } from 'lucide-react'; interface FilterBarProps { onFetch: (wg: string, meeting: string) => void; isFetching: boolean; } const FilterBar: React.FC = ({ onFetch, isFetching }) => { const [selectedWg, setSelectedWg] = React.useState(WORKING_GROUPS[0]); const [meetings, setMeetings] = React.useState>({}); const [selectedMeeting, setSelectedMeeting] = React.useState(''); const [isLoadingMeetings, setIsLoadingMeetings] = React.useState(false); React.useEffect(() => { const fetchMeetings = async () => { setIsLoadingMeetings(true); try { const response = await fetch('https://organizedprogrammers-docxtract.hf.space/docs/get_meetings', { method: 'POST', body: JSON.stringify({ "working_group": selectedWg }), headers: { 'Content-Type': 'application/json' } }); if (response.ok) { const data = await response.json(); if (data.meetings) { setMeetings(data.meetings); const firstMeetingValue = Object.values(data.meetings)[0] as string; if (firstMeetingValue) { setSelectedMeeting(firstMeetingValue); } } } else { console.error("Failed to fetch meetings"); } } catch (error) { console.error("Error fetching meetings:", error); } finally { setIsLoadingMeetings(false); } }; fetchMeetings(); }, [selectedWg]); return (
); }; export default FilterBar;