Update App.tsx

This commit is contained in:
fcarraUniSa
2026-02-17 11:46:05 +01:00
committed by GitHub
parent 0309335b1a
commit 635976be2a

33
App.tsx
View File

@@ -203,6 +203,22 @@ const App: React.FC = () => {
showToast("Errore assegnazione agente", 'error');
}
};
const markTicketsAsAnalyzed = async (ticketIds: string[]) => {
try {
await apiFetch('/tickets/mark-analyzed', {
method: 'POST',
body: JSON.stringify({ ticketIds })
});
// Optimistically update
setState(prev => ({
...prev,
tickets: prev.tickets.map(t => ticketIds.includes(t.id) ? { ...t, hasBeenAnalyzed: true } : t)
}));
} catch (e) {
console.error("Failed to mark tickets analyzed", e);
}
};
// --- KB Management ---
const addArticle = async (article: KBArticle) => {
@@ -236,6 +252,19 @@ const App: React.FC = () => {
showToast("Errore aggiornamento articolo", 'error');
}
};
const deleteArticle = async (id: string) => {
try {
await apiFetch(`/articles/${id}`, { method: 'DELETE' });
setState(prev => ({
...prev,
articles: prev.articles.filter(a => a.id !== id)
}));
showToast("Articolo eliminato", 'info');
} catch(e) {
showToast("Errore eliminazione articolo", 'error');
}
};
// --- Survey Management ---
const submitSurvey = async (surveyData: Omit<SurveyResult, 'id' | 'timestamp'>) => {
@@ -377,9 +406,11 @@ const App: React.FC = () => {
settings={state.settings}
updateTicketStatus={updateTicketStatus}
updateTicketAgent={updateTicketAgent}
onReplyTicket={replyToTicket} // Added prop
onReplyTicket={replyToTicket}
addArticle={addArticle}
updateArticle={updateArticle}
deleteArticle={deleteArticle} // New Prop
markTicketsAsAnalyzed={markTicketsAsAnalyzed} // New Prop
addAgent={addAgent}
updateAgent={updateAgent}
removeAgent={removeAgent}