From 2c9f40a78e0b5dfd0d17ef784a8701f7ac58c9e5 Mon Sep 17 00:00:00 2001 From: Michael Fatemi Date: Sun, 27 Jun 2021 11:26:25 -0400 Subject: [PATCH] add ~nice~ event page --- src/components/NewUI/Event.tsx | 167 +++++++++++++++++++++------ src/components/NewUI/EventStream.tsx | 2 +- 2 files changed, 132 insertions(+), 37 deletions(-) diff --git a/src/components/NewUI/Event.tsx b/src/components/NewUI/Event.tsx index f2f7356..09c0214 100644 --- a/src/components/NewUI/Event.tsx +++ b/src/components/NewUI/Event.tsx @@ -8,6 +8,7 @@ const green = '#60f760'; const lightgrey = '#e0e0e0'; export type IEvent = { + id: number; name: string; group: string; formattedAddress: string; @@ -94,13 +95,94 @@ function Details({ ); } -export default function Event({ - name, - group, - formattedAddress, - startTime, - endTime, -}: IEvent) { +export type ICarpool = { + driver: { + id: number; + name: string; + }; + startTime: string; + endTime: string; + extraDistance: number; +}; + +function CarpoolRow({ carpool }: { carpool: ICarpool }) { + const PADDING = '1rem'; + return ( +
+
+ {carpool.driver.name} +
+ Time:{' '} + + {carpool.startTime} - {carpool.endTime} + +
+ Offset from route: {carpool.extraDistance} miles +
+
+ Request to join +
+
+ ); +} + +const dummyCarpoolData: ICarpool[] = [ + { + driver: { + id: 0, + name: 'Michael Fatemi', + }, + startTime: '10:00', + endTime: '10:10', + extraDistance: 6.9, + }, + { + driver: { + id: 1, + name: 'Joshua Hsueh', + }, + startTime: '10:05', + endTime: '10:10', + extraDistance: 420, + }, +]; +function Carpools({ event }: { event: IEvent }) { + // eslint-disable-next-line + const [carpools, _setCarpools] = useState(dummyCarpoolData); + + return ( +
+

Carpools

+ {carpools.map((carpool) => ( + + ))} +
+ ); +} + +export default function Event({ event }: { event: IEvent }) { + const { name, group, formattedAddress, startTime, endTime } = event; const [haveRideThere, setHaveRideThere] = useState(false); const [haveRideBack, setHaveRideBack] = useState(false); const [rideTherePickupPlaceID, setRideTherePickupPlaceID] = useState( @@ -130,7 +212,7 @@ export default function Event({ <> { + onSelected={(_address, placeID) => { setRideTherePickupPlaceID(placeID); }} style={ @@ -141,7 +223,7 @@ export default function Event({ /> { + onSelected={(_address, placeID) => { setRideBackDropoffPlaceID(placeID); }} style={ @@ -154,38 +236,51 @@ export default function Event({
{ + setHaveRideThere((h) => !h); }} > - { - setHaveRideThere((haveRideThere) => !haveRideThere); - }} - > - I have a ride there - - { - setHaveRideBack((haveRideBack) => !haveRideBack); - }} - > - I have a ride back - + checked={haveRideThere} + /> + I don't have a ride there yet
+ +
setHaveRideBack((h) => !h)} + > + + I don't have a ride back yet +
+ + )} diff --git a/src/components/NewUI/EventStream.tsx b/src/components/NewUI/EventStream.tsx index 1eed189..16b8f09 100644 --- a/src/components/NewUI/EventStream.tsx +++ b/src/components/NewUI/EventStream.tsx @@ -4,7 +4,7 @@ export default function EventStream({ events }: { events: IEvent[] }) { return (
{events.map((event) => ( - + ))}
);