diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 43f0aba..916b75d 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -217,6 +217,7 @@ const Index = () => { // Chatbox states const [chatOpen, setChatOpen] = useState(false); + const [chatExpandedModal, setChatExpandedModal] = useState(false); const [chatMessages, setChatMessages] = useState>([]); const [chatInput, setChatInput] = useState(""); const [chatLoading, setChatLoading] = useState(false); @@ -2988,7 +2989,7 @@ const Index = () => { ) : ( - +
@@ -2996,11 +2997,23 @@ const Index = () => { Assistant IA
+ @@ -3008,6 +3021,7 @@ const Index = () => { variant="ghost" size="sm" onClick={() => setChatOpen(false)} + title="Fermer" > @@ -3176,6 +3190,154 @@ const Index = () => { )} + {/* Expanded Chat Modal */} + + + +
+ + + Assistant IA + +
+ +
+
+
+ + + + + + + + Aucun modèle trouvé. + + + {openRouterModels.map((model) => ( + { + setSelectedModel(currentValue); + setModelSelectorOpen(false); + }} + > + +
+ {model.name} + {model.id} +
+
+ ))} +
+
+
+
+
+
+
+ +
+ {chatMessages.length === 0 ? ( +
+ +

Bienvenue dans l'Assistant IA

+

+ Posez vos questions et obtenez des réponses intelligentes grâce à l'IA. + {openRouterModels.length === 0 && user?.is_admin && ( + Configurez une clé API OpenRouter dans les paramètres. + )} +

+
+ ) : ( + chatMessages.map((msg, idx) => ( +
+
+
{msg.content}
+
+
+ )) + )} + {chatLoading && ( +
+
+
+ ● + ● + ● +
+
+
+ )} +
+
+ +
+
{ + e.preventDefault(); + handleSendMessage(); + }} + className="flex gap-2" + > + setChatInput(e.target.value)} + placeholder="Posez une question..." + disabled={chatLoading || !selectedModel} + className="flex-1" + /> + +
+
+ +
+ {/* Image modal for fullscreen view */} {selectedImage && (