Added few functions to the platform
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
import { useState, useEffect } from 'react';
|
||||
import useSWR from 'swr';
|
||||
import AlertModal from './AlertModal';
|
||||
|
||||
interface User {
|
||||
id: string;
|
||||
@@ -25,6 +26,12 @@ export default function NewConversationModal({
|
||||
const [conversationType, setConversationType] = useState<'direct' | 'group'>('direct');
|
||||
const [groupName, setGroupName] = useState('');
|
||||
const [isCreating, setIsCreating] = useState(false);
|
||||
const [alertModal, setAlertModal] = useState<{
|
||||
show: boolean;
|
||||
type: 'success' | 'error' | 'info' | 'warning';
|
||||
title: string;
|
||||
message: string;
|
||||
} | null>(null);
|
||||
|
||||
// Récupérer l'utilisateur actuel
|
||||
const { data: currentUser } = useSWR<User>('/api/auth/me', fetcher);
|
||||
@@ -47,12 +54,22 @@ export default function NewConversationModal({
|
||||
|
||||
const handleCreate = async () => {
|
||||
if (selectedUsers.length === 0) {
|
||||
alert('Veuillez sélectionner au moins un utilisateur');
|
||||
setAlertModal({
|
||||
show: true,
|
||||
type: 'warning',
|
||||
title: 'Sélection requise',
|
||||
message: 'Veuillez sélectionner au moins un utilisateur',
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (conversationType === 'group' && !groupName.trim()) {
|
||||
alert('Veuillez entrer un nom pour le groupe');
|
||||
setAlertModal({
|
||||
show: true,
|
||||
type: 'warning',
|
||||
title: 'Nom requis',
|
||||
message: 'Veuillez entrer un nom pour le groupe',
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -75,11 +92,21 @@ export default function NewConversationModal({
|
||||
onConversationCreated(conversation.id);
|
||||
} else {
|
||||
const error = await response.json();
|
||||
alert(error.error || 'Erreur lors de la création de la conversation');
|
||||
setAlertModal({
|
||||
show: true,
|
||||
type: 'error',
|
||||
title: 'Erreur',
|
||||
message: error.error || 'Erreur lors de la création de la conversation',
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Erreur:', error);
|
||||
alert('Erreur lors de la création de la conversation');
|
||||
setAlertModal({
|
||||
show: true,
|
||||
type: 'error',
|
||||
title: 'Erreur',
|
||||
message: 'Erreur lors de la création de la conversation',
|
||||
});
|
||||
} finally {
|
||||
setIsCreating(false);
|
||||
}
|
||||
@@ -234,6 +261,17 @@ export default function NewConversationModal({
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Modal d'alerte */}
|
||||
{alertModal && (
|
||||
<AlertModal
|
||||
isOpen={alertModal.show}
|
||||
type={alertModal.type}
|
||||
title={alertModal.title}
|
||||
message={alertModal.message}
|
||||
onClose={() => setAlertModal(null)}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user