feat: implement mentor dashboard features including project task management, submission tracking, and modal-based task creation.

This commit is contained in:
Kemas M. Aryadary Rasyad
2026-06-26 18:05:54 +07:00
parent 53b270921d
commit 60aba4180e
19 changed files with 471 additions and 275 deletions
+1 -9
View File
@@ -11,15 +11,6 @@ export interface ProjectAdmin {
professional_bio: string | null;
}
export interface ProjectMember {
avatar: string;
id: number;
id_user: number;
status?: MemberStatus;
created_at?: string;
updated_at?: string;
}
// Response GET /project-api/get dan GET /project-api/get/{id}
export interface Project {
id: number;
@@ -112,6 +103,7 @@ export interface MemberAssignment {
}
export interface ProjectMember {
avatar: string
id: number;
full_name: string;
email: string;
+18 -4
View File
@@ -51,19 +51,33 @@ export interface AdminTaskDetail extends ProjectTask {
submissions: Array<{
id_user: number;
full_name: string;
email: string;
file_path: string | null;
url_link: string | null;
profile_picture: string | null;
submitted_at: string | null;
updated_at: string | null;
display_status: DisplayStatus;
submission: TaskSubmissionData | null;
}>;
}
export interface CreateTaskPayload {
title: string;
description: string;
deadline_date: string; // "YYYY-MM-DD"
specific_time: string; // "HH:mm"
deadline_date: string;
specific_time: string;
submission_type: SubmissionType;
}
export interface UpdateTaskPayload extends Partial<CreateTaskPayload> {}
export interface UpdateTaskPayload extends Partial<CreateTaskPayload> {}
export interface MentorTaskItem {
id: number;
slug: string;
title: string;
description: string;
deadline_at: string;
submission_type: "file_upload" | "url_link";
project_name: string;
project_slug: string;
}