From 571e4cc5ff111099754e7822d600b3c69309993a Mon Sep 17 00:00:00 2001 From: fcarraUniSa Date: Tue, 17 Feb 2026 00:48:50 +0100 Subject: [PATCH] Update ClientPortal.tsx --- components/ClientPortal.tsx | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/components/ClientPortal.tsx b/components/ClientPortal.tsx index bdea6f6..db2d2ee 100644 --- a/components/ClientPortal.tsx +++ b/components/ClientPortal.tsx @@ -1,6 +1,5 @@ - import React, { useState, useRef, useEffect } from 'react'; -import { Ticket, KBArticle, ChatMessage, TicketPriority, TicketStatus, SurveyResult, Attachment, ClientUser, TicketQueue } from '../types'; +import { Ticket, KBArticle, ChatMessage, TicketPriority, TicketStatus, SurveyResult, Attachment, ClientUser, TicketQueue, AppSettings } from '../types'; import { getSupportResponse } from '../services/geminiService'; import { ToastType } from './Toast'; import { @@ -29,6 +28,7 @@ interface ClientPortalProps { currentUser: ClientUser; articles: KBArticle[]; queues: TicketQueue[]; + settings: AppSettings; // Added settings prop onCreateTicket: (ticket: Omit) => void; onReplyTicket: (ticketId: string, message: string) => void; onSubmitSurvey: (survey: Omit) => void; @@ -41,6 +41,7 @@ export const ClientPortal: React.FC = ({ currentUser, articles, queues, + settings, onCreateTicket, onReplyTicket, onSubmitSurvey, @@ -102,11 +103,20 @@ export const ClientPortal: React.FC = ({ setInputMessage(''); setIsTyping(true); - const aiResponseText = await getSupportResponse( - userMsg.content, - chatMessages.map(m => m.content).slice(-5), - articles - ); + const apiKey = settings.aiConfig.apiKey; + + // Check if API Key exists before calling service + let aiResponseText = ''; + if (!apiKey) { + aiResponseText = "L'assistente AI non รจ disponibile al momento (Configurazione incompleta)."; + } else { + aiResponseText = await getSupportResponse( + apiKey, + userMsg.content, + chatMessages.map(m => m.content).slice(-5), + articles + ); + } const aiMsg: ChatMessage = { id: (Date.now() + 1).toString(),