From 42f534e6dd2da0127dbd50364fee8b0df1c7bc96 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sat, 2 Nov 2024 04:04:11 +0900 Subject: [PATCH] Add Themes --- src/lib/ChatScreens/Chat.svelte | 359 +++++++++++-------- src/lib/ChatScreens/ChatScreen.svelte | 26 +- src/lib/Playground/PlaygroundImageGen.svelte | 83 ++--- src/lib/Setting/Pages/DisplaySettings.svelte | 5 +- 4 files changed, 266 insertions(+), 207 deletions(-) diff --git a/src/lib/ChatScreens/Chat.svelte b/src/lib/ChatScreens/Chat.svelte index 802ddb22..4329bd26 100644 --- a/src/lib/ChatScreens/Chat.svelte +++ b/src/lib/ChatScreens/Chat.svelte @@ -58,6 +58,7 @@ let msgDisplay = $state('') let translated = $state(DBState.db.autoTranslate) + let role = $derived(DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message[idx]?.role) async function rm(e:MouseEvent, rec?:boolean){ if(e.shiftKey){ let msg = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message @@ -88,9 +89,7 @@ } async function edit(){ - let msg = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message - msg[idx].data = message - DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message = msg + DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message[idx].data = message } function getCbsCondition(){ @@ -193,153 +192,225 @@ unsubscribers.forEach(u => u()) }) -
-
- {#if !blankMessage && !$HideIconStore} - {#if DBState.db.characters[$selectedCharID]?.chaId === "§playground"} -
- {#if name === 'assistant'} - - {:else} - - {/if} -
- {:else} - {#await img} -
- {:then m} - {#if largePortrait && (!DBState.db.roundIcons)} -
- {:else} -
- {/if} - {/await} - {/if} - {/if} - -
- {#if DBState.db.characters[$selectedCharID]?.chaId === "§playground" && !blankMessage} - - {name === 'assistant' ? 'Assistant' : 'User'} - - - {:else if !blankMessage && !$HideIconStore} - {name} - {/if} -
- {statusMessage} - {#if DBState.db.useChatCopy && !blankMessage} - - {/if} - {#if idx > -1} - {#if DBState.db.characters[$selectedCharID].type !== 'group' && DBState.db.characters[$selectedCharID].ttsMode !== 'none' && (DBState.db.characters[$selectedCharID].ttsMode)} - - {/if} - {#if !$ConnectionOpenStore} - - - {/if} - {/if} - {#if DBState.db.translator !== '' && !blankMessage} - - {/if} - {#if rerollIcon || altGreeting} - {#if DBState.db.swipe || altGreeting} - - - {:else} - - {/if} - {/if} -
-
- {#if messageGenerationInfo && DBState.db.requestInfoInsideChat} -
- -
+ +{#snippet genInfo()} + {#if messageGenerationInfo && DBState.db.requestInfoInsideChat} +
+ +
+ {/if} +{/snippet} + +{#snippet textBox()} + {#if editMode} + { + editMode = false + }} /> + {:else if blankMessage} +
+ {language.noMessage} +
+ {:else} + + + { + if(DBState.db.clickToEdit && idx > -1){ + editMode = true + } + }} + style:font-size="{0.875 * (DBState.db.zoomsize / 100)}rem" + style:line-height="{(DBState.db.lineHeight ?? 1.25) * (DBState.db.zoomsize / 100)}rem" + > + {#key $ReloadGUIPointer} + {#await markParsing(msgDisplay, character, 'normal', idx, translated)} + {@html lastParsed} + {:then md} + {@html md} + {/await} + {/key} + + {/if} +{/snippet} + +{#snippet icons(options:{applyTextColors?:boolean} = {})} +
+ {statusMessage} + {#if DBState.db.useChatCopy && !blankMessage} + + {/if} + {#if idx > -1} + {#if DBState.db.characters[$selectedCharID].type !== 'group' && DBState.db.characters[$selectedCharID].ttsMode !== 'none' && (DBState.db.characters[$selectedCharID].ttsMode)} + {/if} - {#if editMode} - { - editMode = false - }} /> - {:else if blankMessage} -
- {language.noMessage} -
- {:else} - - { - if(DBState.db.clickToEdit && idx > -1){ + + {#if !$ConnectionOpenStore} + + {/if} - + {/if} + {#if DBState.db.translator !== '' && !blankMessage} + + {/if} + {#if rerollIcon || altGreeting} + {#if DBState.db.swipe || altGreeting} + + + {:else} + + {/if} + {/if} +
+{/snippet} +{#snippet icon(options:{rounded?:boolean,styleFix?:string} = {})} + {#if !blankMessage && !$HideIconStore} + {#if DBState.db.characters[$selectedCharID]?.chaId === "§playground"} +
+ {#if name === 'assistant'} + + {:else} + + {/if} +
+ {:else} + {#await img} +
+ {:then m} + {#if largePortrait && (!options?.rounded)} +
+ {:else} +
+ {/if} + {/await} + {/if} + {/if} +{/snippet} + +
+
+ {#if DBState.db.theme === 'mobilechat' && !blankMessage} +
+ {#if role !== 'user'} + {@render icon({rounded: true})} + {/if} +
+

{@render textBox()}

+ {#if DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message[idx]?.time} + + {new Intl.DateTimeFormat(undefined, { + hour: '2-digit', + minute: '2-digit', + second: '2-digit', + month: '2-digit', + day: '2-digit', + hour12: false + }).format(DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message[idx].time)} + + {/if} +
+ {#if role === 'user'} + {@render icon({rounded: true})} + {/if} +
+ {:else if DBState.db.theme === 'cardboard' && !blankMessage} +
+
+
+
+
+ {@render icon({rounded: false, styleFix:'height:100%;width:100%;'})} +
+

{name}

+ +
+ {#if editMode} + + {:else} +
+ {@render textBox()} +
+ {/if} +
+
+
+ {@render icons({applyTextColors: false})} +
+
+ {:else} + {@render icon({rounded: DBState.db.roundIcons})} + +
+ {#if DBState.db.characters[$selectedCharID]?.chaId === "§playground" && !blankMessage} + + {name === 'assistant' ? 'Assistant' : 'User'} + + + {:else if !blankMessage && !$HideIconStore} + {name} + {/if} + {@render icons()} +
+ {@render genInfo()} + {@render textBox()} +
+ {/if}
diff --git a/src/lib/ChatScreens/ChatScreen.svelte b/src/lib/ChatScreens/ChatScreen.svelte index 5acc9194..2f4acba4 100644 --- a/src/lib/ChatScreens/ChatScreen.svelte +++ b/src/lib/ChatScreens/ChatScreen.svelte @@ -35,19 +35,6 @@ {#if $ShowVN} -{:else if DBState.db.theme === ''} -
- - -
- {#if $selectedCharID >= 0} - {#if DBState.db.characters[$selectedCharID].viewScreen !== 'none' && (DBState.db.characters[$selectedCharID].type === 'group' || (!DBState.db.characters[$selectedCharID].inlayViewScreen))} - - {/if} - {/if} - 2 ? `${externalStyles}`: ''} bind:openChatList bind:openModuleList/> -
-
{:else if DBState.db.theme === 'waifu'}
@@ -81,6 +68,19 @@ {/if} {/if}
+{:else} +
+ + +
+ {#if $selectedCharID >= 0} + {#if DBState.db.characters[$selectedCharID].viewScreen !== 'none' && (DBState.db.characters[$selectedCharID].type === 'group' || (!DBState.db.characters[$selectedCharID].inlayViewScreen))} + + {/if} + {/if} + 2 ? `${externalStyles}`: ''} bind:openChatList bind:openModuleList/> +
+
{/if} {#if openChatList} {openChatList = false}}/> diff --git a/src/lib/Playground/PlaygroundImageGen.svelte b/src/lib/Playground/PlaygroundImageGen.svelte index ca2244e7..59d27fc7 100644 --- a/src/lib/Playground/PlaygroundImageGen.svelte +++ b/src/lib/Playground/PlaygroundImageGen.svelte @@ -1,49 +1,34 @@ - - -

{language.imageGeneration}

- -Prompt - - - -Neg. Prompt - - - -{#if img} - Generated - - Generated - -{/if} - \ No newline at end of file +
+
+ + Card Image + +
+
+ +
+ +

+ Card Title +

+ + +

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates rerum quisquam, temporibus quasi distinctio magnam. +

+ + +
+ + + + + 5 min read + +
+
+
\ No newline at end of file diff --git a/src/lib/Setting/Pages/DisplaySettings.svelte b/src/lib/Setting/Pages/DisplaySettings.svelte index 49b3ad4c..c41cc439 100644 --- a/src/lib/Setting/Pages/DisplaySettings.svelte +++ b/src/lib/Setting/Pages/DisplaySettings.svelte @@ -53,7 +53,10 @@ Standard Risu Waifulike - WaifuCut + + Mobile Chat + CardBoard +