import React from 'react'; import { Aspect, User, UserJSON } from '@tutorbook/model'; import useSWR from 'swr'; import { v4 as uuid } from 'uuid'; import Carousel from './carousel'; import { UserCard, LoadingCard } from './cards'; interface Props { aspect: Aspect; onClick: (user: User) => void; } export default function UserCarousel({ aspect, onClick }: Props): JSX.Element { const { data: users } = useSWR(`/api/users?aspect=${aspect}`); return ( <> {users && ( {users .map((u: UserJSON) => User.fromJSON(u)) .map((user: User) => ( onClick(user)} /> ))} )} {!users && ( {Array(6) .fill(null) .map(() => ( ))} )} ); }