From 79c3bf4000bffecdc3af394b93d6e27d6daf5b55 Mon Sep 17 00:00:00 2001 From: Pourya Fahimi Date: Sat, 4 Oct 2025 01:08:56 +0330 Subject: [PATCH] better error handling --- .../components/features/competitions/GroupModal.tsx | 8 ++++++-- apps/ssc/app/dashboard/edit-account/page.tsx | 7 +++---- apps/ssc/app/dashboard/teams/components/MyTeams.tsx | 1 + .../app/dashboard/teams/components/createTeamModal.tsx | 10 +++++++++- apps/ssc/app/dashboard/teams/page.tsx | 1 + 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/apps/game_craft/components/features/competitions/GroupModal.tsx b/apps/game_craft/components/features/competitions/GroupModal.tsx index df04725..d62aa04 100644 --- a/apps/game_craft/components/features/competitions/GroupModal.tsx +++ b/apps/game_craft/components/features/competitions/GroupModal.tsx @@ -103,8 +103,12 @@ const GroupModal = ({ ); case "awaiting_payment_confirmation": return ( - ); case "active": diff --git a/apps/ssc/app/dashboard/edit-account/page.tsx b/apps/ssc/app/dashboard/edit-account/page.tsx index 79860d1..71b64ff 100644 --- a/apps/ssc/app/dashboard/edit-account/page.tsx +++ b/apps/ssc/app/dashboard/edit-account/page.tsx @@ -370,18 +370,17 @@ const Page = () => { /> -
+ {/*
+
*/} { isOpen={isCreateModalOpen} onClose={() => setIsCreateModalOpen(false)} onTeamCreated={fetchTeams} + teamNames={teams.map((team) => team.name)} /> ); diff --git a/apps/ssc/app/dashboard/teams/components/createTeamModal.tsx b/apps/ssc/app/dashboard/teams/components/createTeamModal.tsx index d9797b2..eda29d3 100644 --- a/apps/ssc/app/dashboard/teams/components/createTeamModal.tsx +++ b/apps/ssc/app/dashboard/teams/components/createTeamModal.tsx @@ -19,6 +19,7 @@ interface CreateTeamModalProps { isOpen: boolean; onClose: () => void; onTeamCreated?: () => void; + teamNames: string[]; } const emailSchema = z.object({ @@ -31,6 +32,7 @@ const CreateTeamModal: React.FC = ({ isOpen, onClose, onTeamCreated, + teamNames, }) => { const [currentStep, setCurrentStep] = useState(1); const [teamName, setTeamName] = useState(""); @@ -94,7 +96,13 @@ const CreateTeamModal: React.FC = ({ handleClose(); } catch (error) { if (error.status === 400) { - toast.error("تیم با این نام قبلا ایجاد شده است"); + console.log(error); + if (teamNames?.includes(teamName)) + toast.error("تیم با این نام قبلا ایجاد شده است"); + else + toast.error( + "همه ی اعضا با ایمیل وارد شده باید در سایت انجمن اکانت داشته باشند" + ); return; } toast.error(error.response.data?.message || "خطا در ایجاد تیم"); diff --git a/apps/ssc/app/dashboard/teams/page.tsx b/apps/ssc/app/dashboard/teams/page.tsx index 9289351..99575dc 100644 --- a/apps/ssc/app/dashboard/teams/page.tsx +++ b/apps/ssc/app/dashboard/teams/page.tsx @@ -86,6 +86,7 @@ const Page = () => { isOpen={isCreateModalOpen} onClose={() => setIsCreateModalOpen(false)} onTeamCreated={fetchTeams} + teamNames={teamsList.map((team) => team.name)} /> );