summaryrefslogtreecommitdiff
path: root/driver/src/App.tsx
diff options
context:
space:
mode:
authoromagdy7 <omar.professional8777@gmail.com>2023-12-22 18:59:16 +0200
committeromagdy7 <omar.professional8777@gmail.com>2023-12-22 18:59:16 +0200
commite97dbb11b30d0fe51b2ca1660e9f0d27a99a73e3 (patch)
treee99961a2ff29d7e8522697f67c9276713c657569 /driver/src/App.tsx
parent7b379914e44583b9b097ed286b669ad244b176a1 (diff)
downloadcarpool-e97dbb11b30d0fe51b2ca1660e9f0d27a99a73e3.tar.xz
carpool-e97dbb11b30d0fe51b2ca1660e9f0d27a99a73e3.zip
Added most of the logic on the driver side
Diffstat (limited to 'driver/src/App.tsx')
-rw-r--r--driver/src/App.tsx173
1 files changed, 6 insertions, 167 deletions
diff --git a/driver/src/App.tsx b/driver/src/App.tsx
index 233b96d..9b3bb03 100644
--- a/driver/src/App.tsx
+++ b/driver/src/App.tsx
@@ -1,176 +1,15 @@
-import { addDoc, collection } from "firebase/firestore"
-import { db } from "./firebase/firebase_config"
-import { Button } from "@/components/ui/button"
-import {
- Dialog,
- DialogContent,
- DialogDescription,
- DialogFooter,
- DialogHeader,
- DialogTitle,
- DialogTrigger,
-} from "@/components/ui/dialog"
-import { Input } from "@/components/ui/input"
-import { Label } from "@/components/ui/label"
-import { useState } from "react"
-
-interface RideOrder {
- driverName: string
- carModel: string
- carColor: string
- plateNumber: string
- status: string
- orderTime: Date
- fromLocation: string
- toLocation: string
-}
+import RideDialog from "./components/RideDialog"
+import Home from "./pages/Home"
+import LandingPage from "./pages/LandingPage"
function App() {
-
- const [driverName, setDriverName] = useState<string>()
- const [carModel, setCarModel] = useState<string>()
- const [carColor, setCarColor] = useState<string>()
- const [plateNumber, setPlateNumber] = useState<string>()
- const [status, _setStatus] = useState<string>('Pending')
- const [orderTime, _setOrderTime] = useState<Date>(new Date())
- const [fromLocation, setFromLocation] = useState<string>()
- const [toLocation, setToLocation] = useState<string>()
-
- const [_rideOrder, _setRideOrder] = useState<RideOrder>({
- driverName: "Mahmoud",
- carModel: "Toyota Corolla",
- carColor: "Red",
- plateNumber: "ABC-123",
- status: "Pending",
- orderTime: new Date("2023-12-20"),
- fromLocation: "Abdu-Basha",
- toLocation: "5th Settlement",
- })
-
- const addRideOrderToFirestore = async () => {
- try {
- // Get a reference to the 'rideOrders' collection
- const rideOrdersCollection = collection(db, 'Rides');
-
- // Add a new document to the 'rideOrders' collection with the data from the RideOrder object
- const newRideOrderRef = await addDoc(rideOrdersCollection, {
- driverName: driverName,
- carModel: carModel,
- carColor: carColor,
- plateNumber: plateNumber,
- status: status,
- orderTime: orderTime,
- fromLocation: fromLocation,
- toLocation: toLocation,
- });
-
- console.log('Ride order added with ID:', newRideOrderRef.id);
- // 'newRideOrderRef.id' will give you the document ID of the added ride order
- } catch (error) {
- console.error('Error adding ride order:', error);
- }
- };
-
return (
- <div className="bg-white h-screen w-screen flex items-center justify-center">
- <Dialog>
- <DialogTrigger asChild>
- <Button className="rounded-xl" variant="outline">Add Ride</Button>
- </DialogTrigger>
- <DialogContent className="sm:max-w-[425px]">
- <DialogHeader>
- <DialogTitle>Ride details</DialogTitle>
- <DialogDescription>
- Please enter details about your ride and click submit for the ride to appear to other students!
- </DialogDescription>
- </DialogHeader>
- <div className="grid gap-4 py-4">
- <div className="grid grid-cols-4 items-center gap-4">
- <Label htmlFor="name" className="text-right">
- Name
- </Label>
- <Input
- id="Name"
- defaultValue=""
- className="col-span-3"
- onChange={(e) => setDriverName(e.target.value)}
- />
- </div>
- <div className="grid grid-cols-4 items-center gap-4">
- <Label htmlFor="Car Model" className="text-right">
- Car Model
- </Label>
- <Input
- id="Car Model"
- defaultValue=""
- className="col-span-3"
- onChange={(e) => setCarModel(e.target.value)}
- />
- </div>
- <div className="grid grid-cols-4 items-center gap-4">
- <Label htmlFor="To Location" className="text-right">
- To Location
- </Label>
- <Input
- id="To Location"
- defaultValue=""
- className="col-span-3"
- onChange={(e) => setToLocation(e.target.value)}
- />
- </div>
- <div className="grid grid-cols-4 items-center gap-4">
- <Label htmlFor="From location" className="text-right">
- From location
- </Label>
- <Input
- id="From location"
- defaultValue=""
- className="col-span-3"
- onChange={(e) => setFromLocation(e.target.value)}
- />
- </div>
- <div className="grid grid-cols-4 items-center gap-4">
- <Label htmlFor="Car color" className="text-right">
- Car color
- </Label>
- <Input
- id="Car color"
- defaultValue=""
- className="col-span-3"
- onChange={(e) => setCarColor(e.target.value)}
- />
- </div>
- <div className="grid grid-cols-4 items-center gap-4">
- <Label htmlFor="Plate Number" className="text-right">
- Plate Number
- </Label>
- <Input
- id="Plate Number"
- defaultValue=""
- className="col-span-3"
- onChange={(e) => setPlateNumber(e.target.value)}
- />
- </div>
- </div>
- <DialogFooter>
- <Button type="submit" onClick={addRideOrderToFirestore}>Add Ride</Button>
- </DialogFooter>
- </DialogContent>
- </Dialog>
- </div>
+ <LandingPage />
+ // <Home />
+ // <RideDialog />
)
}
-// interface RideOrder {
-// driverName: string
-// carModel: string
-// carColor: string
-// plateNumber: string
-// status: string
-// orderTime: Date
-// fromLocation: string
-// toLocation: string
-// }
export default App