diff --git a/src/Admin/AdminInternTime.jsx b/src/Admin/AdminInternTime.jsx new file mode 100644 index 0000000..f16724b --- /dev/null +++ b/src/Admin/AdminInternTime.jsx @@ -0,0 +1,180 @@ +"use client"; + +import { useState } from "react"; +import { Button } from "@/Components/ui/button"; +import { Card } from "@/Components/ui/card"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/Components/ui/select"; +import { Clock, Calendar, Filter } from "lucide-react"; + +const interns = [ + { + name: "Alice Johnson", + department: "Engineering", + startDate: "2023-01-01", + endDate: "2023-06-30", + progress: "100", + }, + { + name: "Bob Smith", + department: "Marketing", + startDate: "2023-03-15", + endDate: "2023-09-15", + progress: "75", + }, + { + name: "Charlie Brown", + department: "Design", + startDate: "2023-02-01", + endDate: "2023-08-01", + progress: "50", + }, + { + name: "Diana Prince", + department: "Engineering", + startDate: "2023-01-01", + endDate: "2023-06-30", + progress: "100", + }, + { + name: "Ethan Hunt", + department: "HR", + startDate: "2023-01-01", + endDate: "2023-06-30", + progress: "90", + }, +]; + +function calculateRemainingTime(startDate, endDate) { + const today = new Date(); + const end = new Date(endDate); + const timeDiff = Math.max(end - today, 0); + const daysRemaining = Math.ceil(timeDiff / (1000 * 60 * 60 * 24)); + return daysRemaining > 0 + ? `${daysRemaining} days remaining` + : "Internship Completed"; +} + +export default function AdminInternTime() { + const [remainingTimes, setRemainingTimes] = useState({}); + const [selectedDepartment, setSelectedDepartment] = useState("all"); + + const handleToggleRemainingTime = (internName) => { + setRemainingTimes((prev) => ({ + ...prev, + [internName]: !prev[internName], + })); + }; + + const filteredInterns = + selectedDepartment === "all" + ? interns + : interns.filter( + (intern) => + intern.department.toLowerCase() === selectedDepartment.toLowerCase() + ); + + return ( +
{intern.department}
++ {calculateRemainingTime(intern.startDate, intern.endDate)} +
+ )} +