Added the option to show the username in the chat in settings -> interface

This commit is contained in:
Jannik Streidl 2024-02-06 11:22:34 +01:00
parent 46d0eff218
commit e1d4c87ff0
2 changed files with 40 additions and 6 deletions

View file

@ -4,7 +4,7 @@
import { tick } from 'svelte'; import { tick } from 'svelte';
import Name from './Name.svelte'; import Name from './Name.svelte';
import ProfileImage from './ProfileImage.svelte'; import ProfileImage from './ProfileImage.svelte';
import { modelfiles } from '$lib/stores'; import { modelfiles, settings, user as userStore } from '$lib/stores';
export let user; export let user;
export let message; export let message;
@ -57,12 +57,20 @@
{#if message.user} {#if message.user}
{#if $modelfiles.map((modelfile) => modelfile.tagName).includes(message.user)} {#if $modelfiles.map((modelfile) => modelfile.tagName).includes(message.user)}
{$modelfiles.find((modelfile) => modelfile.tagName === message.user)?.title} {$modelfiles.find((modelfile) => modelfile.tagName === message.user)?.title}
{:else}
{#if $settings.showUsername}
{$userStore.name}
{:else} {:else}
You <span class=" text-gray-500 text-sm font-medium">{message?.user ?? ''}</span> You <span class=" text-gray-500 text-sm font-medium">{message?.user ?? ''}</span>
{/if} {/if}
{/if}
{:else}
{#if $settings.showUsername}
{$userStore.name}
{:else} {:else}
You You
{/if} {/if}
{/if}
{#if message.timestamp} {#if message.timestamp}
<span class=" invisible group-hover:visible text-gray-400 text-xs font-medium"> <span class=" invisible group-hover:visible text-gray-400 text-xs font-medium">

View file

@ -16,6 +16,13 @@
// Interface // Interface
let promptSuggestions = []; let promptSuggestions = [];
let showUsername = false;
const toggleShowUsername = async () => {
showUsername = !showUsername;
saveSettings({ showUsername: showUsername });
};
const toggleSpeechAutoSend = async () => { const toggleSpeechAutoSend = async () => {
speechAutoSend = !speechAutoSend; speechAutoSend = !speechAutoSend;
@ -64,7 +71,7 @@
titleAutoGenerate = settings.titleAutoGenerate ?? true; titleAutoGenerate = settings.titleAutoGenerate ?? true;
speechAutoSend = settings.speechAutoSend ?? false; speechAutoSend = settings.speechAutoSend ?? false;
responseAutoCopy = settings.responseAutoCopy ?? false; responseAutoCopy = settings.responseAutoCopy ?? false;
showUsername = settings.showUsername ?? false;
titleAutoGenerateModel = settings.titleAutoGenerateModel ?? ''; titleAutoGenerateModel = settings.titleAutoGenerateModel ?? '';
}); });
</script> </script>
@ -139,6 +146,25 @@
</button> </button>
</div> </div>
</div> </div>
<div>
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">Display the username instead of "You" in the Chat</div>
<button
class="p-1 px-3 text-xs flex rounded transition"
on:click={() => {
toggleShowUsername();
}}
type="button"
>
{#if showUsername === true}
<span class="ml-2 self-center">On</span>
{:else}
<span class="ml-2 self-center">Off</span>
{/if}
</button>
</div>
</div>
</div> </div>
<hr class=" dark:border-gray-700" /> <hr class=" dark:border-gray-700" />