import { Sidebar } from '@phosphor-icons/react'; import { initSettings, OptionsStore } from '@shared/storage/OptionsStore'; import { Button } from '@views/components/common/Button'; import CourseStatus from '@views/components/common/CourseStatus'; import Divider from '@views/components/common/Divider'; import ScheduleTotalHoursAndCourses from '@views/components/common/ScheduleTotalHoursAndCourses'; import useSchedules from '@views/hooks/useSchedules'; import React, { useEffect, useState } from 'react'; interface CalendarHeaderProps { sidebarOpen?: boolean; onSidebarToggle?: () => void; } /** * Renders the header component for the calendar. * @returns The JSX element representing the calendar header. */ export default function CalendarHeader({ sidebarOpen, onSidebarToggle }: CalendarHeaderProps): JSX.Element { const [enableCourseStatusChips, setEnableCourseStatusChips] = useState(false); const [_enableDataRefreshing, setEnableDataRefreshing] = useState(false); const [activeSchedule] = useSchedules(); useEffect(() => { initSettings().then(({ enableCourseStatusChips, enableDataRefreshing }) => { setEnableCourseStatusChips(enableCourseStatusChips); setEnableDataRefreshing(enableDataRefreshing); }); const l1 = OptionsStore.listen('enableCourseStatusChips', async ({ newValue }) => { setEnableCourseStatusChips(newValue); // console.log('enableCourseStatusChips', newValue); }); const l2 = OptionsStore.listen('enableDataRefreshing', async ({ newValue }) => { setEnableDataRefreshing(newValue); // console.log('enableDataRefreshing', newValue); }); return () => { OptionsStore.removeListener(l1); OptionsStore.removeListener(l2); }; }, []); return (
{!sidebarOpen && (
); }