From 2548273d89e55efc24a2df101b621b06a6a83313 Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Fri, 22 Dec 2023 20:32:40 +0200 Subject: Added rendering passenger requests --- driver/src/components/RideDialog.tsx | 48 ++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 5 deletions(-) (limited to 'driver/src/components/RideDialog.tsx') diff --git a/driver/src/components/RideDialog.tsx b/driver/src/components/RideDialog.tsx index da7767b..ff3aa98 100644 --- a/driver/src/components/RideDialog.tsx +++ b/driver/src/components/RideDialog.tsx @@ -1,6 +1,5 @@ -import { addDoc, collection, doc, getDoc } from "firebase/firestore" +import { addDoc, collection } from "firebase/firestore" import { db } from "../firebase/firebase_config" -import { auth } from "../firebase/firebase_config" import { Button } from "@/components/ui/button" import { Dialog, @@ -14,6 +13,8 @@ import { 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 @@ -28,15 +29,21 @@ interface RideOrder { } -function RideDialog({ name, brand, model, color, plateNumber }: any) { +function RideDialog({ name, brand, model, color, plateNumber, phoneNumber }: any) { + const { toast } = useToast() - const [status, _setStatus] = useState('Pending') + const [status, _setStatus] = useState('Unreserved') const [orderTime, _setOrderTime] = useState(new Date()) const [pickUpLocation, setPickUpLocation] = useState() const [dropOffLocation, setDropOffLocation] = useState() + const [isRideAdded, setIsRideAdded] = useState(true) + const [cost, setCost] = useState('') const addRideOrderToFirestore = async () => { + if (isRideAdded) { + return; + } try { // Get a reference to the 'rideOrders' collection const rideOrdersCollection = collection(db, 'Rides'); @@ -44,16 +51,19 @@ function RideDialog({ name, brand, model, color, plateNumber }: any) { // Add a new document to the 'rideOrders' collection with the data from the RideOrder object const newRideOrderRef = await addDoc(rideOrdersCollection, { driverName: name, + phoneNumber: phoneNumber, carModel: model, carBrand: brand, carColor: color, plateNumber: plateNumber, + cost: parseInt(cost), status: status, orderTime: orderTime, fromLocation: pickUpLocation, toLocation: dropOffLocation, }); + setIsRideAdded(true) console.log('Ride order added with ID:', newRideOrderRef.id); // 'newRideOrderRef.id' will give you the document ID of the added ride order } catch (error) { @@ -61,6 +71,10 @@ function RideDialog({ name, brand, model, color, plateNumber }: any) { } }; + const cancelRide = () => { + setIsRideAdded(false) + } + return (
@@ -97,9 +111,33 @@ function RideDialog({ name, brand, model, color, plateNumber }: any) { onChange={(e) => setPickUpLocation(e.target.value)} />
+
+ + setCost(e.target.value)} + /> +
- + -- cgit v1.2.3