diff --git a/Modals/ConversationHistoryModalSvelte.svelte b/Modals/ConversationHistoryModalSvelte.svelte index 9058ffa..8392731 100644 --- a/Modals/ConversationHistoryModalSvelte.svelte +++ b/Modals/ConversationHistoryModalSvelte.svelte @@ -34,6 +34,14 @@ selectedItems = selectedItems; } + function toggleAll(state: boolean) { + selectedItems.clear(); + if (state) { + selectedItems = new Set(items.map(item => item.id)); + } + selectedItems = selectedItems; + } + function handleDelete() { if (selectedItems.size === 0) { return; @@ -80,30 +88,43 @@
{#if filteredItems.length === 0} -

- {Copy.NoConversationsFound} -

+

+ {Copy.NoConversationsFound} +

{:else} - {#each filteredItems as item (item.id)} -
-
handleConversationClick(item.id, e)} - on:keydown={(e) => e.key === 'Enter' && handleConversationClick(item.id, e)} - role="button" - tabindex="0"> - {item.date} - | - {item.title} -
+
+ Date + | + Title toggleSelection(item.id)} + on:change={(event) => toggleAll(event.currentTarget.checked)} /> + {#each filteredItems as item (item.id)} + handleConversationClick(item.id, e)} + on:keydown={(e) => e.key === 'Enter' && handleConversationClick(item.id, e)} + role="button" + tabindex="0">{item.date} + handleConversationClick(item.id, e)} + on:keydown={(e) => e.key === 'Enter' && handleConversationClick(item.id, e)} + role="button" + tabindex="0">| + handleConversationClick(item.id, e)} + on:keydown={(e) => e.key === 'Enter' && handleConversationClick(item.id, e)} + role="button" + tabindex="0">{item.title} + toggleSelection(item.id)} + /> + {/each}
- {/each} {/if}
@@ -111,7 +132,7 @@