all repos — caroster @ 6dbcd3bdfb89ece1ca24cc4a4ccf50d556112f4a

[Octree] Group carpool to your event https://caroster.io

app/src/hooks/useProfile.js (view raw)

 1import {useMemo, useCallback} from 'react';
 2import {useAuth} from 'strapi-react-context';
 3
 4export default () => {
 5  const {token, authState, updateProfile} = useAuth();
 6
 7  const connected = useMemo(() => !!token, [token]);
 8
 9  const user = useMemo(() => authState?.user, [authState]);
10
11  const addEvent = useCallback(
12    async event => {
13      if (!!token) {
14        const {user} = authState;
15        const {events} = user;
16        updateProfile({
17          ...user,
18          events: !!events
19            ? [...events.filter(e => e !== event.id), event.id]
20            : [event.id],
21        });
22      }
23    },
24    [token, authState] // eslint-disable-line
25  );
26
27  return {connected, user, addEvent};
28};