Skip to content

Commit 41ca066

Browse files
committed
Add error handling and display for AddMemberForm
Rather than using the common toast pattern
1 parent 41f5dbe commit 41ca066

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/MemberAddForm.tsx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export function MemberAddForm(props: {
3131
}) {
3232
const toast = useToast();
3333
const [open, setOpen] = useState(false);
34+
const [error, setError] = useState<string | null>(null);
3435

3536
function formFieldUpdateAction(
3637
state: TeamAddMemberRequestData,
@@ -85,18 +86,21 @@ export function MemberAddForm(props: {
8586
setOpen(false);
8687
},
8788
onSubmitError: (error) => {
88-
toast.addToast({
89-
csVariant: "danger",
90-
children: `Error occurred: ${error.message || "Unknown error"}`,
91-
duration: 8000,
92-
});
89+
if (error.message.includes("400")) {
90+
setError("User not found, make sure you typed the name correctly");
91+
} else {
92+
setError("An unexpected error occurred, please try again later.");
93+
}
9394
},
9495
});
9596

9697
return (
9798
<Modal
9899
open={open}
99-
onOpenChange={setOpen}
100+
onOpenChange={(val) => {
101+
setOpen(val);
102+
if (!val) setError(null);
103+
}}
100104
titleContent="Add Team Member"
101105
csSize="small"
102106
trigger={
@@ -123,6 +127,7 @@ export function MemberAddForm(props: {
123127
placeholder={"Enter username..."}
124128
value={formInputs.username}
125129
onChange={(e) => {
130+
setError(null);
126131
updateFormFieldState({
127132
field: "username",
128133
value: e.target.value,
@@ -131,6 +136,7 @@ export function MemberAddForm(props: {
131136
rootClasses="add-member-form__username-input"
132137
id="username"
133138
/>
139+
{error && <div className="add-member-form__error">{error}</div>}
134140
</div>
135141
<div className="add-member-form__field">
136142
<label className="add-member-form__label" htmlFor="role">

apps/cyberstorm-remix/app/settings/teams/team/tabs/Members/Members.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@
6262
}
6363
}
6464

65+
.add-member-form__error {
66+
margin-top: var(--space-2);
67+
color: var(--color-accent-red-7);
68+
font-size: var(--font-size-body-sm);
69+
}
70+
6571
.add-member-form__label {
6672
color: var(--color-text-tertiary);
6773
font-weight: var(--font-weight-bold);

0 commit comments

Comments
 (0)