|
@@ -16,6 +16,7 @@
|
|
|
import Personalization from './Settings/Personalization.svelte';
|
|
|
import { updateUserSettings } from '$lib/apis/users';
|
|
|
import { goto } from '$app/navigation';
|
|
|
+ import Valves from './Settings/Valves.svelte';
|
|
|
|
|
|
const i18n = getContext('i18n');
|
|
|
|
|
@@ -65,8 +66,8 @@
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'general'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={() => {
|
|
|
selectedTab = 'general';
|
|
|
}}
|
|
@@ -91,8 +92,8 @@
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'interface'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={() => {
|
|
|
selectedTab = 'interface';
|
|
|
}}
|
|
@@ -117,8 +118,8 @@
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'personalization'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={() => {
|
|
|
selectedTab = 'personalization';
|
|
|
}}
|
|
@@ -132,8 +133,8 @@
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'audio'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={() => {
|
|
|
selectedTab = 'audio';
|
|
|
}}
|
|
@@ -156,11 +157,35 @@
|
|
|
<div class=" self-center">{$i18n.t('Audio')}</div>
|
|
|
</button>
|
|
|
|
|
|
+ <button
|
|
|
+ class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
+ 'valves'
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
+ on:click={() => {
|
|
|
+ selectedTab = 'valves';
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <div class=" self-center mr-2">
|
|
|
+ <svg
|
|
|
+ xmlns="http://www.w3.org/2000/svg"
|
|
|
+ viewBox="0 0 24 24"
|
|
|
+ fill="currentColor"
|
|
|
+ class="size-4"
|
|
|
+ >
|
|
|
+ <path
|
|
|
+ d="M18.75 12.75h1.5a.75.75 0 0 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5ZM12 6a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 12 6ZM12 18a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 12 18ZM3.75 6.75h1.5a.75.75 0 1 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5ZM5.25 18.75h-1.5a.75.75 0 0 1 0-1.5h1.5a.75.75 0 0 1 0 1.5ZM3 12a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 3 12ZM9 3.75a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5ZM12.75 12a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0ZM9 15.75a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Z"
|
|
|
+ />
|
|
|
+ </svg>
|
|
|
+ </div>
|
|
|
+ <div class=" self-center">{$i18n.t('Valves')}</div>
|
|
|
+ </button>
|
|
|
+
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'chats'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={() => {
|
|
|
selectedTab = 'chats';
|
|
|
}}
|
|
@@ -185,8 +210,8 @@
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'account'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={() => {
|
|
|
selectedTab = 'account';
|
|
|
}}
|
|
@@ -212,8 +237,8 @@
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'admin'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={async () => {
|
|
|
await goto('/admin/settings');
|
|
|
show = false;
|
|
@@ -240,8 +265,8 @@
|
|
|
<button
|
|
|
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
|
|
'about'
|
|
|
- ? 'bg-gray-200 dark:bg-gray-700'
|
|
|
- : ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
|
|
+ ? 'bg-gray-200 dark:bg-gray-800'
|
|
|
+ : ' hover:bg-gray-100 dark:hover:bg-gray-850'}"
|
|
|
on:click={() => {
|
|
|
selectedTab = 'about';
|
|
|
}}
|
|
@@ -293,6 +318,13 @@
|
|
|
toast.success($i18n.t('Settings saved successfully!'));
|
|
|
}}
|
|
|
/>
|
|
|
+ {:else if selectedTab === 'valves'}
|
|
|
+ <Valves
|
|
|
+ {saveSettings}
|
|
|
+ on:save={() => {
|
|
|
+ toast.success($i18n.t('Settings saved successfully!'));
|
|
|
+ }}
|
|
|
+ />
|
|
|
{:else if selectedTab === 'chats'}
|
|
|
<Chats {saveSettings} />
|
|
|
{:else if selectedTab === 'account'}
|