diff --git a/src/lib/ChatScreens/BackgroundDom.svelte b/src/lib/ChatScreens/BackgroundDom.svelte index 162d22d3..789a92a5 100644 --- a/src/lib/ChatScreens/BackgroundDom.svelte +++ b/src/lib/ChatScreens/BackgroundDom.svelte @@ -1,7 +1,7 @@ -{#if backgroundHTML} +{#if backgroundHTML || $moduleBackgroundEmbedding} {#key $CurrentVariablePointer}
- {#await ParseMarkdown(risuChatParser(backgroundHTML, {chara:currentChar}), currentChar, 'back') then md} + {#await ParseMarkdown(risuChatParser((backgroundHTML || '') + ($moduleBackgroundEmbedding || ''), {chara:currentChar}), currentChar, 'back') then md} {@html md} {/await}
diff --git a/src/lib/Setting/Pages/Module/ModuleMenu.svelte b/src/lib/Setting/Pages/Module/ModuleMenu.svelte index 3a0a2550..c8641df3 100644 --- a/src/lib/Setting/Pages/Module/ModuleMenu.svelte +++ b/src/lib/Setting/Pages/Module/ModuleMenu.svelte @@ -63,6 +63,15 @@ } } + function toggleBackground(){ + if(typeof(currentModule.backgroundEmbedding) !== 'string'){ + currentModule.backgroundEmbedding = '' + } + else{ + currentModule.backgroundEmbedding = undefined + } + } + function addLorebook(){ if(Array.isArray(currentModule.lorebook)){ currentModule.lorebook.push({ @@ -121,7 +130,9 @@ - + {#if (Array.isArray(currentModule.lorebook))} @@ -147,6 +158,11 @@ {/if} +{#if typeof(currentModule.backgroundEmbedding) === 'string'} + {language.backgroundHTML} + +{/if} + {#if (Array.isArray(currentModule.trigger))} {language.triggerScript}
diff --git a/src/ts/process/modules.ts b/src/ts/process/modules.ts index 27b4074b..7965fb37 100644 --- a/src/ts/process/modules.ts +++ b/src/ts/process/modules.ts @@ -18,6 +18,7 @@ export interface RisuModule{ id: string lowLevelAccess?: boolean hideIcon?: boolean + backgroundEmbedding?:string } export async function exportModule(module:RisuModule){ diff --git a/src/ts/stores.ts b/src/ts/stores.ts index 044bed5e..312175e9 100644 --- a/src/ts/stores.ts +++ b/src/ts/stores.ts @@ -25,6 +25,7 @@ export const CharEmotion = writable({} as {[key:string]: [string, string, number export const ViewBoxsize = writable({ width: 12 * 16, height: 12 * 16 }); // Default width and height in pixels export const settingsOpen = writable(false) export const botMakerMode = writable(false) +export const moduleBackgroundEmbedding = writable('') //optimization @@ -202,12 +203,19 @@ function onModuleUpdate(){ ]) let moduleHideIcon = false + let backgroundEmbedding = '' m.forEach((module) => { if(module.hideIcon){ moduleHideIcon = true } + if(module.backgroundEmbedding){ + backgroundEmbedding += '\n' + module.backgroundEmbedding + '\n' + } }) + if(backgroundEmbedding){ + moduleBackgroundEmbedding.set(backgroundEmbedding) + } HideIconStore.set(characterHideIcon || moduleHideIcon) }