Migrate all DataBase to DBState
This commit is contained in:
@@ -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';
|
||||
|
||||
|
||||
@@ -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 />
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,27 +8,25 @@
|
||||
import PlaygroundSyntax from "./PlaygroundSyntax.svelte";
|
||||
import { findCharacterIndexbyId } from "src/ts/util";
|
||||
import { characterFormatUpdate, createBlankChar } from "src/ts/characters";
|
||||
import { get } from "svelte/store";
|
||||
import { DataBase, setDatabase, type character } from "src/ts/storage/database.svelte";
|
||||
import { DBState, type character } from "src/ts/storage/database.svelte";
|
||||
import PlaygroundImageGen from "./PlaygroundImageGen.svelte";
|
||||
import PlaygroundParser from "./PlaygroundParser.svelte";
|
||||
import ToolConvertion from "./ToolConvertion.svelte";
|
||||
import { joinMultiuserRoom } from "src/ts/sync/multiuser";
|
||||
import { joinMultiuserRoom } from "src/ts/sync/multiuser";
|
||||
|
||||
let easterEggTouch = $state(0)
|
||||
|
||||
const playgroundChat = () => {
|
||||
let db = get(DataBase)
|
||||
const charIndex = findCharacterIndexbyId('§playground')
|
||||
PlaygroundStore.set(2)
|
||||
|
||||
if (charIndex !== -1) {
|
||||
|
||||
const char = db.characters[charIndex] as character
|
||||
const char = DBState.db.characters[charIndex] as character
|
||||
char.utilityBot = true
|
||||
char.name = 'assistant'
|
||||
char.firstMessage = '{{none}}'
|
||||
db.characters[charIndex] = char
|
||||
DBState.db.characters[charIndex] = char
|
||||
characterFormatUpdate(charIndex)
|
||||
|
||||
selectedCharID.set(charIndex)
|
||||
@@ -38,8 +36,7 @@
|
||||
const character = createBlankChar()
|
||||
character.chaId = '§playground'
|
||||
|
||||
db.characters.push(character)
|
||||
setDatabase(db)
|
||||
DBState.db.characters.push(character)
|
||||
|
||||
playgroundChat()
|
||||
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
import { language } from "src/lang";
|
||||
import { alertConfirm } from "src/ts/alert";
|
||||
import { checkDriver } from "src/ts/drive/drive";
|
||||
import { DataBase } from "src/ts/storage/database.svelte";
|
||||
import { isNodeServer, isTauri } from "src/ts/storage/globalApi";
|
||||
import { persistantStorageRecommended } from "src/ts/storage/persistant";
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
const option = await alertChatOptions()
|
||||
switch(option){
|
||||
case 0:{
|
||||
const newChat = structuredClone(chara.chats[i])
|
||||
const newChat = structuredClone($state.snapshot(chara.chats[i]))
|
||||
newChat.name = `Copy of ${newChat.name}`
|
||||
chara.chats.unshift(newChat)
|
||||
chara.chatPage = 0
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
const da = db.characterOrder[mainIndex.index]
|
||||
if(typeof(da) !== 'string'){
|
||||
mainId = da.id
|
||||
movingFolder = structuredClone(da)
|
||||
movingFolder = structuredClone($state.snapshot(da))
|
||||
if(targetIndex.folder){
|
||||
return
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
if(!latin1.test(enNotes)){
|
||||
alertError("English version of creator notes must contain only Latin-1 characters")
|
||||
}
|
||||
shareRisuHub2(char, {
|
||||
shareRisuHub2($state.snapshot(char) as character, {
|
||||
anon: privateMode,
|
||||
nsfw: nsfwMode,
|
||||
tag: tags,
|
||||
|
||||
Reference in New Issue
Block a user