Gestion suppression et regénération de message
This commit is contained in:
parent
036dfabae7
commit
ec5049283a
@ -391,6 +391,25 @@
|
|||||||
sendMessage(content);
|
sendMessage(content);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleRegenerateMessage(event) {
|
||||||
|
const index = event.detail;
|
||||||
|
|
||||||
|
messages[index].content = '';
|
||||||
|
|
||||||
|
messages = messages.slice(0, index + 1);
|
||||||
|
|
||||||
|
complete(messages, proxyBaseUrl, assistant, (message) => {
|
||||||
|
if (message.content)
|
||||||
|
messages[index].content = message.content;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDeleteMessage(event) {
|
||||||
|
const index = event.detail;
|
||||||
|
messages = messages.slice(0, index);
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
@ -433,7 +452,9 @@
|
|||||||
<div class="chat-container" bind:this="{chatContainer}" >
|
<div class="chat-container" bind:this="{chatContainer}" >
|
||||||
{#each messages as message, index (index)}
|
{#each messages as message, index (index)}
|
||||||
<ChatMessage message="{message}"
|
<ChatMessage message="{message}"
|
||||||
message_index={index} on:editMessage="{handleEditMessage}"
|
message_index={index} on:editMessage={handleEditMessage}
|
||||||
|
on:regenerate={handleRegenerateMessage}
|
||||||
|
on:delete={handleDeleteMessage}
|
||||||
container="{chatContainer.parentElement}" markdown={md} />
|
container="{chatContainer.parentElement}" markdown={md} />
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
@ -60,7 +60,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function handleKeyDown(event) {
|
function handleKeyDown(event) {
|
||||||
if (event.key === 'Enter' && event.shiftKey) {
|
if (event.key === 'Enter' && event.shiftKey) {
|
||||||
// Allow the default behavior of adding a new line
|
// Allow the default behavior of adding a new line
|
||||||
@ -86,6 +85,7 @@
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleCopy(event) {
|
function handleCopy(event) {
|
||||||
|
|
||||||
const btn = event.currentTarget;
|
const btn = event.currentTarget;
|
||||||
@ -104,6 +104,14 @@
|
|||||||
})
|
})
|
||||||
.catch(err => console.log(`Failed to copy clipboard: ${err.message}`));
|
.catch(err => console.log(`Failed to copy clipboard: ${err.message}`));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleRegenerate() {
|
||||||
|
dispatch('regenerate', message_index);
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDelete() {
|
||||||
|
dispatch('delete', message_index);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@ -139,10 +147,10 @@
|
|||||||
<button class="btn btn-primary btn-sm" title="Copier" on:click={handleCopy}>
|
<button class="btn btn-primary btn-sm" title="Copier" on:click={handleCopy}>
|
||||||
<span class="icon-content_copy"></span>
|
<span class="icon-content_copy"></span>
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-primary btn-sm" title="Régénérer">
|
<button class="btn btn-primary btn-sm" on:click={handleRegenerate} title="Régénérer">
|
||||||
<span class="icon-loop"></span>
|
<span class="icon-loop"></span>
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-primary btn-sm" title="Supprimer le message">
|
<button class="btn btn-primary btn-sm" on:click={handleDelete} title="Supprimer le message">
|
||||||
<span class="icon-delete"></span>
|
<span class="icon-delete"></span>
|
||||||
</button>
|
</button>
|
||||||
{/if}
|
{/if}
|
||||||
|
Loading…
Reference in New Issue
Block a user