diff --git a/src/lib/Setting/Pages/Module/ModuleMenu.svelte b/src/lib/Setting/Pages/Module/ModuleMenu.svelte index dfa58a8c..c8daa7ff 100644 --- a/src/lib/Setting/Pages/Module/ModuleMenu.svelte +++ b/src/lib/Setting/Pages/Module/ModuleMenu.svelte @@ -132,6 +132,8 @@
+ {language.customPromptTemplateToggle} + {/if} {#if submenu === 1 && (Array.isArray(currentModule.lorebook))}
diff --git a/src/lib/Setting/Pages/Module/ModuleSettings.svelte b/src/lib/Setting/Pages/Module/ModuleSettings.svelte index 4abaa0ed..80297193 100644 --- a/src/lib/Setting/Pages/Module/ModuleSettings.svelte +++ b/src/lib/Setting/Pages/Module/ModuleSettings.svelte @@ -82,6 +82,10 @@ e.stopPropagation() const d = await alertConfirm(`${language.removeConfirm}` + rmodule.name) if(d){ + if(DBState.db.enabledModules.includes(rmodule.id)){ + DBState.db.enabledModules.splice(DBState.db.enabledModules.indexOf(rmodule.id), 1) + DBState.db.enabledModules = DBState.db.enabledModules + } const index = DBState.db.modules.findIndex((v) => v.id === rmodule.id) DBState.db.modules.splice(index, 1) DBState.db.modules = DBState.db.modules diff --git a/src/lib/SideBars/CharConfig.svelte b/src/lib/SideBars/CharConfig.svelte index 93a4c98a..e0165d1a 100644 --- a/src/lib/SideBars/CharConfig.svelte +++ b/src/lib/SideBars/CharConfig.svelte @@ -30,7 +30,7 @@ import { updateInlayScreen } from "src/ts/process/inlayScreen"; import { registerOnnxModel } from "src/ts/process/transformers"; import MultiLangInput from "../UI/GUI/MultiLangInput.svelte"; - import { applyModule } from "src/ts/process/modules"; + import { applyModule, getModuleToggles } from "src/ts/process/modules"; import { exportRegex, importRegex } from "src/ts/process/scripts"; import Arcodion from "../UI/Arcodion.svelte"; import SliderInput from "../UI/GUI/SliderInput.svelte"; @@ -293,7 +293,7 @@
- {#each parseKeyValue(DBState.db.customPromptTemplateToggle) as toggle} + {#each parseKeyValue(DBState.db.customPromptTemplateToggle + getModuleToggles()) as toggle}
{ DBState.db.globalChatVariables[`toggle_${toggle[0]}`] = DBState.db.globalChatVariables[`toggle_${toggle[0]}`] === '1' ? '0' : '1' diff --git a/src/lib/SideBars/SideChatList.svelte b/src/lib/SideBars/SideChatList.svelte index 70f8a773..3c2a454e 100644 --- a/src/lib/SideBars/SideChatList.svelte +++ b/src/lib/SideBars/SideChatList.svelte @@ -16,6 +16,7 @@ import { onDestroy, onMount } from "svelte"; import { v4 } from "uuid"; import { getChatBranches } from "src/ts/gui/branches"; + import { getModuleToggles } from "src/ts/process/modules"; interface Props { chara: character|groupChat; @@ -221,12 +222,12 @@ {#if DBState.db.characters[$selectedCharID]?.chaId !== '§playground'} - {#if parseKeyValue(DBState.db.customPromptTemplateToggle).length > 4} + {#if parseKeyValue(DBState.db.customPromptTemplateToggle + getModuleToggles()).length > 4}
- {#each parseKeyValue(DBState.db.customPromptTemplateToggle) as toggle} + {#each parseKeyValue(DBState.db.customPromptTemplateToggle + getModuleToggles()) as toggle}
{ DBState.db.globalChatVariables[`toggle_${toggle[0]}`] = DBState.db.globalChatVariables[`toggle_${toggle[0]}`] === '1' ? '0' : '1' @@ -239,11 +240,11 @@
{/if}
- {:else if parseKeyValue(DBState.db.customPromptTemplateToggle).length > 0} + {:else if parseKeyValue(DBState.db.customPromptTemplateToggle + getModuleToggles()).length > 0}
- {#each parseKeyValue(DBState.db.customPromptTemplateToggle) as toggle} + {#each parseKeyValue(DBState.db.customPromptTemplateToggle + getModuleToggles()) as toggle}
{ DBState.db.globalChatVariables[`toggle_${toggle[0]}`] = DBState.db.globalChatVariables[`toggle_${toggle[0]}`] === '1' ? '0' : '1' diff --git a/src/ts/process/modules.ts b/src/ts/process/modules.ts index 5afb4f00..dae9b735 100644 --- a/src/ts/process/modules.ts +++ b/src/ts/process/modules.ts @@ -24,6 +24,7 @@ export interface RisuModule{ backgroundEmbedding?:string assets?:[string,string,string][] namespace?:string + customModuleToggle?:string } export async function exportModule(module:RisuModule, arg:{ @@ -352,6 +353,20 @@ export function getModuleRegexScripts() { return customscripts } +export function getModuleToggles() { + const modules = getModules() + let costomModuleToggles: string = '' + for (const module of modules) { + if(!module){ + continue + } + if (module.customModuleToggle) { + costomModuleToggles += '\n' + module.customModuleToggle + '\n' + } + } + return costomModuleToggles +} + export async function applyModule() { const sel = await alertModuleSelect() if (!sel) {