feat: add modals for managing interns, creating projects, and tasks

- Implemented AddInternsDialog for inviting and managing interns.
- Created CreateProjectDialog for launching new projects with detailed forms.
- Added CreateTaskDialog for task creation with deadline and submission type options.
- Enhanced Header component with navigation functionality.
- Updated MentorProjectCard to navigate correctly to mentor projects.
- Refactored SidebarMentor for improved navigation and mobile responsiveness.
- Adjusted Internify login logic to streamline user role navigation.
- Added CSS styles for consistent layout and design.
- Introduced mock data for interns to facilitate development and testing.
This commit is contained in:
Kemas M. Aryadary Rasyad
2026-06-06 23:47:22 +07:00
parent e59e63a21e
commit 46cd26f4d2
33 changed files with 1886 additions and 332 deletions
+4 -13
View File
@@ -1,6 +1,5 @@
import { useState } from "react";
import { useNavigate } from "react-router-dom";
import { ChevronRight, Check, Download, Info, Award } from "lucide-react";
import { Check, Download, Info } from "lucide-react";
import { LuFileSpreadsheet } from "react-icons/lu"; // Alternatif icon task dari react-icons
const initialNotifications = [
@@ -34,7 +33,6 @@ const initialNotifications = [
];
export default function NotificationList() {
const navigate = useNavigate();
const [notifications, setNotifications] = useState(initialNotifications);
const handleMarkAllRead = () => {
@@ -43,19 +41,12 @@ export default function NotificationList() {
};
return (
<div className="w-full max-w-5xl px-6 py-6 font-sans">
{/* Breadcrumb */}
<div className="flex items-center text-xs text-gray-400 font-medium mb-1">
<span className="cursor-pointer hover:underline" onClick={() => navigate("/")}>Home</span>
<ChevronRight className="w-3.5 h-3.5 mx-1" />
<span className="text-[#B30000] font-semibold">Notification</span>
</div>
<div className="container">
{/* Header */}
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-8">
<div>
<h1 className="text-3xl font-bold text-gray-900 tracking-tight">Notifications</h1>
<p className="text-sm text-gray-500 mt-1">
<h1 className="page-title">Notifications</h1>
<p className="page-title-desc">
Keep track of your interns' progress and system updates.
</p>
</div>