Merge pull request #56 from R0m1k3/claude/integrate-google-calendar-api-011CV44Nie9HB7U35ArSUnNa

Fix: Chargement automatique des modèles OpenRouter dans le chatbox
This commit is contained in:
LogiFlow authored and GitHub committed 2025-11-12 22:19:20 +01:00
commit 9df3bf14a0
2 files changed
+13 -4

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@ const CACHE_DURATION = 60 * 60 * 1000; // 1 heure
* GET /api/openrouter/models * GET /api/openrouter/models
* Récupérer la liste des modèles disponibles depuis OpenRouter * Récupérer la liste des modèles disponibles depuis OpenRouter
*/ */
router.get('/models', authenticateToken, requireAdmin, async (req, res) => { router.get('/models', authenticateToken, async (req, res) => {
try { try {
// Vérifier le cache // Vérifier le cache
const now = Date.now(); const now = Date.now();
+12 -3
View File
@@ -223,7 +223,7 @@ const Index = () => {
}; };
const loadOpenRouterModels = async () => { const loadOpenRouterModels = async () => {
if (user?.is_admin && settings.openrouter_api_key) { if (settings.openrouter_api_key) {
setLoadingModels(true); setLoadingModels(true);
try { try {
const models = await OpenRouterService.getModels(); const models = await OpenRouterService.getModels();
@@ -528,6 +528,13 @@ const Index = () => {
chatEndRef.current?.scrollIntoView({ behavior: 'smooth' }); chatEndRef.current?.scrollIntoView({ behavior: 'smooth' });
}, [chatMessages]); }, [chatMessages]);
// Load models when chatbox opens
useEffect(() => {
if (chatOpen && openRouterModels.length === 0) {
loadOpenRouterModels();
}
}, [chatOpen]);
// Set default model when models are loaded // Set default model when models are loaded
useEffect(() => { useEffect(() => {
if (openRouterModels.length > 0 && !selectedModel) { if (openRouterModels.length > 0 && !selectedModel) {
@@ -2329,9 +2336,11 @@ const Index = () => {
value={selectedModel} value={selectedModel}
onChange={(e) => setSelectedModel(e.target.value)} onChange={(e) => setSelectedModel(e.target.value)}
className="w-full text-xs px-2 py-1.5 border border-input rounded-md bg-background" className="w-full text-xs px-2 py-1.5 border border-input rounded-md bg-background"
disabled={chatLoading} disabled={chatLoading || loadingModels}
> >
{openRouterModels.length === 0 ? ( {loadingModels ? (
<option value="">Chargement des modèles...</option>
) : openRouterModels.length === 0 ? (
<option value="">Aucun modèle disponible</option> <option value="">Aucun modèle disponible</option>
) : ( ) : (
openRouterModels.map(model => ( openRouterModels.map(model => (