import React, { useEffect } from "react"; import {RefreshControl, ScrollView, View} from "react-native"; import CalendarPage from "@/components/pages/calendar/CalendarPage"; import TabletCalendarPage from "@/components/pages/(tablet_pages)/calendar/TabletCalendarPage"; import * as Device from "expo-device"; import {DeviceType} from "expo-device"; import {useCalSync} from "@/hooks/useCalSync"; import {colorMap} from "@/constants/colorMap"; import { useSetAtom } from "jotai"; import { selectedUserAtom } from "@/components/pages/calendar/atoms"; import { useAuthContext } from "@/contexts/AuthContext"; export default function Screen() { const isTablet = Device.deviceType === DeviceType.TABLET; const {resyncAllCalendars, isSyncing} = useCalSync(); const setSelectedUser = useSetAtom(selectedUserAtom); const {profileData} = useAuthContext() useEffect(() => { if(!isTablet && profileData) setSelectedUser({firstName: profileData.firstName, lastName: profileData.lastName, eventColor: profileData.eventColor}) }, []) const onRefresh = React.useCallback(async () => { try { await resyncAllCalendars(); } catch (error) { console.error("Refresh failed:", error); } }, [resyncAllCalendars]); const refreshControl = ( ); if (isTablet) { return ( ); } return ( ); }