Skip to content

Commit bd0aa93

Browse files
committed
form fix
1 parent 9216e36 commit bd0aa93

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

src/components/Dialogs/CreateProjectDialogContainer.tsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useEffect, useRef } from 'react';
1+
import { useCallback, useEffect, useRef } from 'react';
22
import { useApiResourceMutation } from '../../lib/api/useApiResource';
33
import { ErrorDialogHandle } from '../Shared/ErrorMessageBox.tsx';
44
import { APIError } from '../../lib/api/error';
@@ -51,13 +51,22 @@ export function CreateProjectDialogContainer({
5151

5252
const { t } = useTranslation();
5353

54+
const clearForm = useCallback(() => {
55+
resetField('name');
56+
resetField('chargingTarget');
57+
resetField('displayName');
58+
}, [resetField]);
59+
5460
useEffect(() => {
5561
if (username) {
5662
setValue('members', [
5763
{ name: username, roles: [MemberRoles.admin], kind: 'User' },
5864
]);
5965
}
60-
}, []);
66+
if (!isOpen) {
67+
clearForm();
68+
}
69+
}, [resetField, setValue, username, isOpen, clearForm]);
6170

6271
const toast = useToast();
6372

@@ -83,9 +92,6 @@ export function CreateProjectDialogContainer({
8392
);
8493
setIsOpen(false);
8594
toast.show(t('CreateProjectDialog.toastMessage'));
86-
resetField('name');
87-
resetField('chargingTarget');
88-
resetField('displayName');
8995
return true;
9096
} catch (e) {
9197
console.error(e);

src/components/Dialogs/CreateWorkspaceDialogContainer.tsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useEffect, useRef } from 'react';
1+
import { useCallback, useEffect, useRef } from 'react';
22
import {
33
useApiResourceMutation,
44
useRevalidateApiResource,
@@ -61,13 +61,22 @@ export function CreateWorkspaceDialogContainer({
6161

6262
const { t } = useTranslation();
6363

64+
const clearForm = useCallback(() => {
65+
resetField('name');
66+
resetField('chargingTarget');
67+
resetField('displayName');
68+
}, [resetField]);
69+
6470
useEffect(() => {
6571
if (username) {
6672
setValue('members', [
6773
{ name: username, roles: [MemberRoles.admin], kind: 'User' },
6874
]);
6975
}
70-
}, [username]);
76+
if (!isOpen) {
77+
clearForm();
78+
}
79+
}, [resetField, setValue, username, isOpen, clearForm]);
7180
const namespace = projectnameToNamespace(project);
7281
const toast = useToast();
7382

@@ -94,9 +103,6 @@ export function CreateWorkspaceDialogContainer({
94103
await revalidate();
95104
setIsOpen(false);
96105
toast.show(t('CreateWorkspaceDialog.toastMessage'));
97-
resetField('name');
98-
resetField('chargingTarget');
99-
resetField('displayName');
100106
return true;
101107
} catch (e) {
102108
console.error(e);

0 commit comments

Comments
 (0)