new feats can delte session
This commit is contained in:
+46
-3
@@ -603,9 +603,16 @@
|
||||
<div class="flex justify-between items-start">
|
||||
<div class="w-full">
|
||||
<div class="flex justify-between items-center w-full">
|
||||
<div class="text-sm font-semibold text-zinc-200">Phone: ${s.phone || "unknown"}</div>
|
||||
<div class="text-[10px] px-2 py-0.5 rounded-full font-bold uppercase ${statusClass}">
|
||||
${statusText}
|
||||
<div class="text-sm font-semibold text-zinc-200">
|
||||
${s.name ? `${s.name} <span class="text-zinc-500 font-normal text-xs ml-1">(${s.phone || 'unknown'})</span>` : `Phone: ${s.phone || "unknown"}`}
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="text-[10px] px-2 py-0.5 rounded-full font-bold uppercase ${statusClass}">
|
||||
${statusText}
|
||||
</div>
|
||||
<button class="deleteSessionBtn bg-red-500/20 hover:bg-red-500/40 text-red-400 p-1.5 rounded-lg transition" data-id="${s.id}" data-phone="${s.phone}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-3.5 h-3.5"><path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.134-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.067-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" /></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-xs text-zinc-400 mt-2"><span class="font-semibold text-zinc-300">Summary:</span> ${s.summary || "No summary yet."}</div>
|
||||
@@ -621,6 +628,42 @@
|
||||
|
||||
list.appendChild(card);
|
||||
});
|
||||
|
||||
list.querySelectorAll(".deleteSessionBtn").forEach(btn => {
|
||||
btn.addEventListener("click", () => {
|
||||
const phone = btn.dataset.phone;
|
||||
const id = btn.dataset.id;
|
||||
if (id && phone && phone !== 'unknown') {
|
||||
deleteSession(id, phone);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function deleteSession(id, phone) {
|
||||
if (!confirm(`Delete session for ${phone} and all its chat history?`)) return;
|
||||
|
||||
const { error: historyError } = await supabaseClient
|
||||
.from('n8n_chat_histories')
|
||||
.delete()
|
||||
.eq('session_id', id);
|
||||
|
||||
if (historyError) {
|
||||
alert('Error deleting chat history: ' + historyError.message);
|
||||
return;
|
||||
}
|
||||
|
||||
const { error: sessionError } = await supabaseClient
|
||||
.from('sessions')
|
||||
.delete()
|
||||
.eq('id', id);
|
||||
|
||||
if (sessionError) {
|
||||
alert('Error deleting session: ' + sessionError.message);
|
||||
return;
|
||||
}
|
||||
|
||||
await loadSessions();
|
||||
}
|
||||
|
||||
// =============================
|
||||
|
||||
Reference in New Issue
Block a user