feat: enhance project and mentor management features
- Updated MentorProjectCard to provide more detailed success/error messages upon archiving and completing projects. - Adjusted layout for certificate generation to improve visual alignment. - Introduced resolveErrorMessage utility to standardize error message handling across the application. - Enhanced customToast functionality to handle hook failures more gracefully. - Refactored useCertificates hook to return structured responses for certificate claims and generation. - Updated useMentors hook to improve error handling and response structure for mentor operations. - Improved useNotification hook to return structured responses for marking notifications as read. - Refactored useProjects hook to provide structured responses for project creation, updates, and member assignments. - Enhanced useTasks hook to return structured responses for task creation, updates, and deletions. - Updated services to return structured responses with messages for various API calls related to certificates, mentors, notifications, projects, tasks, and user management. - Moved mentor-related types to a dedicated user.types file for better organization.
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
// services/NotificationService.ts
|
||||
import api from "../lib/api";
|
||||
import type { BackendNotification, UINotification } from "../types/notification.types";
|
||||
|
||||
@@ -7,12 +6,16 @@ export const getNotifications = async (): Promise<BackendNotification[]> => {
|
||||
return res.data.data;
|
||||
};
|
||||
|
||||
export const markAllAsRead = async (): Promise<void> => {
|
||||
await api.patch("/notification-api/read-all");
|
||||
export const markAllAsRead = async (): Promise<{ message: string }> => {
|
||||
const res = await api.patch("/notification-api/read-all");
|
||||
return { message: res.data.message };
|
||||
};
|
||||
|
||||
export const markAsRead = async (id: number): Promise<void> => {
|
||||
await api.patch(`/notification-api/${id}/read`);
|
||||
export const markAsRead = async (
|
||||
id: number
|
||||
): Promise<{ data: BackendNotification; message: string }> => {
|
||||
const res = await api.patch(`/notification-api/${id}/read`);
|
||||
return { data: res.data.data, message: res.data.message };
|
||||
};
|
||||
|
||||
export const mapType = (title: string): string => {
|
||||
|
||||
Reference in New Issue
Block a user