diff --git a/src/components/Carpool/Carpool.tsx b/src/components/Carpool/Carpool.tsx index b51d4ce..6d8f5c5 100644 --- a/src/components/Carpool/Carpool.tsx +++ b/src/components/Carpool/Carpool.tsx @@ -9,22 +9,11 @@ import { useParams } from 'react-router-dom'; import { ICarpool } from '../types'; import UISecondaryBox from '../UI/UISecondaryBox'; +import MemberList from './MemberList'; import UIButton from '../UI/UIButton'; import { lightgrey } from '../colors'; import { getCarpool } from '../api'; -function MemberList({ members }: { members: ICarpool['members'] }) { - return ( -
- {members.length > 0 - ? members.map((member) => { - return
{member.name}
; - }) - : 'This carpool has no members.'} -
- ); -} - export default function Carpool() { const id = +useParams<{ id: string }>().id; const [carpool, setCarpool] = useState(null); diff --git a/src/components/Carpool/MemberList.tsx b/src/components/Carpool/MemberList.tsx new file mode 100644 index 0000000..c3cdb40 --- /dev/null +++ b/src/components/Carpool/MemberList.tsx @@ -0,0 +1,49 @@ +import AccountCircleIcon from '@material-ui/icons/AccountCircle'; + +export default function MemberList({ + members, +}: { + members: { + id: number; + name: string; + }[]; +}) { + return ( +
+

Members

+ {members.length > 0 ? ( +
+ {members.map((member, index) => { + return index < 2 ? ( +
+ {} + +
{member.name}
+
+ ) : ( + '' + ); + })} + {members.length > 2 + ? members.length - 2 == 1 + ? members.length - 2 + ' other...' + : members.length - 2 + ' others...' + : ''}{' '} +
+ ) : ( + 'This carpool has no members.' + )} +
+ ); +}