From 15bb9126cd18feff8325684a4dc8d705586c7050 Mon Sep 17 00:00:00 2001 From: p2405951 Date: Wed, 18 Mar 2026 11:29:02 +0100 Subject: [PATCH] group TS interfaces to avoid redundancy --- src/contexts/Auth/AuthContext.ts | 21 +-------- src/interfaces/auth.interfaces.ts | 6 +++ ...askType.interface.ts => task.interface.ts} | 6 +++ src/interfaces/user.interface.ts | 2 +- src/pages/Profile/ProfilePage.tsx | 43 +++---------------- 5 files changed, 20 insertions(+), 58 deletions(-) create mode 100644 src/interfaces/auth.interfaces.ts rename src/interfaces/{taskType.interface.ts => task.interface.ts} (73%) diff --git a/src/contexts/Auth/AuthContext.ts b/src/contexts/Auth/AuthContext.ts index b43a236..79c8bfd 100644 --- a/src/contexts/Auth/AuthContext.ts +++ b/src/contexts/Auth/AuthContext.ts @@ -1,24 +1,5 @@ import { createContext } from "react"; - - -export interface Task { - id: number; - title?: string; - completed?: boolean; - [key: string]: unknown; -} - -export interface User { - id: number - name: string; - lastname: string; - role: string; - email: string; - phone: string | null; - created_at: string; - profile_photo_path?: string | null; - tasks: Task[]; -} +import User from "./../../interfaces/user.interface" export interface AuthContextType { user: User | null; diff --git a/src/interfaces/auth.interfaces.ts b/src/interfaces/auth.interfaces.ts new file mode 100644 index 0000000..765a46a --- /dev/null +++ b/src/interfaces/auth.interfaces.ts @@ -0,0 +1,6 @@ + +import type User from "./user.interface"; +export interface AuthContextType { + user: User | null; + update: () => void; +} diff --git a/src/interfaces/taskType.interface.ts b/src/interfaces/task.interface.ts similarity index 73% rename from src/interfaces/taskType.interface.ts rename to src/interfaces/task.interface.ts index d116c3d..181d539 100644 --- a/src/interfaces/taskType.interface.ts +++ b/src/interfaces/task.interface.ts @@ -13,4 +13,10 @@ export default interface TaskType { user_id: number; task_id: number; }; +} +export default interface Task { + id: number; + title?: string; + completed?: boolean; + [key: string]: unknown; } \ No newline at end of file diff --git a/src/interfaces/user.interface.ts b/src/interfaces/user.interface.ts index de1f401..a2de519 100644 --- a/src/interfaces/user.interface.ts +++ b/src/interfaces/user.interface.ts @@ -1,4 +1,4 @@ -import TaskType from "./taskType.interface"; +import TaskType from "./task.interface"; export default interface User { id: number; diff --git a/src/pages/Profile/ProfilePage.tsx b/src/pages/Profile/ProfilePage.tsx index ef09a69..a0e7664 100644 --- a/src/pages/Profile/ProfilePage.tsx +++ b/src/pages/Profile/ProfilePage.tsx @@ -7,46 +7,15 @@ import SettingsModal from "./components/SettingsModal/SettingsModal"; import {useParams} from "react-router"; import {useNavigate} from "react-router"; import {useRef} from "react"; -import getUserById from "../../utils/users/getUserById"; -import ManageMember from "./components/ManageMember/ManageMember.js"; +import getUserById from "../../utils/users/getUserById.js"; +import ManageMember from "./components/ManageMember/ManageMember"; import uploadProfilePhoto from "../../utils/users/uploadProfilePhoto"; -import deleteProfilePhoto from "../../utils/users/deleteProfilePhoto.js"; - -interface TaskType { - id: number; - name: string; - description: string; - location: string; - start: string; - end: string; - max_participants: number; - events_id: number; - created_at: string; - updated_at: string; - pivot: { - user_id: number; - task_id: number; - }; -} +import deleteProfilePhoto from "../../utils/users/deleteProfilePhoto"; +import type { AuthContextType } from "../../interfaces/AuthInterfaces"; +import type TaskType from "../../interfaces/task.interface"; +import type User from "../../interfaces/user.interface"; -interface User { - id: number; - name: string; - lastname: string; - role: string; - email: string; - phone: string | null; - created_at: string; - isAdmin: boolean; - tasks: TaskType[]; - profile_photo_path?: string | null; -} - -interface AuthContextType { - user: User | null; - update: () => void; -} function ProfilePage() { const navigate = useNavigate();