From dc64fadfdda0107ffb78417b3faac19d5465e9e6 Mon Sep 17 00:00:00 2001
From: "Kemas M. Aryadary Rasyad"
<112590882+aryadary0706@users.noreply.github.com>
Date: Mon, 22 Jun 2026 21:01:25 +0700
Subject: [PATCH] feat: Implement task editing functionality and improve UI
components
- Added EditTaskModal component for editing tasks.
- Integrated EditTaskModal into TaskTab for task editing.
- Refactored AddInternsDialog for better UI and functionality.
- Created AddInternsToProjects component for adding interns to projects.
- Enhanced CreateProjectDialog and CreateTaskDialog with improved styling.
- Introduced EditSubmissionTask component for editing submission tasks.
- Added ProtectedRoutes for route protection based on user roles.
- Implemented API utility for handling requests with authorization.
- Removed obsolete InternRoute and MentorRoute files.
- Updated global CSS styles for better responsiveness and aesthetics.
---
src/App.tsx | 81 ++++----
.../{page.tsx => LoginInternify.tsx} | 0
src/Pages/internify/intern/ProjectsPage.tsx | 4 +-
.../intern/components/ProjectsCard.tsx | 4 +-
.../intern/components/SidebarIntern.tsx | 6 +-
src/Pages/internify/mentor/InternsPage.tsx | 46 +++--
.../mentor/MentorProjectDetailPage.tsx | 33 +--
src/Pages/internify/mentor/TaskTab.tsx | 10 +-
.../mentor/components/AddInternsDialog.tsx | 105 +++++-----
.../components/AddInternsToProjects.tsx | 176 ++++++++++++++++
.../mentor/components/CreateProjectDialog.tsx | 4 +-
.../mentor/components/CreateTaskDialog.tsx | 22 +-
.../mentor/components/EditSubmissionTask.tsx | 160 +++++++++++++++
.../mentor/components/EditTaskDialog.tsx | 188 ++++++++++++++++++
src/Pages/utils/InternRoute.tsx | 18 --
src/Pages/utils/MentorRoute.tsx | 18 --
src/Pages/utils/ProtectedRoute.tsx | 58 ++++++
src/Pages/utils/api.ts | 20 ++
src/hooks/useAuthToken.ts | 0
src/hooks/useForm.ts | 1 +
src/index.css | 21 +-
21 files changed, 785 insertions(+), 190 deletions(-)
rename src/Pages/internify/{page.tsx => LoginInternify.tsx} (100%)
create mode 100644 src/Pages/internify/mentor/components/AddInternsToProjects.tsx
create mode 100644 src/Pages/internify/mentor/components/EditSubmissionTask.tsx
create mode 100644 src/Pages/internify/mentor/components/EditTaskDialog.tsx
delete mode 100644 src/Pages/utils/InternRoute.tsx
delete mode 100644 src/Pages/utils/MentorRoute.tsx
create mode 100644 src/Pages/utils/ProtectedRoute.tsx
create mode 100644 src/Pages/utils/api.ts
create mode 100644 src/hooks/useAuthToken.ts
create mode 100644 src/hooks/useForm.ts
diff --git a/src/App.tsx b/src/App.tsx
index 731db6a..c47d62b 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -28,23 +28,24 @@ import Dashboard from "./Pages/Dashboard";
import EditFaq from "./Pages/EditFAQ";
import EditFeedback from "./Pages/EditFeedback";
import EditLowongan from "./Pages/EditLowongan";
-import HomeInternPage from "./Pages/internify/intern/HomeInternPage";
-import { InternLayout, MentorLayout } from "./Pages/internify/layout";
-import ProjectsPage from "./Pages/internify/intern/ProjectsPage";
-import SertificatePage from "./Pages/internify/intern/SertificatePage";
-import ProjectDetailPage from "./Pages/internify/intern/ProjectDetailPage";
-import HomeMentorPage from "./Pages/internify/mentor/HomePage";
-import MentorProjectsPage from "./Pages/internify/mentor/BaseProjectsPage";
-import MentorCertificatePage from "./Pages/internify/mentor/CertificatePage";
-import MentorInternPage from "./Pages/internify/mentor/InternsPage";
-import MentorDetailProject from "./Pages/internify/mentor/ProjectsPage";
-import InternifyLogin from "./Pages/internify/page"
-import FAQPage from "./Pages/internify/FAQpage";
-import NotificationList from "./Pages/internify/NotificationList";
-import SettingsContent from "./Pages/internify/SettingsPage";
-import TaskSubmission from "./Pages/internify/intern/TaskSubmission";
-import SertificateList from "./Pages/internify/intern/SertificateList";
-import MentorProjectsDetailPage from "./Pages/internify/mentor/MentorProjectDetailPage";
+import HomeInternPage from "./Pages/Internify/intern/HomeInternPage";
+import { InternLayout, MentorLayout } from "./Pages/Internify/layout";
+import ProjectsPage from "./Pages/Internify/intern/ProjectsPage";
+import SertificatePage from "./Pages/Internify/intern/SertificatePage";
+import ProjectDetailPage from "./Pages/Internify/intern/ProjectDetailPage";
+import HomeMentorPage from "./Pages/Internify/mentor/HomePage";
+import MentorProjectsPage from "./Pages/Internify/mentor/BaseProjectsPage";
+import MentorCertificatePage from "./Pages/Internify/mentor/CertificatePage";
+import MentorInternPage from "./Pages/Internify/mentor/InternsPage";
+import MentorDetailProject from "./Pages/Internify/mentor/ProjectsPage";
+import InternifyLogin from "./Pages/Internify/LoginInternify"
+import FAQPage from "./Pages/Internify/FAQpage";
+import NotificationList from "./Pages/Internify/NotificationList";
+import SettingsContent from "./Pages/Internify/SettingsPage";
+import TaskSubmission from "./Pages/Internify/intern/TaskSubmission";
+import SertificateList from "./Pages/Internify/intern/SertificateList";
+import MentorProjectsDetailPage from "./Pages/Internify/mentor/MentorProjectDetailPage";
+import ProtectedRoutes from "./Pages/utils/ProtectedRoute";
function App() {
return (
@@ -60,7 +61,6 @@ function App() {
{name}
+{name}
{/* Mentor */}