From cbb203dd449257e641fee7ebe854ceb9f35d847a Mon Sep 17 00:00:00 2001 From: kwaroran Date: Tue, 18 Jul 2023 23:05:47 +0900 Subject: [PATCH] [feat] new gui --- src/lib/ChatScreens/AutoresizeArea.svelte | 39 -- src/lib/ChatScreens/Chat.svelte | 2 +- src/lib/Others/Check.svelte | 25 - .../Pages/AccessibilitySettings.svelte | 2 +- src/lib/Setting/Pages/AdvancedSettings.svelte | 15 +- src/lib/Setting/Pages/BotSettings.svelte | 85 ++-- src/lib/Setting/Pages/DisplaySettings.svelte | 25 +- src/lib/Setting/Pages/LanguageSettings.svelte | 36 +- src/lib/Setting/Pages/OtherBotSettings.svelte | 30 +- src/lib/Setting/Pages/PersonaSettings.svelte | 3 +- src/lib/Setting/Pages/PluginSettings.svelte | 10 +- src/lib/Setting/Pages/UserSettings.svelte | 2 +- src/lib/SideBars/CharConfig.svelte | 441 +++++++++--------- src/lib/SideBars/DropList.svelte | 15 +- src/lib/SideBars/LoreBookData.svelte | 19 +- src/lib/SideBars/LoreBookSetting.svelte | 18 +- src/lib/SideBars/RegexData.svelte | 16 +- src/lib/SideBars/Sidebar.svelte | 33 +- src/lib/UI/GUI/Button.svelte | 20 + src/lib/UI/GUI/Check.svelte | 52 +++ src/lib/UI/GUI/NumberInput.svelte | 37 +- src/lib/UI/GUI/OptionInput.svelte | 5 + src/lib/UI/GUI/SelectInput.svelte | 22 + src/lib/UI/GUI/SliderInput.svelte | 35 +- src/lib/UI/GUI/TextAreaInput.svelte | 64 +++ src/lib/UI/GUI/TextAreaResizable.svelte | 45 ++ src/lib/UI/GUI/TextInput.svelte | 24 +- src/lib/UI/HubUpload.svelte | 8 +- tailwind.config.js | 1 + 29 files changed, 679 insertions(+), 450 deletions(-) delete mode 100644 src/lib/ChatScreens/AutoresizeArea.svelte delete mode 100644 src/lib/Others/Check.svelte create mode 100644 src/lib/UI/GUI/Button.svelte create mode 100644 src/lib/UI/GUI/Check.svelte create mode 100644 src/lib/UI/GUI/OptionInput.svelte create mode 100644 src/lib/UI/GUI/SelectInput.svelte create mode 100644 src/lib/UI/GUI/TextAreaInput.svelte create mode 100644 src/lib/UI/GUI/TextAreaResizable.svelte diff --git a/src/lib/ChatScreens/AutoresizeArea.svelte b/src/lib/ChatScreens/AutoresizeArea.svelte deleted file mode 100644 index 8ece063e..00000000 --- a/src/lib/ChatScreens/AutoresizeArea.svelte +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - {tokens.mainPrompt} {language.tokens} + + {tokens.mainPrompt} {language.tokens} {language.jailbreakPrompt} - - {tokens.jailbreak} {language.tokens} + + {tokens.jailbreak} {language.tokens} {language.globalNote} - - {tokens.globalNote} {language.tokens} + + {tokens.globalNote} {language.tokens} {language.maxContextSize} @@ -303,7 +308,7 @@ {($DataBase.PresensePenalty / 100).toFixed(2)} {language.autoSuggest} - + {tokens.autoSuggest} {language.tokens} {/if} {/if} @@ -354,6 +359,6 @@ - + {/if} diff --git a/src/lib/Setting/Pages/DisplaySettings.svelte b/src/lib/Setting/Pages/DisplaySettings.svelte index a4adb15d..e957172a 100644 --- a/src/lib/Setting/Pages/DisplaySettings.svelte +++ b/src/lib/Setting/Pages/DisplaySettings.svelte @@ -2,20 +2,21 @@ import { language } from "src/lang"; import { DataBase, saveImage, updateTextTheme } from "src/ts/storage/database"; import { changeFullscreen, selectSingleFile, sleep } from "src/ts/util"; - import Check from "src/lib/Others/Check.svelte"; + import Check from "src/lib/UI/GUI/Check.svelte"; import Help from "src/lib/Others/Help.svelte"; import SliderInput from "src/lib/UI/GUI/SliderInput.svelte"; + import SelectInput from "src/lib/UI/GUI/SelectInput.svelte"; + import OptionInput from "src/lib/UI/GUI/OptionInput.svelte";

