diff --git a/src/lib/SideBars/LoreBook/LoreBookSetting.svelte b/src/lib/SideBars/LoreBook/LoreBookSetting.svelte
index 6e942df0..2454228d 100644
--- a/src/lib/SideBars/LoreBook/LoreBookSetting.svelte
+++ b/src/lib/SideBars/LoreBook/LoreBookSetting.svelte
@@ -2,13 +2,13 @@
import { DBState } from 'src/ts/stores.svelte';
import { language } from "../../../lang";
- import { DownloadIcon, FolderUpIcon, ImportIcon, PlusIcon } from "lucide-svelte";
+ import { DownloadIcon, FolderUpIcon, ImportIcon, PlusIcon, SunIcon, LinkIcon } from "lucide-svelte";
import { addLorebook, exportLoreBook, importLoreBook } from "../../../ts/process/lorebook.svelte";
import Check from "../../UI/GUI/CheckInput.svelte";
import NumberInput from "../../UI/GUI/NumberInput.svelte";
import LoreBookList from "./LoreBookList.svelte";
import Help from "src/lib/Others/Help.svelte";
- import { selectedCharID } from "src/ts/stores.svelte";
+ import { selectedCharID } from "src/ts/stores.svelte";
let submenu = $state(0)
interface Props {
@@ -16,6 +16,40 @@
}
let { globalMode = $bindable(false) }: Props = $props();
+
+ function isAllCharacterLoreAlwaysActive() {
+ const globalLore = DBState.db.characters[$selectedCharID].globalLore;
+ return globalLore && globalLore.every((book) => book.alwaysActive);
+ }
+
+ function isAllChatLoreAlwaysActive() {
+ const localLore = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].localLore;
+ return localLore && localLore.every((book) => book.alwaysActive);
+ }
+
+ function toggleCharacterLoreAlwaysActive() {
+ const globalLore = DBState.db.characters[$selectedCharID].globalLore;
+
+ if (!globalLore) return;
+
+ const allActive = globalLore.every((book) => book.alwaysActive);
+
+ globalLore.forEach((book) => {
+ book.alwaysActive = !allActive;
+ });
+ }
+
+ function toggleChatLoreAlwaysActive() {
+ const localLore = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].localLore;
+
+ if (!localLore) return;
+
+ const allActive = localLore.every((book) => book.alwaysActive);
+
+ localLore.forEach((book) => {
+ book.alwaysActive = !allActive;
+ });
+ }
{#if !globalMode}
@@ -99,5 +133,25 @@
}} class="hover:text-textcolor ml-2 cursor-pointer">
+
+
{/if}
\ No newline at end of file