From f6c5c8be9ecb59d1f2bd02ac3e3ac5cd425eb76f Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sun, 16 Jul 2023 02:52:00 +0900 Subject: [PATCH] [feat] add persona --- package.json | 2 +- pnpm-lock.yaml | 10 +- src/lang/en.ts | 6 +- src/lib/Setting/Pages/PersonaSettings.svelte | 95 ++++++++++++++ src/lib/Setting/Pages/UserSettings.svelte | 124 +++++++++++-------- src/lib/Setting/Settings.svelte | 27 ++-- src/ts/characters.ts | 29 +++++ src/ts/storage/database.ts | 14 ++- src/ts/storage/globalApi.ts | 4 + 9 files changed, 238 insertions(+), 73 deletions(-) create mode 100644 src/lib/Setting/Pages/PersonaSettings.svelte diff --git a/package.json b/package.json index 463e9bbb..cd0a0051 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "isomorphic-dompurify": "^1.2.0", "localforage": "^1.10.0", "lodash": "^4.17.21", - "lucide-svelte": "^0.130.0", + "lucide-svelte": "^0.260.0", "ml-distance": "^4.0.1", "mobile-drag-drop": "3.0.0-rc.0", "msgpackr": "^1.9.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bba32d60..21c766e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,8 +60,8 @@ dependencies: specifier: ^4.17.21 version: 4.17.21 lucide-svelte: - specifier: ^0.130.0 - version: 0.130.0(svelte@3.58.0) + specifier: ^0.260.0 + version: 0.260.0(svelte@3.58.0) ml-distance: specifier: ^4.0.1 version: 4.0.1 @@ -1900,10 +1900,10 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false - /lucide-svelte@0.130.0(svelte@3.58.0): - resolution: {integrity: sha512-KDxJsWucA8p6XnNR5JDLvy3opMyQHWBZd+0mUO+1NI573UHmt7GDETWBynmbAjqavLH/SLT2r6P587aM4IAmPw==} + /lucide-svelte@0.260.0(svelte@3.58.0): + resolution: {integrity: sha512-fvR/42lZdIaW9RCVIouIMO9LgxwBcE4M770Hpl1ITL2At5YamgQ8J/652mTBXnX7qfiTCND/mSVnnXGESypaEw==} peerDependencies: - svelte: ^3.49.0 + svelte: '>=3 <5' dependencies: svelte: 3.58.0 dev: false diff --git a/src/lang/en.ts b/src/lang/en.ts index 07fdeb39..486ec30c 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -334,5 +334,9 @@ export const languageEnglish = { officialDiscordDesc: "Official Discord to talk about RisuAI", confirmRecommendedPreset: "There is a recommended settings for this model. do you want to change the settings to that? (you can turn off asking in the accessiblity settings)", toggleConfirmRecommendedPreset: "Ask for recommended setting when model change", - recommendedPreset: "Set to Recommended Settings" + recommendedPreset: "Set to Recommended Settings", + persona: "Persona", + icon:"Icon", + account: "Account", + remove: "Remove" } \ No newline at end of file diff --git a/src/lib/Setting/Pages/PersonaSettings.svelte b/src/lib/Setting/Pages/PersonaSettings.svelte new file mode 100644 index 00000000..b02fc9a9 --- /dev/null +++ b/src/lib/Setting/Pages/PersonaSettings.svelte @@ -0,0 +1,95 @@ + +

{language.persona}

+ +
+ {#each $DataBase.personas as persona, i} + + {/each} +
+ { + let db = get(DataBase) + db.personas.push({ + name: 'New Persona', + icon: '', + personaPrompt: '' + }) + setDatabase(db) + changeUserPersona(db.personas.length - 1) + }} + > + +
+
+ + +
+
+ +
+
+ +
+
+ {language.name} + + {language.description} + +
+ +
+
+
\ No newline at end of file diff --git a/src/lib/Setting/Pages/UserSettings.svelte b/src/lib/Setting/Pages/UserSettings.svelte index f4e6ca18..1ebc77ef 100644 --- a/src/lib/Setting/Pages/UserSettings.svelte +++ b/src/lib/Setting/Pages/UserSettings.svelte @@ -5,9 +5,10 @@ import { loadRisuAccountData, saveRisuAccountData } from "src/ts/drive/accounter"; import { DataBase } from "src/ts/storage/database"; import Check from "src/lib/Others/Check.svelte"; - import { alertSelect } from "src/ts/alert"; - import { forageStorage, isTauri } from "src/ts/storage/globalApi"; + import { alertConfirm, alertSelect } from "src/ts/alert"; + import { forageStorage, isNodeServer, isTauri } from "src/ts/storage/globalApi"; import { unMigrationAccount } from "src/ts/storage/accountStorage"; + import { checkDriver } from "src/ts/drive/drive"; let openIframe = false let openIframeURL = '' let popup:Window = null @@ -35,61 +36,78 @@ } }}> -

{language.user}

+

{language.account} & {language.files}

-{language.userIcon} - -{language.username} - -
-
-

Risu Account{#if $DataBase.account} - - {/if}

-
- {#if $DataBase.account} - ID: {$DataBase.account.id} - {#if !isTauri} -
- {#if $DataBase.account.useSync || forageStorage.isAccount} - {language.dataSavingInAccount} - {:else} - { - if(v){ - localStorage.setItem('dosync', 'sync') - location.reload() - } - }}/> - {/if} -
- {/if} - {:else} - {language.notLoggedIn} - - {/if} + +
+
+

Risu Account{#if $DataBase.account} + + {/if}

+ {#if $DataBase.account} + ID: {$DataBase.account.id} + {#if !isTauri} +
+ {#if $DataBase.account.useSync || forageStorage.isAccount} + {language.dataSavingInAccount} + {:else} + { + if(v){ + localStorage.setItem('dosync', 'sync') + location.reload() + } + }}/> + {/if} +
+ {/if} + + {:else} + {language.notLoggedIn} + + {/if} +
{#if openIframe}