diff --git a/src/lib/ChatScreens/BackgroundDom.svelte b/src/lib/ChatScreens/BackgroundDom.svelte index 1aa8a9e5..9b11f0cf 100644 --- a/src/lib/ChatScreens/BackgroundDom.svelte +++ b/src/lib/ChatScreens/BackgroundDom.svelte @@ -2,16 +2,16 @@ import { ParseMarkdown, risuChatParser } from "src/ts/parser.svelte"; import { type character, type groupChat } from "src/ts/storage/database.svelte"; import { DBState } from 'src/ts/stores.svelte'; - import { moduleBackgroundEmbedding, ReloadGUIPointer, selectedCharID } from "src/ts/stores.svelte"; + import { moduleBackgroundEmbedding, ReloadGUIPointer, selIdState } from "src/ts/stores.svelte"; - let backgroundHTML = $derived(DBState.db?.characters?.[$selectedCharID]?.backgroundHTML) + let backgroundHTML = $derived(DBState.db?.characters?.[selIdState.selId]?.backgroundHTML) let currentChar:character|groupChat = $state() {#if backgroundHTML || $moduleBackgroundEmbedding} - {#if $selectedCharID > -1} + {#if selIdState.selId > -1} {#key $ReloadGUIPointer}
{#await ParseMarkdown(risuChatParser((backgroundHTML || '') + ($moduleBackgroundEmbedding || ''), {chara:currentChar}), currentChar, 'back') then md} diff --git a/src/ts/process/modules.ts b/src/ts/process/modules.ts index 60f0ab59..f430ec5b 100644 --- a/src/ts/process/modules.ts +++ b/src/ts/process/modules.ts @@ -8,7 +8,7 @@ import { convertExternalLorebook } from "./lorebook.svelte" import { decodeRPack, encodeRPack } from "../rpack/rpack_bg" import { convertImage } from "../parser.svelte" import { Capacitor } from "@capacitor/core" -import { HideIconStore, moduleBackgroundEmbedding } from "../stores.svelte" +import { DBState, HideIconStore, moduleBackgroundEmbedding } from "../stores.svelte" export interface RisuModule{ name: string @@ -397,7 +397,6 @@ export async function applyModule() { let lastGlobalEnabledModules: string[] = [] let lastChatEnabledModules: string[] = [] -let characterHideIcon = false export function moduleUpdate(){ if(!Array.isArray(lastGlobalEnabledModules)){ @@ -425,7 +424,10 @@ export function moduleUpdate(){ }) if(backgroundEmbedding){ + console.log('Background Embedding:', backgroundEmbedding) moduleBackgroundEmbedding.set(backgroundEmbedding) } - HideIconStore.set(characterHideIcon || moduleHideIcon) + console.log('Module Hide Icon:', moduleHideIcon) + console.log(Date.now()) + HideIconStore.set(getCurrentCharacter()?.hideChatIcon || moduleHideIcon) } \ No newline at end of file diff --git a/src/ts/stores.svelte.ts b/src/ts/stores.svelte.ts index 42080c55..9edec75c 100644 --- a/src/ts/stores.svelte.ts +++ b/src/ts/stores.svelte.ts @@ -49,6 +49,10 @@ export const alertStore = writable({ type: 'none', msg: 'n', } as alertData) +export const selIdState = $state({ + selId: -1 +}) + CustomCSSStore.subscribe((css) => { console.log(css) @@ -91,18 +95,16 @@ export const DBState = $state({ export const disableHighlight = writable(true) -let selIdState = $state(0) - -selectedCharID.subscribe((v) => { - selIdState = v -}) - $effect.root(() => { + selectedCharID.subscribe((v) => { + selIdState.selId = v + }) $effect(() => { $state.snapshot(DBState.db.modules) DBState?.db?.enabledModules DBState?.db?.enabledModules?.length - DBState?.db?.characters?.[selIdState]?.chats?.[DBState?.db?.characters?.[selIdState]?.chatPage]?.modules?.length + DBState?.db?.characters?.[selIdState.selId]?.chats?.[DBState?.db?.characters?.[selIdState.selId]?.chatPage]?.modules?.length + DBState?.db?.characters?.[selIdState.selId]?.hideChatIcon DBState?.db?.moduleIntergration ReloadGUIPointer.set(get(ReloadGUIPointer) + 1) moduleUpdate()