diff --git a/frontend/app/app/booking/page.tsx b/frontend/app/app/booking/page.tsx new file mode 100644 index 000000000..a3131959f --- /dev/null +++ b/frontend/app/app/booking/page.tsx @@ -0,0 +1,44 @@ +"use client" + +import { useState } from "react" +import { Plus, Calendar, Clock } from "lucide-react" +import { Button } from "@/components/ui/button" + +interface Reservation { id: string; asset: string; reservedBy: string; from: string; to: string; status: "ACTIVE" | "UPCOMING" | "RETURNED" } + +const MOCK: Reservation[] = [ + { id:"1", asset:"MacBook Pro #4", reservedBy:"Alice M.", from:"2024-01-22", to:"2024-01-26", status:"ACTIVE" }, + { id:"2", asset:"Canon Camera", reservedBy:"Bob K.", from:"2024-01-28", to:"2024-01-30", status:"UPCOMING" }, + { id:"3", asset:"Dell Monitor #2", reservedBy:"Carol S.", from:"2024-01-10", to:"2024-01-18", status:"RETURNED" }, +] + +const STATUS_STYLE: Record = { ACTIVE:"bg-green-50 text-green-700", UPCOMING:"bg-blue-50 text-blue-700", RETURNED:"bg-gray-100 text-gray-600" } + +export default function AssetBookingPage() { + const [reservations] = useState(MOCK) + return ( +
+
+

Asset Booking

Reserve assets with due dates and return flow

+ +
+
+ + {["Asset","Reserved By","From","To","Status","Actions"].map(h=>)} + + {reservations.map(r=>( + + + + + + + + + ))} + +
{h}
{r.asset}{r.reservedBy}{r.from}{r.to}{r.status}{r.status === "ACTIVE" && }
+
+
+ ) +} \ No newline at end of file diff --git a/frontend/app/app/vendors/page.tsx b/frontend/app/app/vendors/page.tsx new file mode 100644 index 000000000..511c68bec --- /dev/null +++ b/frontend/app/app/vendors/page.tsx @@ -0,0 +1,43 @@ +"use client" + +import { useState } from "react" +import { Plus, Phone, Mail } from "lucide-react" +import { Button } from "@/components/ui/button" + +interface Vendor { id: string; name: string; category: string; contact: string; email: string; phone: string; activeContracts: number } + +const MOCK: Vendor[] = [ + { id:"1", name:"Dell Technologies", category:"IT Hardware", contact:"John Smith", email:"jsmith@dell.com", phone:"+1-800-999-3355", activeContracts:3 }, + { id:"2", name:"Office Depot", category:"Office Supplies", contact:"Sarah Lee", email:"slee@officedepot.com", phone:"+1-800-463-3768", activeContracts:1 }, + { id:"3", name:"TechServe Inc.", category:"Maintenance", contact:"Mike Chen", email:"mchen@techserve.com", phone:"+1-555-123-4567", activeContracts:2 }, +] + +export default function VendorsPage() { + const [vendors] = useState(MOCK) + return ( +
+
+

Vendors & Suppliers

Manage your vendor and supplier directory

+ +
+
+ + {["Name","Category","Contact","Email","Phone","Contracts","Actions"].map(h=>)} + + {vendors.map(v=>( + + + + + + + + + + ))} + +
{h}
{v.name}{v.category}{v.contact}{v.email}{v.phone}{v.activeContracts}
+
+
+ ) +} \ No newline at end of file