Update and refine alert modals

This commit is contained in:
adilallo
2026-04-26 08:08:02 -06:00
parent 0ce05372bf
commit 9962f44ff1
15 changed files with 508 additions and 157 deletions
+25 -2
View File
@@ -62,6 +62,7 @@ export default function ProfilePageClient() {
const [emailChangeModalError, setEmailChangeModalError] = useState<
string | null
>(null);
const [emailChangeRequestSent, setEmailChangeRequestSent] = useState(false);
const [profileSuccessMessage, setProfileSuccessMessage] = useState<
string | null
>(null);
@@ -131,6 +132,7 @@ export default function ProfilePageClient() {
setActionError(null);
setProfileSuccessMessage(null);
setEmailChangeModalError(null);
setEmailChangeRequestSent(false);
setEmailChangeInput(user.email);
setEmailChangeOpen(true);
}, [user]);
@@ -138,8 +140,25 @@ export default function ProfilePageClient() {
const handleCloseEmailChange = useCallback(() => {
if (emailChangeBusy) return;
setEmailChangeOpen(false);
setEmailChangeRequestSent(false);
}, [emailChangeBusy]);
const handleDismissProfileSuccess = useCallback(() => {
setProfileSuccessMessage(null);
}, []);
const handleDismissActionError = useCallback(() => {
setActionError(null);
}, []);
const handleDismissRulesError = useCallback(() => {
setRulesError(false);
}, []);
const handleDismissEmailChangeModalError = useCallback(() => {
setEmailChangeModalError(null);
}, []);
const handleSubmitEmailChange = useCallback(async () => {
const trimmed = emailChangeInput.trim();
if (!trimmed || emailChangeBusy) return;
@@ -157,8 +176,7 @@ export default function ProfilePageClient() {
setEmailChangeModalError(res.error);
}
} else {
setEmailChangeOpen(false);
setProfileSuccessMessage(t("emailChangeRequestSent"));
setEmailChangeRequestSent(true);
}
}, [emailChangeBusy, emailChangeInput, t]);
@@ -318,7 +336,12 @@ export default function ProfilePageClient() {
emailChangeValue={emailChangeInput}
onEmailChangeValueChange={(value) => setEmailChangeInput(value)}
emailChangeBusy={emailChangeBusy}
emailChangeRequestSent={emailChangeRequestSent}
emailChangeModalError={emailChangeModalError}
onDismissProfileSuccess={handleDismissProfileSuccess}
onDismissActionError={handleDismissActionError}
onDismissRulesError={handleDismissRulesError}
onDismissEmailChangeModalError={handleDismissEmailChangeModalError}
onOpenEmailChange={handleOpenEmailChange}
onCloseEmailChange={handleCloseEmailChange}
onSubmitEmailChange={handleSubmitEmailChange}