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)
}