|
@@ -37,6 +37,7 @@
|
|
let landingPageMode = '';
|
|
let landingPageMode = '';
|
|
let chatBubble = true;
|
|
let chatBubble = true;
|
|
let chatDirection: 'LTR' | 'RTL' = 'LTR';
|
|
let chatDirection: 'LTR' | 'RTL' = 'LTR';
|
|
|
|
+ let alternativeEnterBehavior = false;
|
|
|
|
|
|
let imageCompression = false;
|
|
let imageCompression = false;
|
|
let imageCompressionSize = {
|
|
let imageCompressionSize = {
|
|
@@ -193,6 +194,11 @@
|
|
saveSettings({ chatDirection });
|
|
saveSettings({ chatDirection });
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ const toggleAlternativeEnterBehavior = async () => {
|
|
|
|
+ alternativeEnterBehavior = !alternativeEnterBehavior;
|
|
|
|
+ saveSettings({ alternativeEnterBehavior });
|
|
|
|
+ };
|
|
|
|
+
|
|
const updateInterfaceHandler = async () => {
|
|
const updateInterfaceHandler = async () => {
|
|
saveSettings({
|
|
saveSettings({
|
|
models: [defaultModelId],
|
|
models: [defaultModelId],
|
|
@@ -232,6 +238,7 @@
|
|
notificationSound = $settings.notificationSound ?? true;
|
|
notificationSound = $settings.notificationSound ?? true;
|
|
|
|
|
|
hapticFeedback = $settings.hapticFeedback ?? false;
|
|
hapticFeedback = $settings.hapticFeedback ?? false;
|
|
|
|
+ alternativeEnterBehavior = $settings.alternativeEnterBehavior ?? false;
|
|
|
|
|
|
imageCompression = $settings.imageCompression ?? false;
|
|
imageCompression = $settings.imageCompression ?? false;
|
|
imageCompressionSize = $settings.imageCompressionSize ?? { width: '', height: '' };
|
|
imageCompressionSize = $settings.imageCompressionSize ?? { width: '', height: '' };
|
|
@@ -652,6 +659,32 @@
|
|
</div>
|
|
</div>
|
|
</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>
|
|
<div class=" py-0.5 flex w-full justify-between">
|
|
<div class=" py-0.5 flex w-full justify-between">
|
|
<div class=" self-center text-xs">
|
|
<div class=" self-center text-xs">
|