From 1ca65e26705e8fdc23b104132d3960a858479295 Mon Sep 17 00:00:00 2001 From: Amirhossein Khalili Date: Thu, 12 Mar 2026 18:03:04 +0800 Subject: [PATCH] replace modals with a centralized component --- src/components/CreateWorkspaceModal.tsx | 306 ++++++++++++------------ src/components/Modal.tsx | 67 ++++++ src/components/Navbar.tsx | 31 ++- src/pages/Profile.tsx | 190 ++++++++------- 4 files changed, 335 insertions(+), 259 deletions(-) create mode 100644 src/components/Modal.tsx diff --git a/src/components/CreateWorkspaceModal.tsx b/src/components/CreateWorkspaceModal.tsx index 15111d4..8d9017c 100644 --- a/src/components/CreateWorkspaceModal.tsx +++ b/src/components/CreateWorkspaceModal.tsx @@ -1,8 +1,8 @@ import React, { useState, useEffect } from "react"; -import { X, Search, Trash2, UserPlus, Loader2, AlertCircle } from "lucide-react"; +import { Search, Trash2, UserPlus, Loader2, AlertCircle } from "lucide-react"; import { searchUserByExactMobile, type SearchedUser } from "../api/users"; -// Adjust the import path for your useLanguage hook if necessary import { useTranslation } from "../hooks/useTranslation"; +import { Modal } from "./Modal"; export interface WorkspaceMemberInput extends SearchedUser { role: "admin" | "member"; @@ -87,156 +87,13 @@ export const CreateWorkspaceModal: React.FC = ({ if (!isOpen) return null; return ( -
-
- -
-

- {t.workspace?.createNew || "Create New Workspace"} -

- -
- -
-
- - setName(e.target.value)} - className="w-full px-3 py-2 border border-slate-300 dark:border-slate-700 rounded-lg bg-transparent text-slate-900 dark:text-slate-100 focus:outline-none focus:ring-2 focus:ring-blue-500" - placeholder={t.workspace?.namePlaceholder || "e.g. Design Team"} - /> -
- -
- -