feat: add toast notifications for error handling and success messages across various components

This commit is contained in:
Your Name
2026-03-22 16:48:07 +02:00
parent 70d7f09110
commit ce610f5c6e
11 changed files with 80 additions and 19 deletions

View File

@@ -3,6 +3,7 @@ import { useTranslation } from 'react-i18next';
import { Helmet } from 'react-helmet-async';
import { Mail, Send, CheckCircle, AlertCircle, Loader2 } from 'lucide-react';
import { isAxiosError } from 'axios';
import { toast } from 'sonner';
import SEOHead from '@/components/seo/SEOHead';
import { generateWebPage, getSiteOrigin } from '@/utils/seo';
import { getApiClient } from '@/services/api';
@@ -40,14 +41,18 @@ export default function ContactPage() {
message: data.get('message'),
});
setSubmitted(true);
toast.success(t('pages.contact.successMessage'));
} catch (err: unknown) {
let errMsg = '';
if (isAxiosError(err) && err.response?.data?.error) {
setError(err.response.data.error);
errMsg = err.response.data.error;
} else if (err instanceof Error) {
setError(err.message);
errMsg = err.message;
} else {
setError(String(err));
errMsg = String(err);
}
setError(errMsg);
toast.error(errMsg);
} finally {
setLoading(false);
}