diff --git a/src/lib/ChatScreens/Chat.svelte b/src/lib/ChatScreens/Chat.svelte index 45773df1..430d48b0 100644 --- a/src/lib/ChatScreens/Chat.svelte +++ b/src/lib/ChatScreens/Chat.svelte @@ -5,9 +5,9 @@ import { alertConfirm } from "../../ts/alert"; import { language } from "../../lang"; import { DataBase, type character, type groupChat } from "../../ts/storage/database"; - import { selectedCharID } from "../../ts/stores"; + import { CurrentChat, selectedCharID } from "../../ts/stores"; import { translate } from "../../ts/translator/translator"; - import { risuChatParser } from "src/ts/process/scripts"; + import { risuChatParser } from "src/ts/process/scripts"; export let message = '' export let name = '' export let isLastMemory:boolean @@ -30,27 +30,27 @@ if(rm){ if($DataBase.instantRemove){ const r = await alertConfirm(language.instantRemoveConfirm) - let msg = $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message + let msg = $CurrentChat.message if(!r){ msg = msg.slice(0, idx) } else{ msg.splice(idx, 1) } - $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message = msg + $CurrentChat.message = msg } else{ - let msg = $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message + let msg = $CurrentChat.message msg.splice(idx, 1) - $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message = msg + $CurrentChat.message = msg } } } async function edit(){ - let msg = $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message + let msg = $CurrentChat.message msg[idx].data = message - $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message = msg + $CurrentChat.message = msg } async function displaya(message:string){ diff --git a/src/lib/ChatScreens/ChatScreen.svelte b/src/lib/ChatScreens/ChatScreen.svelte index d27b3549..fbd7c8d4 100644 --- a/src/lib/ChatScreens/ChatScreen.svelte +++ b/src/lib/ChatScreens/ChatScreen.svelte @@ -1,7 +1,7 @@ @@ -308,7 +308,7 @@
{ //@ts-ignore const scrolled = (e.target.scrollHeight - e.target.clientHeight + e.target.scrollTop) - if(scrolled < 100 && $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message.length > loadPages){ + if(scrolled < 100 && $CurrentChat.message.length > loadPages){ loadPages += 30 } }}> @@ -409,19 +409,19 @@ )} {send}/> {/if} - {#each messageForm($DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message, loadPages) as chat, i} + {#each messageForm($CurrentChat.message, loadPages) as chat, i} {#if chat.role === 'char'} - {#if $DataBase.characters[$selectedCharID].type !== 'group'} + {#if $CurrentCharacter.type !== 'group'} {:else} {/if} {:else} {/if} {/each} - {#if $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message.length <= loadPages} - {#if $DataBase.characters[$selectedCharID].type !== 'group'} + {#if $CurrentChat.message.length <= loadPages} + {#if $CurrentCharacter.type !== 'group'} 0} + altGreeting={$CurrentCharacter.alternateGreetings.length > 0} onReroll={() => { - const cha = $DataBase.characters[$selectedCharID] + const cha = $CurrentCharacter if(cha.type !== 'group'){ if (cha.firstMsgIndex >= (cha.alternateGreetings.length - 1)){ cha.firstMsgIndex = -1 @@ -467,10 +467,10 @@ cha.firstMsgIndex += 1 } } - $DataBase.characters[$selectedCharID] = cha + $CurrentCharacter = cha }} unReroll={() => { - const cha = $DataBase.characters[$selectedCharID] + const cha = $CurrentCharacter if(cha.type !== 'group'){ if (cha.firstMsgIndex === -1){ cha.firstMsgIndex = (cha.alternateGreetings.length - 1) @@ -479,18 +479,18 @@ cha.firstMsgIndex -= 1 } } - $DataBase.characters[$selectedCharID] = cha + $CurrentCharacter = cha }} isLastMemory={false} /> - {#if !$DataBase.characters[$selectedCharID].removedQuotes && $DataBase.characters[$selectedCharID].creatorNotes.length >= 2} - { - const cha = $DataBase.characters[$selectedCharID] + {#if !$CurrentCharacter.removedQuotes && $CurrentCharacter.creatorNotes.length >= 2} + { + const cha = $CurrentCharacter if(cha.type !== 'group'){ cha.removedQuotes = true } - $DataBase.characters[$selectedCharID] = cha + $CurrentCharacter = cha }} /> {/if} {/if} @@ -500,7 +500,7 @@
{ e.stopPropagation() }}> - {#if $DataBase.characters[$selectedCharID].type === 'group'} + {#if $CurrentCharacter.type === 'group'}
{language.autoMode} @@ -509,7 +509,7 @@ - {#if $DataBase.characters[$selectedCharID].ttsMode === 'webspeech' || $DataBase.characters[$selectedCharID].ttsMode === 'elevenlab'} + {#if $CurrentCharacter.ttsMode === 'webspeech' || $CurrentCharacter.ttsMode === 'elevenlab'}
{ stopTTS() }}> diff --git a/src/lib/ChatScreens/Suggestion.svelte b/src/lib/ChatScreens/Suggestion.svelte index d8c660fc..e079f3d6 100644 --- a/src/lib/ChatScreens/Suggestion.svelte +++ b/src/lib/ChatScreens/Suggestion.svelte @@ -2,7 +2,7 @@ import { requestChatData } from "src/ts/process/request"; import { doingChat, type OpenAIChat } from "../../ts/process/index"; import { DataBase, setDatabase, type character, type Message, type groupChat, type Database } from "../../ts/storage/database"; - import { selectedCharID } from "../../ts/stores"; + import { CurrentCharacter, selectedCharID } from "../../ts/stores"; import { translate } from "src/ts/translator/translator"; import { CopyIcon, LanguagesIcon, RefreshCcwIcon } from "lucide-svelte"; import { alertConfirm } from "src/ts/alert"; @@ -15,7 +15,7 @@ export let send: () => any; export let messageInput:(string:string) => any; - let suggestMessages:string[] = $DataBase.characters[$selectedCharID]?.chats[$DataBase.characters[$selectedCharID].chatPage]?.suggestMessages + let suggestMessages:string[] = $CurrentCharacter?.chats[$CurrentCharacter.chatPage]?.suggestMessages let suggestMessagesTranslated:string[] let toggleTranslate:boolean = $DataBase.autoTranslate let progress:boolean; @@ -25,7 +25,7 @@ $: { $selectedCharID //FIXME add selectedChatPage for optimize render - chatPage = $DataBase.characters[$selectedCharID].chatPage + chatPage = $CurrentCharacter.chatPage updateSuggestions() } @@ -35,7 +35,7 @@ progress=false abortController?.abort() } - let currentChar = $DataBase.characters[$selectedCharID]; + let currentChar = $CurrentCharacter; suggestMessages = currentChar?.chats[currentChar.chatPage].suggestMessages } } @@ -48,7 +48,7 @@ suggestMessages = [] } if(!v && $selectedCharID > -1 && (!suggestMessages || suggestMessages.length === 0) && !progress){ - let currentChar:character|groupChat = $DataBase.characters[$selectedCharID]; + let currentChar:character|groupChat = $CurrentCharacter; let messages:Message[] = [] if(currentChar.type !== 'group'){ diff --git a/src/lib/Others/ChatList.svelte b/src/lib/Others/ChatList.svelte index 007ba81a..b47100d0 100644 --- a/src/lib/Others/ChatList.svelte +++ b/src/lib/Others/ChatList.svelte @@ -2,7 +2,7 @@ import { alertConfirm, alertError } from "../../ts/alert"; import { language } from "../../lang"; import { DataBase } from "../../ts/storage/database"; - import { selectedCharID } from "../../ts/stores"; + import { CurrentCharacter, selectedCharID } from "../../ts/stores"; import { DownloadIcon, EditIcon, FolderUpIcon, PlusIcon, TrashIcon, XIcon } from "lucide-svelte"; import { exportChat, importChat } from "../../ts/characters"; import { findCharacterbyId } from "../../ts/util"; @@ -22,15 +22,15 @@
- {#each $DataBase.characters[$selectedCharID].chats as chat, i} + {#each $CurrentCharacter.chats as chat, i}