diff --git a/src/lib/Others/AlertComp.svelte b/src/lib/Others/AlertComp.svelte index 1a8580d8..85a248be 100644 --- a/src/lib/Others/AlertComp.svelte +++ b/src/lib/Others/AlertComp.svelte @@ -22,9 +22,9 @@ import { ColorSchemeTypeStore } from "src/ts/gui/colorscheme"; import Help from "./Help.svelte"; import { getChatBranches } from "src/ts/gui/branches"; - import { getCurrentCharacter } from "src/ts/storage/database.svelte"; - import { message } from "@tauri-apps/plugin-dialog"; - import HypaV3Modal from './HypaV3Modal.svelte'; + import { getCurrentCharacter } from "src/ts/storage/database.svelte"; + import { message } from "@tauri-apps/plugin-dialog"; + import HypaV3Modal from './HypaV3Modal.svelte'; let btn let input = $state('') let cardExportType = $state('realm') diff --git a/src/lib/Others/HypaV3Modal.svelte b/src/lib/Others/HypaV3Modal.svelte index e6c6b34e..4aebdf7d 100644 --- a/src/lib/Others/HypaV3Modal.svelte +++ b/src/lib/Others/HypaV3Modal.svelte @@ -1,36 +1,264 @@ -
+
+
-

HypaV3 Data

+

HypaV3 Data

+
-
- {#each DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].hypaV3Data.summaries as summary, i} + + +
+ {#each modalState.summaries as summary, i}
- -
-
- Summary #{i + 1} -
- - - - - try { - const char = DBState.db.characters[$selectedCharID]; - const chat = - char.chats[ - DBState.db.characters[$selectedCharID].chatPage - ]; - const firstMessage = - chat.fmIndex === -1 - ? char.firstMessage - : char.alternateGreetings?.[chat.fmIndex ?? 0]; - const toSummarize = summary.chatMemos.map( - (chatMemo) => { - if (chatMemo == null) { - return { - role: "assistant", - data: firstMessage, - }; - } + + - const msg = chat.message.find( - (m) => m.chatId === chatMemo - ); - return msg - ? { - role: - msg.role === "char" - ? "assistant" - : msg.role, - data: msg.data, - } - : null; - } - ); - const stringifiedChats = toSummarize - .map((m) => `${m.role}: ${m.data}`) - .join("\n"); - const summarizeResult = - await summarize(stringifiedChats); - - if (summarizeResult.success) { - summary.text = summarizeResult.data; - } - } finally { - hypaV3IsResummarizing = false; - } - }} - disabled={hypaV3IsResummarizing} - > - - -
+ +
- -
- -
- - Connected Messages ({summary.chatMemos.length}) - -
- -
- {#each summary.chatMemos as chatMemo} + + + + + {#if summary.state.translation} +
+ Translation +
+ {summary.state.translation} +
+
+ {/if} + + + {#if summary.state.rerolledText} +
+
+ Rerolled Summary +
+ + + + - {/each} -
- - {#if hypaV3ExpandedChatMemo.summaryChatMemos === summary.chatMemos && hypaV3ExpandedChatMemo.summaryChatMemo !== ""} -
-
+ +
+
+ - if (targetMessage) { - const displayRole = - targetMessage.role === "char" - ? char.name - : targetMessage.role; - return `${displayRole}:\n${targetMessage.data}`; - } - - return "Message not found"; - })()} + + {#if summary.state.rerolledTranslation} +
+ Rerolled Translation +
+ {summary.state.rerolledTranslation}
{/if}
+ {/if} + + +
+
+ + Connected Messages ({summary.chatMemos.length}) + + + +
+ + +
+ {#each summary.chatMemos as chatMemo} + + {/each} +
+ + + {#if modalState.expandedMessage?.summaryChatMemos === summary.chatMemos} + {@const messageData = getMessageData()} +
+ {#if messageData} + +
+ {messageData.role}: +
+ +
+ {messageData.data} +
+ {:else} +
Message not found
+ {/if} + + + {#if modalState.expandedMessage.translation} +
+ Translation +
+ {modalState.expandedMessage.translation} +
+
+ {/if} +
+ {/if}
{/each} - {#if DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].hypaV3Data.summaries.length === 0} + + {#if modalState.summaries.length === 0} No summaries yet {/if}