import React from 'react'; import * as need from 'lib/need'; import { Grid, H5, Text } from 'indigo-react'; import { usePointCursor } from 'store/pointCursor'; import { useHistory } from 'store/history'; // import { usePointCache } from 'store/pointCache'; import View from 'components/View'; import Crumbs from 'components/Crumbs'; import useInvites from 'lib/useInvites'; import useSyncPoint from 'lib/useSyncPoint'; import useCurrentPointName from 'lib/useCurrentPointName'; import useRouter from 'lib/useRouter'; import loadingCharacter from 'lib/loadingCharacter'; import InviteUrl from './Invite/InviteUrl'; import InviteEmail from './Invite/InviteEmail'; import Highlighted from 'components/Highlighted'; const kInviteNames = { URL: 'URL', EMAIL: 'EMAIL', }; const kInviteViews = { URL: InviteUrl, EMAIL: InviteEmail, }; export default function Invite() { const history = useHistory(); const { Route, ...routeProps } = useRouter({ names: kInviteNames, views: kInviteViews, initialRoutes: [{ key: kInviteNames.URL }], }); const { pointCursor } = usePointCursor(); const point = need.pointCursor(pointCursor); const name = useCurrentPointName(); // sync the current cursor useSyncPoint(point); // fetch the invites for the current cursor const { availableInvites, sentInvites, acceptedInvites } = useInvites(point); const availableInvitesText = loadingCharacter(availableInvites); const sentInvitesText = loadingCharacter(sentInvites); const acceptedInvitesText = loadingCharacter(acceptedInvites); return ( history.pop(), }, { text: 'Invite', }, ]} full /> Invite You currently have{' '} {availableInvitesText} invitations left.
Out of the {sentInvitesText} invites you sent, {acceptedInvitesText} have been accepted.
{/* TODO(shrugs): use context isntead of this routeProps nonsense */}
); }