Add none blank message

This commit is contained in:
kwaroran
2024-04-25 02:42:56 +09:00
parent 5bd57df411
commit bac475f22f
4 changed files with 37 additions and 28 deletions

View File

@@ -587,4 +587,5 @@ export const languageEnglish = {
embedding: "Embedding", embedding: "Embedding",
syntax: "Syntax", syntax: "Syntax",
run: "Run", run: "Run",
noMessage: "Type something to start the chat.",
} }

View File

@@ -84,7 +84,8 @@
let lastParsed = '' let lastParsed = ''
let lastCharArg:string|simpleCharacterArgument = null let lastCharArg:string|simpleCharacterArgument = null
let lastChatId = -10 let lastChatId = -10
let blankMessage = (message === '{{none}}' || message === 'blank') && idx === -1
$: blankMessage = (message === '{{none}}' || message === 'blank') && idx === -1
const markParsing = async (data: string, charArg?: string | simpleCharacterArgument, mode?: "normal" | "back", chatID?: number, translateText?:boolean, tries?:number) => { const markParsing = async (data: string, charArg?: string | simpleCharacterArgument, mode?: "normal" | "back", chatID?: number, translateText?:boolean, tries?:number) => {
try { try {
if((!isEqual(lastCharArg, charArg)) || (chatID !== lastChatId)){ if((!isEqual(lastCharArg, charArg)) || (chatID !== lastChatId)){
@@ -129,32 +130,34 @@
</script> </script>
<div class="flex max-w-full justify-center risu-chat" style={isLastMemory ? `border-top:${$DataBase.memoryLimitThickness}px solid rgba(98, 114, 164, 0.7);` : ''}> <div class="flex max-w-full justify-center risu-chat" style={isLastMemory ? `border-top:${$DataBase.memoryLimitThickness}px solid rgba(98, 114, 164, 0.7);` : ''}>
<div class="text-textcolor mt-1 ml-4 mr-4 mb-1 p-2 bg-transparent flex-grow border-t-gray-900 border-opacity-30 border-transparent flexium items-start max-w-full" > <div class="text-textcolor mt-1 ml-4 mr-4 mb-1 p-2 bg-transparent flex-grow border-t-gray-900 border-opacity-30 border-transparent flexium items-start max-w-full" >
{#if $CurrentCharacter.chaId === "§playground"} {#if !blankMessage}
<div class="shadow-lg border-textcolor2 border mt-2 flex justify-center items-center text-textcolor2" style={`height:${$DataBase.iconsize * 3.5 / 100}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`} {#if $CurrentCharacter.chaId === "§playground"}
class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons}> <div class="shadow-lg border-textcolor2 border mt-2 flex justify-center items-center text-textcolor2" style={`height:${$DataBase.iconsize * 3.5 / 100}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`}
{#if name === 'assistant'} class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons}>
<BotIcon /> {#if name === 'assistant'}
{:else} <BotIcon />
<UserIcon /> {:else}
{/if} <UserIcon />
</div> {/if}
{:else} </div>
{#await img} {:else}
<div class="shadow-lg bg-textcolor2 mt-2" style={`height:${$DataBase.iconsize * 3.5 / 100}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`} {#await img}
class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons} /> <div class="shadow-lg bg-textcolor2 mt-2" style={`height:${$DataBase.iconsize * 3.5 / 100}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`}
{:then m} class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons} />
{#if largePortrait && (!$DataBase.roundIcons)} {:then m}
<div class="shadow-lg bg-textcolor2 mt-2" style={m + `height:${$DataBase.iconsize * 3.5 / 100 / 0.75}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`} {#if largePortrait && (!$DataBase.roundIcons)}
class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons} /> <div class="shadow-lg bg-textcolor2 mt-2" style={m + `height:${$DataBase.iconsize * 3.5 / 100 / 0.75}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`}
{:else} class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons} />
<div class="shadow-lg bg-textcolor2 mt-2" style={m + `height:${$DataBase.iconsize * 3.5 / 100}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`} {:else}
class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons} /> <div class="shadow-lg bg-textcolor2 mt-2" style={m + `height:${$DataBase.iconsize * 3.5 / 100}rem;width:${$DataBase.iconsize * 3.5 / 100}rem;min-width:${$DataBase.iconsize * 3.5 / 100}rem`}
{/if} class:rounded-md={!$DataBase.roundIcons} class:rounded-full={$DataBase.roundIcons} />
{/await} {/if}
{/await}
{/if}
{/if} {/if}
<span class="flex flex-col ml-4 w-full max-w-full min-w-0"> <span class="flex flex-col ml-4 w-full max-w-full min-w-0">
<div class="flexium items-center chat"> <div class="flexium items-center chat">
{#if $CurrentCharacter.chaId === "§playground"} {#if $CurrentCharacter.chaId === "§playground" && !blankMessage}
<span class="chat text-xl border-darkborderc flex items-center"> <span class="chat text-xl border-darkborderc flex items-center">
<span>{name === 'assistant' ? 'Assistant' : 'User'}</span> <span>{name === 'assistant' ? 'Assistant' : 'User'}</span>
<button class="ml-2 text-textcolor2 hover:text-textcolor" on:click={() => { <button class="ml-2 text-textcolor2 hover:text-textcolor" on:click={() => {
@@ -162,12 +165,12 @@
$CurrentChat = $CurrentChat $CurrentChat = $CurrentChat
}}><ArrowLeftRightIcon size="18" /></button> }}><ArrowLeftRightIcon size="18" /></button>
</span> </span>
{:else} {:else if !blankMessage}
<span class="chat text-xl unmargin">{name}</span> <span class="chat text-xl unmargin">{name}</span>
{/if} {/if}
<div class="flex-grow flex items-center justify-end text-textcolor2"> <div class="flex-grow flex items-center justify-end text-textcolor2">
<span class="text-xs">{statusMessage}</span> <span class="text-xs">{statusMessage}</span>
{#if $DataBase.useChatCopy} {#if $DataBase.useChatCopy && !blankMessage}
<button class="ml-2 hover:text-green-500 transition-colors" on:click={()=>{ <button class="ml-2 hover:text-green-500 transition-colors" on:click={()=>{
window.navigator.clipboard.writeText(msgDisplay).then(() => { window.navigator.clipboard.writeText(msgDisplay).then(() => {
setStatusMessage(language.copied) setStatusMessage(language.copied)
@@ -200,7 +203,7 @@
<TrashIcon size={20}/> <TrashIcon size={20}/>
</button> </button>
{/if} {/if}
{#if $DataBase.translator !== ''} {#if $DataBase.translator !== '' && !blankMessage}
<button class={"ml-2 cursor-pointer hover:text-green-500 transition-colors " + (translated ? 'text-green-400':'')} class:translating={translating} on:click={async () => { <button class={"ml-2 cursor-pointer hover:text-green-500 transition-colors " + (translated ? 'text-green-400':'')} class:translating={translating} on:click={async () => {
translated = !translated translated = !translated
}}> }}>
@@ -243,6 +246,10 @@
{/if} {/if}
{#if editMode} {#if editMode}
<AutoresizeArea bind:value={message} /> <AutoresizeArea bind:value={message} />
{:else if blankMessage}
<div class="w-full flex justify-center text-textcolor2 italic mb-12">
{language.noMessage}
</div>
{:else} {:else}
<!-- svelte-ignore a11y-click-events-have-key-events --> <!-- svelte-ignore a11y-click-events-have-key-events -->
<span class="text chat chattext prose prose-invert minw-0" on:click={() => { <span class="text chat chattext prose prose-invert minw-0" on:click={() => {

View File

@@ -578,7 +578,7 @@
{/if} {/if}
{/each} {/each}
{#if $CurrentChat.message.length <= loadPages} {#if $CurrentChat.message.length <= loadPages}
{#if $CurrentCharacter.type !== 'group' && $CurrentCharacter.chaId !== '§playground'} {#if $CurrentCharacter.type !== 'group' }
<Chat <Chat
character={$CurrentSimpleCharacter} character={$CurrentSimpleCharacter}
name={$CurrentCharacter.name} name={$CurrentCharacter.name}

View File

@@ -21,6 +21,7 @@
const char = db.characters[charIndex] as character const char = db.characters[charIndex] as character
char.utilityBot = true char.utilityBot = true
char.name = 'assistant' char.name = 'assistant'
char.firstMessage = '{{none}}'
db.characters[charIndex] = char db.characters[charIndex] = char
characterFormatUpdate(charIndex) characterFormatUpdate(charIndex)