Change DataBase inside svelte to DBState for performance

This commit is contained in:
kwaroran
2024-10-23 23:46:32 +09:00
parent a9f1819044
commit 2044d9b63b
122 changed files with 1372 additions and 1424 deletions

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import Check from "src/lib/UI/GUI/CheckInput.svelte";
import { language } from "src/lang";
import { DataBase } from "src/ts/storage/database";
import { DBState } from "src/ts/storage/database.svelte";
import { alertMd } from "src/ts/alert";
import { getRequestLog, isTauri } from "src/ts/storage/globalApi";
import NumberInput from "src/lib/UI/GUI/NumberInput.svelte";
@@ -10,8 +10,8 @@
import OptionInput from "src/lib/UI/GUI/OptionInput.svelte";
import Help from "src/lib/Others/Help.svelte";
import { installPython } from "src/ts/process/models/local";
import { Capacitor } from "@capacitor/core";
import { capStorageInvestigation } from "src/ts/storage/mobileStorage";
import { Capacitor } from "@capacitor/core";
import { capStorageInvestigation } from "src/ts/storage/mobileStorage";
let estaStorage:{
key:string,
@@ -22,38 +22,38 @@
<h2 class="text-2xl font-bold mt-2">{language.advancedSettings}</h2>
<span class="text-draculared text-xs mb-2">{language.advancedSettingsWarn}</span>
<span class="text-textcolor mt-4 mb-2">{language.loreBookDepth}</span>
<NumberInput marginBottom={true} size={"sm"} min={0} max={20} bind:value={$DataBase.loreBookDepth}/>
<NumberInput marginBottom={true} size={"sm"} min={0} max={20} bind:value={DBState.db.loreBookDepth}/>
<span class="text-textcolor">{language.loreBookToken}</span>
<NumberInput marginBottom={true} size={"sm"} min={0} max={4096} bind:value={$DataBase.loreBookToken}/>
<NumberInput marginBottom={true} size={"sm"} min={0} max={4096} bind:value={DBState.db.loreBookToken}/>
<span class="text-textcolor">{language.autoContinueMinTokens}</span>
<NumberInput marginBottom={true} size={"sm"} min={0} bind:value={$DataBase.autoContinueMinTokens}/>
<NumberInput marginBottom={true} size={"sm"} min={0} bind:value={DBState.db.autoContinueMinTokens}/>
<span class="text-textcolor">{language.additionalPrompt}</span>
<TextInput marginBottom={true} size={"sm"} bind:value={$DataBase.additionalPrompt}/>
<TextInput marginBottom={true} size={"sm"} bind:value={DBState.db.additionalPrompt}/>
<span class="text-textcolor">{language.descriptionPrefix}</span>
<TextInput marginBottom={true} size={"sm"} bind:value={$DataBase.descriptionPrefix}/>
<TextInput marginBottom={true} size={"sm"} bind:value={DBState.db.descriptionPrefix}/>
<span class="text-textcolor">{language.emotionPrompt} <Help key="emotionPrompt"/></span>
<TextInput marginBottom={true} size={"sm"} bind:value={$DataBase.emotionPrompt2} placeholder="Leave it blank to use default"/>
<TextInput marginBottom={true} size={"sm"} bind:value={DBState.db.emotionPrompt2} placeholder="Leave it blank to use default"/>
<span class="text-textcolor">Kei Server URL</span>
<TextInput marginBottom={true} size={"sm"} bind:value={$DataBase.keiServerURL} placeholder="Leave it blank to use default"/>
<TextInput marginBottom={true} size={"sm"} bind:value={DBState.db.keiServerURL} placeholder="Leave it blank to use default"/>
<span class="text-textcolor">{language.requestretrys} <Help key="requestretrys"/></span>
<NumberInput marginBottom={true} size={"sm"} min={0} max={20} bind:value={$DataBase.requestRetrys}/>
<NumberInput marginBottom={true} size={"sm"} min={0} max={20} bind:value={DBState.db.requestRetrys}/>
<span class="text-textcolor">{language.genTimes} <Help key="genTimes"/></span>
<NumberInput marginBottom={true} size={"sm"} min={0} max={4096} bind:value={$DataBase.genTime}/>
<NumberInput marginBottom={true} size={"sm"} min={0} max={4096} bind:value={DBState.db.genTime}/>
<span class="text-textcolor mt-4">GPT Vision Quality <Help key="gptVisionQuality"/></span>
<SelectInput bind:value={$DataBase.gptVisionQuality}>
<SelectInput bind:value={DBState.db.gptVisionQuality}>
<OptionInput value="low">Low</OptionInput>
<OptionInput value="high">High</OptionInput>
</SelectInput>
<span class="text-textcolor mt-4">{language.heightMode}</span>
<SelectInput bind:value={$DataBase.heightMode}>
<SelectInput bind:value={DBState.db.heightMode}>
<OptionInput value="normal">Normal</OptionInput>
<OptionInput value="percent">Percent</OptionInput>
<OptionInput value="vh">VH</OptionInput>
@@ -63,86 +63,86 @@
</SelectInput>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.useSayNothing} name={language.sayNothing}> <Help key="sayNothing"/></Check>
<Check bind:check={DBState.db.useSayNothing} name={language.sayNothing}> <Help key="sayNothing"/></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.showUnrecommended} name={language.showUnrecommended}> <Help key="showUnrecommended"/></Check>
<Check bind:check={DBState.db.showUnrecommended} name={language.showUnrecommended}> <Help key="showUnrecommended"/></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.imageCompression} name={language.imageCompression}> <Help key="imageCompression"/></Check>
<Check bind:check={DBState.db.imageCompression} name={language.imageCompression}> <Help key="imageCompression"/></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.useExperimental} name={language.useExperimental}> <Help key="useExperimental"/></Check>
<Check bind:check={DBState.db.useExperimental} name={language.useExperimental}> <Help key="useExperimental"/></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.forceProxyAsOpenAI} name={language.forceProxyAsOpenAI}> <Help key="forceProxyAsOpenAI"/></Check>
<Check bind:check={DBState.db.forceProxyAsOpenAI} name={language.forceProxyAsOpenAI}> <Help key="forceProxyAsOpenAI"/></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.autofillRequestUrl} name={language.autoFillRequestURL}> <Help key="autoFillRequestURL"/></Check>
<Check bind:check={DBState.db.autofillRequestUrl} name={language.autoFillRequestURL}> <Help key="autoFillRequestURL"/></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.autoContinueChat} name={language.autoContinueChat}> <Help key="autoContinueChat"/></Check>
<Check bind:check={DBState.db.autoContinueChat} name={language.autoContinueChat}> <Help key="autoContinueChat"/></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.removeIncompleteResponse} name={language.removeIncompleteResponse}></Check>
<Check bind:check={DBState.db.removeIncompleteResponse} name={language.removeIncompleteResponse}></Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.newOAIHandle} name={language.newOAIHandle}/>
<Check bind:check={DBState.db.newOAIHandle} name={language.newOAIHandle}/>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.noWaitForTranslate} name={language.noWaitForTranslate}/>
<Check bind:check={DBState.db.noWaitForTranslate} name={language.noWaitForTranslate}/>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.allowAllExtentionFiles} name="Allow all in file select"/>
<Check bind:check={DBState.db.allowAllExtentionFiles} name="Allow all in file select"/>
</div>
{#if $DataBase.useExperimental}
{#if DBState.db.useExperimental}
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.antiClaudeOverload} name={language.antiClaudeOverload}>
<Check bind:check={DBState.db.antiClaudeOverload} name={language.antiClaudeOverload}>
<Help key="experimental"/><Help key="antiClaudeOverload"/>
</Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.claudeCachingExperimental} name={language.claudeCachingExperimental}>
<Check bind:check={DBState.db.claudeCachingExperimental} name={language.claudeCachingExperimental}>
<Help key="experimental"/><Help key="claudeCachingExperimental"/>
</Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.putUserOpen} name={language.oaiRandomUser}>
<Check bind:check={DBState.db.putUserOpen} name={language.oaiRandomUser}>
<Help key="experimental"/><Help key="oaiRandomUser"/>
</Check>
</div>
{/if}
{#if $DataBase.showUnrecommended}
{#if DBState.db.showUnrecommended}
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.chainOfThought} name={language.cot}>
<Check bind:check={DBState.db.chainOfThought} name={language.cot}>
<Help key="customChainOfThought" unrecommended/>
</Check>
</div>
{/if}
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.removePunctuationHypa} name={language.removePunctuationHypa}>
<Check bind:check={DBState.db.removePunctuationHypa} name={language.removePunctuationHypa}>
<Help key="removePunctuationHypa"/>
</Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.enableDevTools} name={language.enableDevTools}>
<Check bind:check={DBState.db.enableDevTools} name={language.enableDevTools}>
</Check>
</div>
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.dynamicAssets} name={language.dynamicAssets}>
<Check bind:check={DBState.db.dynamicAssets} name={language.dynamicAssets}>
<Help key="dynamicAssets"/>
</Check>
</div>
{#if $DataBase.dynamicAssets}
{#if DBState.db.dynamicAssets}
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.dynamicAssetsEditDisplay} name={language.dynamicAssetsEditDisplay}>
<Check bind:check={DBState.db.dynamicAssetsEditDisplay} name={language.dynamicAssetsEditDisplay}>
<Help key="dynamicAssetsEditDisplay"/>
</Check>
</div>
{/if}
{#if $DataBase.showUnrecommended}
{#if DBState.db.showUnrecommended}
<div class="flex items-center mt-4">
<Check bind:check={$DataBase.usePlainFetch} name={language.forcePlainFetch}> <Help key="forcePlainFetch" unrecommended/></Check>
<Check bind:check={DBState.db.usePlainFetch} name={language.forcePlainFetch}> <Help key="forcePlainFetch" unrecommended/></Check>
</div>
{/if}
<button
@@ -172,7 +172,7 @@
</div>
{/if}
{/if}
{#if $DataBase.tpo}
{#if DBState.db.tpo}
<button
onclick={async () => {
installPython()