From d34ed45d110be3df1436519594cf6cfd55a55ead Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Fri, 22 Dec 2023 21:02:11 +0200 Subject: Drive side done. --- driver/index.html | 2 +- driver/src/App.tsx | 5 -- driver/src/components/RideDialog.tsx | 13 ---- driver/src/pages/Home.tsx | 136 +++++++++++++++++++++------------- driver/src/utils/fetchRideRequests.ts | 2 +- 5 files changed, 88 insertions(+), 70 deletions(-) diff --git a/driver/index.html b/driver/index.html index e4b78ea..5fc871e 100644 --- a/driver/index.html +++ b/driver/index.html @@ -4,7 +4,7 @@ - Vite + React + TS + Carpool
diff --git a/driver/src/App.tsx b/driver/src/App.tsx index 9b3bb03..d0fa20f 100644 --- a/driver/src/App.tsx +++ b/driver/src/App.tsx @@ -1,13 +1,8 @@ -import RideDialog from "./components/RideDialog" -import Home from "./pages/Home" import LandingPage from "./pages/LandingPage" - function App() { return ( - // - // ) } diff --git a/driver/src/components/RideDialog.tsx b/driver/src/components/RideDialog.tsx index ff3aa98..e57fc89 100644 --- a/driver/src/components/RideDialog.tsx +++ b/driver/src/components/RideDialog.tsx @@ -14,19 +14,6 @@ import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { useState } from "react" import { useToast } from "./ui/use-toast" -import { ToastAction } from "./ui/toast" - -interface RideOrder { - driverName: string - carBrand: string - carModel: string - carColor: string - plateNumber: string - status: string - orderTime: Date - pickUpLocation: string - dropOffLocation: string -} function RideDialog({ name, brand, model, color, plateNumber, phoneNumber }: any) { diff --git a/driver/src/pages/Home.tsx b/driver/src/pages/Home.tsx index 5a2d981..37727e7 100644 --- a/driver/src/pages/Home.tsx +++ b/driver/src/pages/Home.tsx @@ -28,46 +28,65 @@ interface IPassengerRequest { dropOff: string, } -interface ITrip { - pickUp: string, - dropOff: string, -} - -function PassengerRequestCard({ passengerName, pickUp, dropOff, status, phoneNumber }: IPassengerRequest) { - return ( -
  • -

    - Passenger: {passengerName} -

    -

    - Phone number: {phoneNumber} -

    -

    - Status: {status} -

    -

    - Pickup: {pickUp} -

    -

    - Dropoff: {dropOff} -

    -
    - - -
    -
  • - ) - -} export default function Home() { const [driverData, setDriverData] = useState() - const [rideRequests, setRideRequests] = useState([]) - const [currentTrip, setCurrentTrip] = useState() + const [rideRequests, setRideRequests] = useState([]) + const [currentTrip, setCurrentTrip] = useState() + const [isLoggedIn, setIsLoggedIn] = useState(true) + + + function PassengerRequestCard({ passengerName, pickUp, dropOff, status, phoneNumber }: IPassengerRequest) { + return ( +
  • +

    + Passenger: {passengerName} +

    +

    + Phone Number: {phoneNumber} +

    +

    + Status: {status} +

    +

    + Pickup: {pickUp} +

    +

    + Dropoff: {dropOff} +

    +
    + + +
    +
  • + ) + + } useEffect(() => { const user = auth.currentUser; @@ -83,7 +102,7 @@ export default function Home() { }, [auth.currentUser, db]); return ( - !auth.currentUser ? : + !isLoggedIn ? : (
    @@ -96,7 +115,14 @@ export default function Home() {
    -
    @@ -125,6 +151,15 @@ export default function Home() { Current Trip +

    + Passenger: {currentTrip?.passengerName} +

    +

    + Phone Number: {currentTrip?.phoneNumber} +

    +

    + Status: {currentTrip?.status} +

    Pickup: {currentTrip?.pickUp}

    @@ -148,17 +183,18 @@ export default function Home() {
      - {rideRequests?.map((rideReq) => { - return ( - < PassengerRequestCard - passengerName={rideReq?.name} - pickUp={rideReq?.pickUp} - dropOff={rideReq?.dropOff} - phoneNumber={rideReq?.phoneNumber} - status={rideReq?.status} - /> - ) - })} + {rideRequests?.filter((rideReq) => rideReq?.status == "Pending") + .map((rideReq) => { + return ( + < PassengerRequestCard + passengerName={rideReq?.passengerName} + pickUp={rideReq?.pickUp} + dropOff={rideReq?.dropOff} + phoneNumber={rideReq?.phoneNumber} + status={rideReq?.status} + /> + ) + })}
    diff --git a/driver/src/utils/fetchRideRequests.ts b/driver/src/utils/fetchRideRequests.ts index ec28471..53e6006 100644 --- a/driver/src/utils/fetchRideRequests.ts +++ b/driver/src/utils/fetchRideRequests.ts @@ -19,7 +19,7 @@ export const fetchRideRequests = async () => { const rideReqs = data?.map(async (rideReq) => { const passengerData: any = await fetchUserDetails(rideReq.passengerID); return { - name: passengerData?.name, + passengerName: passengerData?.name, phoneNumber: passengerData?.phoneNumber, status: rideReq.status, pickUp: rideReq.pickUp, -- cgit v1.2.3