diff --git a/src/lib/ChatScreens/Chat.svelte b/src/lib/ChatScreens/Chat.svelte index c8d3a6e6..99940f0b 100644 --- a/src/lib/ChatScreens/Chat.svelte +++ b/src/lib/ChatScreens/Chat.svelte @@ -304,7 +304,7 @@
{statusMessage} {#if DBState.db.useChatCopy && !blankMessage} - - {/if} {/if} {#if DBState.db.translator !== '' && !blankMessage} - - {:else} - {/if} @@ -672,7 +672,7 @@
{#if editMode} - + {:else}
{@render textBox()} diff --git a/src/lib/ChatScreens/DefaultChatScreen.svelte b/src/lib/ChatScreens/DefaultChatScreen.svelte index 96aa1dbe..a59760d5 100644 --- a/src/lib/ChatScreens/DefaultChatScreen.svelte +++ b/src/lib/ChatScreens/DefaultChatScreen.svelte @@ -447,7 +447,7 @@ {/if} {#if !DBState.db.useAdvancedEditor} - \ No newline at end of file diff --git a/src/ts/alert.ts b/src/ts/alert.ts index 71787bae..411f0bb1 100644 --- a/src/ts/alert.ts +++ b/src/ts/alert.ts @@ -165,7 +165,7 @@ export function alertMd(msg:string){ } export function doingAlert(){ - return get(alertStoreImported).type !== 'none' && get(alertStoreImported).type !== 'toast' + return get(alertStoreImported).type !== 'none' && get(alertStoreImported).type !== 'toast' && get(alertStoreImported).type !== 'wait' } export function alertToast(msg:string){ diff --git a/src/ts/hotkey.ts b/src/ts/hotkey.ts index d79f3ab6..aacbe240 100644 --- a/src/ts/hotkey.ts +++ b/src/ts/hotkey.ts @@ -1,13 +1,62 @@ import { get } from "svelte/store" import { alertSelect, alertToast, doingAlert } from "./alert" import { changeToPreset as changeToPreset2, getDatabase } from "./storage/database.svelte" -import { MobileGUIStack, MobileSideBar, openPersonaList, openPresetList, SafeModeStore, selectedCharID, settingsOpen } from "./stores.svelte" +import { alertStore, MobileGUIStack, MobileSideBar, openPersonaList, openPresetList, SafeModeStore, selectedCharID, settingsOpen } from "./stores.svelte" import { language } from "src/lang" import { updateTextThemeAndCSS } from "./gui/colorscheme" export function initHotkey(){ document.addEventListener('keydown', (ev) => { if(ev.ctrlKey){ + + if(ev.altKey){ + switch(ev.key){ + case "r":{ + ev.preventDefault() + clickQuery('.button-icon-reroll') + return + } + case "f":{ + ev.preventDefault() + clickQuery('.button-icon-unreroll') + return + } + case "t":{ + ev.preventDefault() + clickQuery('.button-icon-translate') + return + } + case "r":{ + ev.preventDefault() + clickQuery('.button-icon-remove') + return + } + case 'e':{ + ev.preventDefault() + clickQuery('.button-icon-edit') + setTimeout(() => { + focusQuery('.message-edit-area') + }, 100) + return + } + case 'c':{ + ev.preventDefault() + clickQuery('.button-icon-copy') + return + } + case 'i':{ + ev.preventDefault() + focusQuery('.text-input-area') + return + } + case 'Enter':{ + ev.preventDefault() + clickQuery('.button-icon-send') + return + } + } + } + switch (ev.key){ case "1":{ changeToPreset(0) @@ -105,6 +154,15 @@ export function initHotkey(){ } ev.preventDefault() } + if(ev.key === 'Enter'){ + const alertType = get(alertStore).type + if(alertType === 'ask' || alertType === 'normal' || alertType === 'error'){ + alertStore.set({ + type: 'none', + msg: 'yes' + }) + } + } }) @@ -143,6 +201,23 @@ export function initHotkey(){ }) } +function clickQuery(query:string){ + let ele = document.querySelector(query) as HTMLElement + console.log(ele) + if(ele){ + ele.click() + } +} + +function focusQuery(query:string){ + let ele = document.querySelector(query) as HTMLElement + if(ele){ + ele.focus() + } +} + + + export function initMobileGesture(){ let pressingPointers = new Map()