import React from 'react'; import { useRecoilValue } from 'recoil'; import { isCurrentUserLoadedState } from '@/auth/states/isCurrentUserLoadingState'; import { dateTimeFormatState } from '@/localization/states/dateTimeFormatState'; import { AppPath } from '@/types/AppPath'; import { UserContext } from '@/users/contexts/UserContext'; import { useLocation } from 'react-router-dom'; import { UserOrMetadataLoader } from '~/loading/components/UserOrMetadataLoader'; import { isMatchingLocation } from '~/utils/isMatchingLocation'; export const UserProvider = ({ children }: React.PropsWithChildren) => { const isCurrentUserLoaded = useRecoilValue(isCurrentUserLoadedState); const location = useLocation(); const dateTimeFormat = useRecoilValue(dateTimeFormatState); return !isCurrentUserLoaded && !isMatchingLocation(location, AppPath.Verify) && !isMatchingLocation(location, AppPath.VerifyEmail) && !isMatchingLocation(location, AppPath.CreateWorkspace) ? ( ) : ( {children} ); };