import { useContext, useMemo } from 'react'; import { Location } from '../../lib/estimateoptimalpath'; import getDistance from '../../lib/getdistance'; import { IEventSignupComplete } from '../types'; import useOptimalPath from '../useOptimalPath'; import { CarpoolContext } from './Carpool'; import useSignups from './useSignups'; export default function CarpoolRouteEstimator() { const { carpool } = useContext(CarpoolContext); const { members } = carpool; const memberIds = useMemo( () => members.map((member) => member.id), [members] ); const signups = useSignups(carpool.event.id, memberIds); const completedSignups = useMemo( () => signups.filter( (signup) => signup.latitude !== null ) as IEventSignupComplete[], [signups] ); const path = useOptimalPath(completedSignups, carpool.event); return (