From 423df1a225728ccaa87a85938e1e96570c18e03d Mon Sep 17 00:00:00 2001 From: Arik Chakma Date: Sun, 2 Apr 2023 22:30:54 +0600 Subject: [PATCH] refactor: update profile errors --- src/components/Setting/UpdateProfileForm.tsx | 41 +++++++++++++------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/src/components/Setting/UpdateProfileForm.tsx b/src/components/Setting/UpdateProfileForm.tsx index bd07644c3..c37fdf5e3 100644 --- a/src/components/Setting/UpdateProfileForm.tsx +++ b/src/components/Setting/UpdateProfileForm.tsx @@ -8,10 +8,13 @@ export default function UpdateProfileForm() { const [github, setGithub] = useState(''); const [linkedin, setLinkedin] = useState(''); const [website, setWebsite] = useState(''); - const [error, setError] = useState(''); - const [successMessage, setSuccessMessage] = useState(''); const [isLoading, setIsLoading] = useState(false); + const [message, setMessage] = useState<{ + type: 'error' | 'success' | 'info'; + message: string; + }>(); + const handleSubmit = (e: Event) => { e.preventDefault(); setIsLoading(true); @@ -50,11 +53,17 @@ export default function UpdateProfileForm() { setGithub(github); setLinkedin(linkedin); setWebsite(website); - setSuccessMessage('Profile updated successfully'); + setMessage({ + type: 'success', + message: 'Profile updated successfully', + }); }) .catch((err) => { setIsLoading(false); - setError(err.message); + setMessage({ + type: 'error', + message: err.message || 'Something went wrong', + }); }); }; @@ -94,7 +103,10 @@ export default function UpdateProfileForm() { throw new Error(json.message); } } catch (error: any) { - setError(error?.message || 'Something went wrong'); + setMessage({ + type: 'error', + message: error?.message || 'Something went wrong', + }); } setIsLoading(false); } @@ -188,14 +200,17 @@ export default function UpdateProfileForm() { /> - {error && ( -
- {error} -
- )} - {successMessage && ( -
- {successMessage} + {message && ( +
+ {message.message}
)}