feat: add timestamp and forking

This commit is contained in:
Zoe
2026-07-15 15:49:38 -05:00
parent 8ccaa824dd
commit 886f385835
7 changed files with 308 additions and 79 deletions
+13 -8
View File
@@ -7,14 +7,19 @@ defineProps<{
</script>
<template>
<div class="flex flex-col gap-2 max-w-full bg-[var(--bg-container)] py-2 px-3 rounded-xl">
<MarkdownRenderer v-if="message.content" :finished="true" :content="message.content" :id="message.id" />
<div v-if="message.attachments && message.attachments.length > 0" class="flex flex-col gap-2">
<div v-for="attachment in message.attachments" :key="attachment.id"
class="flex flex-wrap items-center gap-2">
<div
class="flex-shrink-0 rounded-lg overflow-hidden bg-[var(--bg-surface)] flex items-center justify-center">
<AttachmentDisplay :file="attachment.file" />
<div class="flex flex-col items-end gap-1 max-w-full">
<time class="text-[10px] text-[var(--text-secondary)] opacity-60 select-none pr-1">
{{ new Date(message.createdAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }) }}
</time>
<div class="flex flex-col gap-2 max-w-full bg-[var(--bg-container)] py-2 px-3 rounded-xl">
<MarkdownRenderer v-if="message.content" :finished="true" :content="message.content" :id="message.id" />
<div v-if="message.attachments && message.attachments.length > 0" class="flex flex-col gap-2">
<div v-for="attachment in message.attachments" :key="attachment.id"
class="flex flex-wrap items-center gap-2">
<div
class="flex-shrink-0 rounded-lg overflow-hidden bg-[var(--bg-surface)] flex items-center justify-center">
<AttachmentDisplay :file="attachment.file" />
</div>
</div>
</div>
</div>
+9
View File
@@ -12,6 +12,7 @@ const emit = defineEmits<{
delete: [];
edit: [value: string];
patch: [updates: Partial<Message>];
fork: [];
}>();
let reqAbortController: AbortController | null = null;
@@ -126,6 +127,10 @@ const handleEdit = async () => {
});
};
const forkMessage = () => {
emit('fork');
};
const deleteMessage = () => {
emit('delete');
};
@@ -205,6 +210,10 @@ const navigateChild = (direction: -1 | 1) => {
class="flex justify-center items-center w-7 h-6 @hover:bg-[var(--color-hover)]">
<span :class="copied ? 'i-mynaui-check text-emerald-500' : 'i-mynaui-copy text-4.5'"></span>
</button>
<button @click="forkMessage"
class="flex justify-center items-center w-7 h-6 @hover:bg-[var(--color-hover)]">
<span class="i-mynaui-git-branch text-4.5"></span>
</button>
<Tooltip :hotkey="['ctrl', 'shift', 'backspace']">
<button @click="deleteMessage"
class="flex justify-center items-center w-7 h-6 text-red-500 @hover:bg-[var(--color-hover)]">