Migrate all DataBase to DBState

This commit is contained in:
kwaroran
2024-10-24 01:59:57 +09:00
parent 4e9190f1b5
commit b3fddb814e
65 changed files with 331 additions and 434 deletions

View File

@@ -1,7 +1,7 @@
<script>
import { onMount, createEventDispatcher } from 'svelte';
import { EditIcon, LanguagesIcon } from "lucide-svelte";
import { DataBase, DBState } from "../../ts/storage/database.svelte";
import { DBState } from "../../ts/storage/database.svelte";
import CodeMirror from 'codemirror';
import 'codemirror/lib/codemirror.css';

View File

@@ -1,7 +1,6 @@
<script lang="ts">
import { get } from 'svelte/store';
import { FileAudioIcon, PlusIcon } from "lucide-svelte";
import { DataBase, setDatabase, type character, type groupChat } from "src/ts/storage/database.svelte";
import { type character, type groupChat } from "src/ts/storage/database.svelte";
import { getFileSrc, saveAsset } from "src/ts/storage/globalApi";
import { selectMultipleFile } from "src/ts/util";
interface Props {
@@ -48,8 +47,6 @@
currentCharacter.additionalAssets.push([name, imgp, extension])
currentCharacter = currentCharacter
}
const db = get(DataBase);
setDatabase(db)
}
}}>
<PlusIcon />

View File

@@ -1,42 +1,10 @@
<script lang="ts">
import { ParseMarkdown, risuChatParser } from "src/ts/parser";
import { DataBase, type Database, type character, type groupChat } from "src/ts/storage/database.svelte";
import { DBState, type character, type groupChat } from "src/ts/storage/database.svelte";
import { moduleBackgroundEmbedding, ReloadGUIPointer, selectedCharID } from "src/ts/stores";
import { onDestroy } from "svelte";
let backgroundHTML = $state('')
let lastdb:Database
let backgroundHTML = $derived(DBState.db?.characters?.[$selectedCharID]?.backgroundHTML)
let currentChar:character|groupChat = $state()
let selectedId = 0
function checkUpdate(){
if(selectedId > 0 && lastdb){
if(lastdb.characters[selectedId] && lastdb.characters[selectedId].backgroundHTML !== backgroundHTML){
backgroundHTML = lastdb.characters[selectedId].backgroundHTML
currentChar = lastdb.characters[selectedId]
}
}
else{
if(backgroundHTML !== ''){
backgroundHTML = ''
}
}
}
const unsubDatabase = DataBase.subscribe(v => {
lastdb = v
checkUpdate()
})
const unsubID = selectedCharID.subscribe(v => {
selectedId = v
checkUpdate()
})
onDestroy(() => {
unsubDatabase()
unsubID()
})
</script>

View File

@@ -140,15 +140,13 @@
}
if(rerollid < rerolls.length - 1){
if(Array.isArray(rerolls[rerollid + 1])){
let db = DBState.db
rerollid += 1
let rerollData = structuredClone(rerolls[rerollid])
let msgs = db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message
let msgs = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message
for(let i = 0; i < rerollData.length; i++){
msgs[msgs.length - rerollData.length + i] = rerollData[i]
}
db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message = msgs
DBState.db = db
DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message = msgs
}
return
}
@@ -199,15 +197,13 @@
return
}
if(Array.isArray(rerolls[rerollid - 1])){
let db = DBState.db
rerollid -= 1
let rerollData = structuredClone(rerolls[rerollid])
let msgs = db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message
let msgs = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message
for(let i = 0; i < rerollData.length; i++){
msgs[msgs.length - rerollData.length + i] = rerollData[i]
}
db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message = msgs
DBState.db = db
DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message = msgs
}
}