From 4aca3482cbe6b842a6b7cd971ef639d65bb7cc2b Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sat, 24 Aug 2024 19:48:22 +0900 Subject: [PATCH] Add Devtools --- src/lang/en.ts | 1 + src/lib/Setting/Pages/AdvancedSettings.svelte | 4 +++ src/lib/SideBars/DevTool.svelte | 25 +++++++++++++++ src/lib/SideBars/Sidebar.svelte | 21 ++++++++++-- src/lib/UI/GUI/TextInput.svelte | 8 +++-- src/ts/hotkey.ts | 32 ++++++++++++++++++- src/ts/storage/database.ts | 1 + 7 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 src/lib/SideBars/DevTool.svelte diff --git a/src/lang/en.ts b/src/lang/en.ts index b6a943da..67e7ce35 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -686,4 +686,5 @@ export const languageEnglish = { openClose: "Open/Close", hideApiKeys: "Hide API Keys", unformatQuotes: "Disable Quote Formatting", + enableDevTools: "Enable Dev Tools", } \ No newline at end of file diff --git a/src/lib/Setting/Pages/AdvancedSettings.svelte b/src/lib/Setting/Pages/AdvancedSettings.svelte index 5844c83c..a973847a 100644 --- a/src/lib/Setting/Pages/AdvancedSettings.svelte +++ b/src/lib/Setting/Pages/AdvancedSettings.svelte @@ -122,6 +122,10 @@ +
+ + +
diff --git a/src/lib/SideBars/DevTool.svelte b/src/lib/SideBars/DevTool.svelte new file mode 100644 index 00000000..1cb7a567 --- /dev/null +++ b/src/lib/SideBars/DevTool.svelte @@ -0,0 +1,25 @@ + + +Variables +
+ {#if $CurrentChat.scriptstate && Object.keys($CurrentChat.scriptstate).length > 0} + {#each Object.keys($CurrentChat.scriptstate) as key} + {key} + {#if typeof $CurrentChat.scriptstate[key] === "object"} +
Object
+ {:else if typeof $CurrentChat.scriptstate[key] === "string"} + + {:else if typeof $CurrentChat.scriptstate[key] === "number"} + + {/if} + {/each} + {:else} +
No variables
+ {/if} +
\ No newline at end of file diff --git a/src/lib/SideBars/Sidebar.svelte b/src/lib/SideBars/Sidebar.svelte index e3a73290..30d4b39c 100644 --- a/src/lib/SideBars/Sidebar.svelte +++ b/src/lib/SideBars/Sidebar.svelte @@ -52,9 +52,11 @@ import SideChatList from "./SideChatList.svelte"; import { joinMultiuserRoom } from "src/ts/sync/multiuser"; import { sideBarSize } from "src/ts/gui/guisize"; + import DevTool from "./DevTool.svelte"; let sideBarMode = 0; let editMode = false; let menuMode = 0; + let devTool = false export let openGrid = () => {}; function createScratch() { @@ -658,10 +660,23 @@ {:else}
- - + + + {#if $DataBase.enableDevTools} + + {/if}
- {#if $botMakerMode} + {#if devTool} + + {:else if $botMakerMode} {:else} diff --git a/src/lib/UI/GUI/TextInput.svelte b/src/lib/UI/GUI/TextInput.svelte index acb6605d..c8f95016 100644 --- a/src/lib/UI/GUI/TextInput.svelte +++ b/src/lib/UI/GUI/TextInput.svelte @@ -60,7 +60,9 @@ type="text" bind:value disabled={disabled} - on:input={onInput} + on:input={(e) => { + onInput(e) + }} /> {/if} @@ -73,7 +75,9 @@ export let padding = true export let marginBottom = false export let marginTop = false - export let onInput = () => {} + export let onInput = (e:Event & { + currentTarget: EventTarget & HTMLInputElement; + }) => {} export let fullwidth = false export let fullh = false export let className = '' diff --git a/src/ts/hotkey.ts b/src/ts/hotkey.ts index a6681556..2ffe0007 100644 --- a/src/ts/hotkey.ts +++ b/src/ts/hotkey.ts @@ -1,7 +1,8 @@ import { get } from "svelte/store" -import { alertToast, doingAlert } from "./alert" +import { alertSelect, alertToast, doingAlert } from "./alert" import { DataBase, changeToPreset as changeToPreset2 } from "./storage/database" import { openPersonaList, openPresetList, selectedCharID, settingsOpen } from "./stores" +import { language } from "src/lang" export function initHotkey(){ document.addEventListener('keydown', (ev) => { @@ -97,6 +98,35 @@ export function initHotkey(){ ev.preventDefault() } }) + + + let touchs = 0 + //check for triple touch + document.addEventListener('touchstart', async (ev) => { + touchs++ + if(touchs > 2){ + touchs = 0 + if(doingAlert()){ + return + } + const selStr = await alertSelect([ + language.presets, + language.persona + ]) + const sel = parseInt(selStr) + if(sel === 0){ + openPresetList.set(!get(openPresetList)) + } + if(sel === 1){ + openPersonaList.set(!get(openPersonaList)) + } + + + } + }) + document.addEventListener('touchend', (ev) => { + touchs = 0 + }) } function changeToPreset(num:number){ diff --git a/src/ts/storage/database.ts b/src/ts/storage/database.ts index 8ee858fd..ae562422 100644 --- a/src/ts/storage/database.ts +++ b/src/ts/storage/database.ts @@ -714,6 +714,7 @@ export interface Database{ claudeCachingExperimental: boolean hideApiKey: boolean unformatQuotes: boolean + enableDevTools: boolean } export interface customscript{