From e97dbb11b30d0fe51b2ca1660e9f0d27a99a73e3 Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Fri, 22 Dec 2023 18:59:16 +0200 Subject: Added most of the logic on the driver side --- driver/src/pages/Home.tsx | 150 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 driver/src/pages/Home.tsx (limited to 'driver/src/pages/Home.tsx') diff --git a/driver/src/pages/Home.tsx b/driver/src/pages/Home.tsx new file mode 100644 index 0000000..81f1fb9 --- /dev/null +++ b/driver/src/pages/Home.tsx @@ -0,0 +1,150 @@ +import RideDialog from "@/components/RideDialog" +import { Avatar } from "@/components/ui/avatar" +import { Badge } from "@/components/ui/badge" +import { Button } from "@/components/ui/button" +import { CardTitle, CardHeader, CardContent, Card } from "@/components/ui/card" +import { auth, db } from "@/firebase/firebase_config" +import { fetchUserDetails } from "@/utils/fetchUserDetails" +import { DocumentData, collection, doc, getDoc, getDocs, query, where } from "firebase/firestore" +import { useEffect, useState } from "react" +import { Navigate } from "react-router-dom" + +interface IDriver { + uid: string, + name: string, + phoneNumber: string, + plateNumber: string, + carBrand: string, + carModel: string, + carColor: string, +} + +interface IPassengerRequest { + passengerName: string, + pickUp: string, + dropOff: string, +} + +interface ITrip { + pickUp: string, + dropOff: string, +} + +function PassengerRequestCard({ passengerName, pickUp, dropOff }: IPassengerRequest) { + return ( +
  • +

    + Passenger: {passengerName} +

    +

    + Pickup: {pickUp} +

    +

    + Dropoff: {dropOff} +

    +
    + + +
    +
  • + ) + +} + +export default function Home() { + const [driverData, setDriverData] = useState() + const [currentTrip, setCurrentTrip] = useState() + + + useEffect(() => { + async function fetchData() { + const data: IDriver | null | undefined = await fetchUserDetails(); + setDriverData(data) + } + fetchData() + }, [auth.currentUser, db]); + + return ( + !auth.currentUser ? : + ( +
    +
    +
    +

    Driver Dashboard

    + +

    {driverData?.name}

    + + Active Driver + +
    +
    + +
    +
    +
    + + + Vehicle Details + + +
      +
    • + Brand: {driverData?.carBrand} +
    • +
    • + Model: {driverData?.carModel} +
    • +
    • + License Plate: {driverData?.plateNumber} +
    • +
    +
    +
    + + + Current Trip + + +

    + Pickup: {currentTrip?.pickUp} +

    +

    + Dropoff: {currentTrip?.dropOff} +

    + + + +
    +
    + + + Passenger Requests + + +
      + +
    +
    +
    +
    +
    + +
    + +
    + ) + ) +} -- cgit v1.2.3