mirror of
https://github.com/myfatemi04/wheelshare-frontend.git
synced 2025-04-16 00:50:18 -04:00
40 lines
788 B
TypeScript
40 lines
788 B
TypeScript
import { useContext, useDebugValue, useMemo } from 'react';
|
|
import { useMe } from '../hooks';
|
|
import EventContext from './EventContext';
|
|
|
|
export function useSignups() {
|
|
const signups = useContext(EventContext).event.signups;
|
|
|
|
useDebugValue(signups);
|
|
|
|
return signups;
|
|
}
|
|
|
|
export function useMySignup() {
|
|
const signups = useSignups();
|
|
const me = useMe()!;
|
|
|
|
const signup = useMemo(() => signups[me.id] ?? null, [signups, me.id]);
|
|
|
|
useDebugValue(signup);
|
|
|
|
return signup;
|
|
}
|
|
|
|
export function useMyCarpool() {
|
|
const me = useMe()!;
|
|
const { event } = useContext(EventContext);
|
|
|
|
const carpool = useMemo(
|
|
() =>
|
|
event.carpools.find((carpool) =>
|
|
carpool.members.some((member) => member.id === me.id)
|
|
),
|
|
[event.carpools, me.id]
|
|
);
|
|
|
|
useDebugValue(carpool);
|
|
|
|
return carpool;
|
|
}
|