{language.display}

{language.theme} - + + Standard Risu + Waifulike + WaifuCut + {#if $DataBase.theme === "waifu"} @@ -29,11 +30,11 @@ {/if} {language.textColor} - + + {language.classicRisu} + {language.highcontrast} + Custom + {#if $DataBase.textTheme === "custom"}
diff --git a/src/lib/Setting/Pages/LanguageSettings.svelte b/src/lib/Setting/Pages/LanguageSettings.svelte index 5a6bf8b3..5db458fd 100644 --- a/src/lib/Setting/Pages/LanguageSettings.svelte +++ b/src/lib/Setting/Pages/LanguageSettings.svelte @@ -1,39 +1,41 @@

{language.language}

{language.UiLanguage} - + English + 한국어 + 中文 + {#if langChanged} Close the settings to take effect {/if} {language.translator} - + {#if $DataBase.translator}
diff --git a/src/lib/Setting/Pages/OtherBotSettings.svelte b/src/lib/Setting/Pages/OtherBotSettings.svelte index 4a954f98..2a923827 100644 --- a/src/lib/Setting/Pages/OtherBotSettings.svelte +++ b/src/lib/Setting/Pages/OtherBotSettings.svelte @@ -1,11 +1,13 @@

{language.otherBots}

@@ -13,12 +15,12 @@ {language.imageGeneration} {language.provider} - + + {#if $DataBase.sdProvider === 'webui'} You must use WebUI with --api flag @@ -64,12 +66,12 @@ {language.SuperMemory} {language.SuperMemory} {language.model} - + + None + OpenAI Davinci + OpenAI Curie + {language.submodel} ({language.unrecommended}) + {#if $DataBase.supaMemoryType === 'davinci' || $DataBase.supaMemoryType === 'curie'} {language.SuperMemory} OpenAI Key diff --git a/src/lib/Setting/Pages/PersonaSettings.svelte b/src/lib/Setting/Pages/PersonaSettings.svelte index b32002af..c17d58db 100644 --- a/src/lib/Setting/Pages/PersonaSettings.svelte +++ b/src/lib/Setting/Pages/PersonaSettings.svelte @@ -1,6 +1,7 @@

{language.plugin}

@@ -44,11 +46,11 @@ {#each Object.keys(plugin.arguments) as arg} {arg} {#if Array.isArray(plugin.arguments[arg])} - + {:else if plugin.arguments[arg] === 'string'} {:else if plugin.arguments[arg] === 'int'} diff --git a/src/lib/Setting/Pages/UserSettings.svelte b/src/lib/Setting/Pages/UserSettings.svelte index 1ebc77ef..572ea50a 100644 --- a/src/lib/Setting/Pages/UserSettings.svelte +++ b/src/lib/Setting/Pages/UserSettings.svelte @@ -4,7 +4,7 @@ import { getCharImage, selectUserImg } from "src/ts/characters"; import { loadRisuAccountData, saveRisuAccountData } from "src/ts/drive/accounter"; import { DataBase } from "src/ts/storage/database"; - import Check from "src/lib/Others/Check.svelte"; + import Check from "src/lib/UI/GUI/Check.svelte"; import { alertConfirm, alertSelect } from "src/ts/alert"; import { forageStorage, isNodeServer, isTauri } from "src/ts/storage/globalApi"; import { unMigrationAccount } from "src/ts/storage/accountStorage"; diff --git a/src/lib/SideBars/CharConfig.svelte b/src/lib/SideBars/CharConfig.svelte index 35ba35d0..a5b90550 100644 --- a/src/lib/SideBars/CharConfig.svelte +++ b/src/lib/SideBars/CharConfig.svelte @@ -4,7 +4,7 @@ import { DataBase, saveImage as saveAsset, type Database, type character, type groupChat } from "../../ts/storage/database"; import { selectedCharID } from "../../ts/stores"; import { PlusIcon, SmileIcon, TrashIcon, UserIcon, ActivityIcon, BookIcon, LoaderIcon, User, DnaIcon, CurlyBraces, Volume2Icon, XIcon } from 'lucide-svelte' - import Check from "../Others/Check.svelte"; + import Check from "../UI/GUI/Check.svelte"; import { addCharEmotion, addingEmotion, getCharImage, rmCharEmotion, selectCharImg, makeGroupImage } from "../../ts/characters"; import LoreBook from "./LoreBookSetting.svelte"; import { alertConfirm, alertError, alertSelectChar } from "../../ts/alert"; @@ -18,9 +18,13 @@ import { getElevenTTSVoices, getWebSpeechTTSVoices, getVOICEVOXVoices } from "src/ts/process/tts"; import { checkCharOrder, getFileSrc } from "src/ts/storage/globalApi"; import { addGroupChar, rmCharFromGroup } from "src/ts/process/group"; - import HubUpload from "../UI/HubUpload.svelte"; - import TextInput from "../UI/GUI/TextInput.svelte"; - import NumberInput from "../UI/GUI/NumberInput.svelte"; + import HubUpload from "../UI/HubUpload.svelte"; + import TextInput from "../UI/GUI/TextInput.svelte"; + import NumberInput from "../UI/GUI/NumberInput.svelte"; + import TextAreaInput from "../UI/GUI/TextAreaInput.svelte"; + import Button from "../UI/GUI/Button.svelte"; + import SelectInput from "../UI/GUI/SelectInput.svelte"; + import OptionInput from "../UI/GUI/OptionInput.svelte"; let subMenu = 0 let openHubUpload = false @@ -157,10 +161,10 @@ {#if currentChar.type !== 'group'} {language.description} - + {tokens.desc} {language.tokens} {language.firstMessage} - + {tokens.firstMsg} {language.tokens} {:else} @@ -214,7 +218,7 @@ {/if} {language.authorNote} - + {tokens.localNote} {language.tokens}
@@ -259,53 +263,57 @@ {#if currentChar.type !== 'group'} - + + {language.none} + {language.emotionImage} + {language.imageGeneration} + {:else} - + {/if} {#if currentChar.data.viewScreen === 'emotion'} {language.emotionImage} {language.emotionWarn} - - - - - - - {#if currentChar.data.emotionImages.length === 0} +
+ +
{language.image}{language.emotion}
-
{language.noImages}
+ + + - {:else} - {#each emos as emo, i} + {#if currentChar.data.emotionImages.length === 0} - {#await getCharImage(emo[1], 'plain')} - - {:then im} - - {/await} - - +
{language.noImages}
- {/each} - {/if} -
{language.image}{language.emotion}
img - -
+ {:else} + {#each emos as emo, i} + + {#await getCharImage(emo[1], 'plain')} + + {:then im} + img + {/await} + + + + + + {/each} + {/if} + + +
{#if !$addingEmotion} @@ -321,44 +329,44 @@ {language.imageGeneration} {language.emotionWarn} - - - - - - - - {#if currentChar.data.sdData.length === 0} +
+
{language.key}{language.value}
-
{language.noData}
+ + + - {/if} - {#each currentChar.data.sdData as emo, i} - - - - {#if (!['always','negative'].includes(currentChar.data.sdData[i][0]))} - - {:else} - - {/if} - - {/each} - -
{language.key}{language.value}
- - - -
+ {#if currentChar.data.sdData.length === 0} + +
{language.noData}
+ + {/if} + {#each currentChar.data.sdData as emo, i} + + + + + + + + {#if (!['always','negative'].includes(currentChar.data.sdData[i][0]))} + + {:else} + + {/if} + + {/each} + +
{#if !$addingEmotion}
{language.currentImageGeneration} {#if currentChar.data.chats[currentChar.data.chatPage].sdData} - + {:else}
{language.noData}
{/if} @@ -392,7 +400,9 @@

{language.scripts}

Bias - +
+ +
@@ -433,21 +443,25 @@
Bias {language.value}
+
+ {language.regexScript} - - {#if currentChar.data.customscript.length === 0} -
No Scripts
- {/if} - {#each currentChar.data.customscript as customscript, i} - { - if(currentChar.type === 'character'){ - let customscript = currentChar.data.customscript - customscript.splice(i, 1) - currentChar.data.customscript = customscript - } - }}/> - {/each} -
+
+ + {#if currentChar.data.customscript.length === 0} +
No Scripts
+ {/if} + {#each currentChar.data.customscript as customscript, i} + { + if(currentChar.type === 'character'){ + let customscript = currentChar.data.customscript + customscript.splice(i, 1) + currentChar.data.customscript = customscript + } + }}/> + {/each} +
+