Merge pull request #10987 from alpha-pet/feat-submit-on-ctrl-enter

feat: add alternative input configuration where Ctrl-Enter is required to send chat messages
This commit is contained in:
Timothy Jaeryang Baek
2025-03-03 20:39:53 -08:00
committed by GitHub
3 changed files with 54 additions and 18 deletions

View File

@@ -37,6 +37,7 @@
let landingPageMode = '';
let chatBubble = true;
let chatDirection: 'LTR' | 'RTL' = 'LTR';
let alternativeEnterBehavior = false;
let imageCompression = false;
let imageCompressionSize = {
@@ -193,6 +194,11 @@
saveSettings({ chatDirection });
};
const toggleAlternativeEnterBehavior = async () => {
alternativeEnterBehavior = !alternativeEnterBehavior;
saveSettings({ alternativeEnterBehavior });
};
const updateInterfaceHandler = async () => {
saveSettings({
models: [defaultModelId],
@@ -232,6 +238,7 @@
notificationSound = $settings.notificationSound ?? true;
hapticFeedback = $settings.hapticFeedback ?? false;
alternativeEnterBehavior = $settings.alternativeEnterBehavior ?? false;
imageCompression = $settings.imageCompression ?? false;
imageCompressionSize = $settings.imageCompressionSize ?? { width: '', height: '' };
@@ -652,6 +659,32 @@
</div>
</div> -->
<div>
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs">
{$i18n.t('Enter Key Behavior')}
</div>
<button
class="p-1 px-3 text-xs flex rounded transition"
class:bg-gray-100={alternativeEnterBehavior}
class:dark:bg-gray-800={alternativeEnterBehavior}
class:hover:bg-gray-200={alternativeEnterBehavior}
class:dark:hover:bg-gray-700={alternativeEnterBehavior}
on:click={() => {
toggleAlternativeEnterBehavior();
}}
type="button"
>
{#if alternativeEnterBehavior === true}
<span class="ml-2 self-center">{$i18n.t('Ctrl+Enter to Send')}</span>
{:else}
<span class="ml-2 self-center">{$i18n.t('Enter to Send')}</span>
{/if}
</button>
</div>
</div>
<div>
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs">