This commit is contained in:
Timothy Jaeryang Baek
2026-07-14 04:15:20 -04:00
parent a7fbf66269
commit aedb6bef4e
208 changed files with 1056 additions and 1066 deletions
@@ -47,7 +47,7 @@
<div id="tab-about" class="flex flex-col h-full justify-between space-y-3 text-sm">
<div class=" space-y-3 overflow-y-scroll max-h-[28rem] md:max-h-full">
<div>
<div class=" mb-2.5 text-sm font-medium flex space-x-2 items-center">
<div class=" mb-2.5 text-sm font-normal flex space-x-2 items-center">
<div>
{$WEBUI_NAME}
{$i18n.t('Version')}
@@ -86,7 +86,7 @@
{#if $config?.features?.enable_version_update_check}
<button
class=" text-xs px-3 py-1.5 bg-gray-100 hover:bg-gray-200 dark:bg-gray-850 dark:hover:bg-gray-800 transition rounded-lg font-medium"
class=" text-xs px-3 py-1.5 bg-gray-100 hover:bg-gray-200 dark:bg-gray-850 dark:hover:bg-gray-800 transition rounded-lg font-normal"
on:click={() => {
checkForVersionUpdates();
}}
@@ -101,7 +101,7 @@
<hr class=" border-gray-100/30 dark:border-gray-850/30" />
<div>
<div class=" mb-2.5 text-sm font-medium">{$i18n.t('Ollama Version')}</div>
<div class=" mb-2.5 text-sm font-normal">{$i18n.t('Ollama Version')}</div>
<div class="flex w-full">
<div class="flex-1 text-xs text-gray-700 dark:text-gray-200">
{ollamaVersion ?? 'N/A'}
@@ -115,7 +115,7 @@
{#if $config?.license_metadata}
<div class="mb-2 text-xs">
{#if !$WEBUI_NAME.includes('Open WebUI')}
<span class=" text-gray-500 dark:text-gray-300 font-medium">{$WEBUI_NAME}</span> -
<span class=" text-gray-500 dark:text-gray-300 font-normal">{$WEBUI_NAME}</span> -
{/if}
<span class=" capitalize">{$config?.license_metadata?.type}</span> license purchased by
@@ -167,7 +167,7 @@
<div class="mt-2 text-xs text-gray-400 dark:text-gray-500">
{$i18n.t('Created by')}
<a
class=" text-gray-500 dark:text-gray-300 font-medium"
class=" text-gray-500 dark:text-gray-300 font-normal"
href="https://github.com/tjbck"
target="_blank">Timothy J. Baek</a
>
+14 -14
View File
@@ -128,14 +128,14 @@
<div class=" overflow-y-scroll max-h-[28rem] md:max-h-full">
<div class="space-y-1">
<div>
<div class="text-base font-medium">{$i18n.t('Your Account')}</div>
<div class="text-base font-normal">{$i18n.t('Your Account')}</div>
<div class="text-xs text-gray-500 mt-0.5">
{$i18n.t('Manage your account information.')}
</div>
</div>
<!-- <div class=" text-sm font-medium">{$i18n.t('Account')}</div> -->
<!-- <div class=" text-sm font-normal">{$i18n.t('Account')}</div> -->
<div class="flex space-x-5 my-4">
<UserProfileImage bind:profileImageUrl user={$user} />
@@ -143,7 +143,7 @@
<div class="flex flex-1 flex-col">
<div class=" flex-1">
<div class="flex flex-col w-full">
<div class=" mb-1 text-xs font-medium">{$i18n.t('Name')}</div>
<div class=" mb-1 text-xs font-normal">{$i18n.t('Name')}</div>
<div class="flex-1">
<input
@@ -158,7 +158,7 @@
</div>
<div class="flex flex-col w-full mt-2">
<div class=" mb-1 text-xs font-medium">{$i18n.t('Bio')}</div>
<div class=" mb-1 text-xs font-normal">{$i18n.t('Bio')}</div>
<div class="flex-1">
<Textarea
@@ -172,7 +172,7 @@
</div>
<div class="flex flex-col w-full mt-2">
<div class=" mb-1 text-xs font-medium">{$i18n.t('Gender')}</div>
<div class=" mb-1 text-xs font-normal">{$i18n.t('Gender')}</div>
<div class="flex-1">
<select
@@ -210,7 +210,7 @@
</div>
<div class="flex flex-col w-full mt-2">
<div class=" mb-1 text-xs font-medium">{$i18n.t('Birth Date')}</div>
<div class=" mb-1 text-xs font-normal">{$i18n.t('Birth Date')}</div>
<div class="flex-1">
<input
@@ -230,7 +230,7 @@
{#if $config?.features?.enable_user_webhooks && ($user?.role === 'admin' || ($user?.permissions?.features?.webhooks ?? false))}
<div class="mt-2">
<div class="flex flex-col w-full">
<div class=" mb-1 text-xs font-medium">{$i18n.t('Notification Webhook')}</div>
<div class=" mb-1 text-xs font-normal">{$i18n.t('Notification Webhook')}</div>
<div class="flex-1">
<input
@@ -256,9 +256,9 @@
{#if ($config?.features?.enable_api_keys ?? true) && ($user?.role === 'admin' || ($user?.permissions?.features?.api_keys ?? false))}
<div class="flex justify-between items-center text-sm mt-2">
<div class=" font-medium">{$i18n.t('API keys')}</div>
<div class=" font-normal">{$i18n.t('API keys')}</div>
<button
class=" text-xs font-medium text-gray-500"
class=" text-xs font-normal text-gray-500"
type="button"
on:click={() => {
showAPIKeys = !showAPIKeys;
@@ -271,7 +271,7 @@
{#if $user?.role === 'admin'}
<div class="justify-between w-full mt-2">
<div class="flex justify-between w-full">
<div class="self-center text-xs font-medium mb-1">{$i18n.t('JWT Token')}</div>
<div class="self-center text-xs font-normal mb-1">{$i18n.t('JWT Token')}</div>
</div>
<div class="flex">
@@ -329,7 +329,7 @@
<div class="justify-between w-full mt-2">
{#if $user?.role === 'admin'}
<div class="flex justify-between w-full">
<div class="self-center text-xs font-medium mb-1">{$i18n.t('API Key')}</div>
<div class="self-center text-xs font-normal mb-1">{$i18n.t('API Key')}</div>
</div>
{/if}
<div class="flex">
@@ -407,7 +407,7 @@
</Tooltip>
{:else}
<button
class="flex gap-1.5 items-center font-medium px-3.5 py-1.5 rounded-lg bg-gray-100/70 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-850 transition"
class="flex gap-1.5 items-center font-normal px-3.5 py-1.5 rounded-lg bg-gray-100/70 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-850 transition"
on:click={() => {
createAPIKeyHandler();
}}
@@ -425,9 +425,9 @@
{/if}
</div>
<div class="flex justify-end pt-3 text-sm font-medium">
<div class="flex justify-end pt-3 text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
on:click={async () => {
const res = await submitHandler();
@@ -44,9 +44,9 @@
}}
>
<div class="flex justify-between items-center text-sm">
<div class=" font-medium">{$i18n.t('Change Password')}</div>
<div class=" font-normal">{$i18n.t('Change Password')}</div>
<button
class=" text-xs font-medium text-gray-500"
class=" text-xs font-normal text-gray-500"
type="button"
on:click={() => {
show = !show;
@@ -104,7 +104,7 @@
<div class="mt-3 flex justify-end">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
>
{$i18n.t('Update password')}
</button>
+16 -16
View File
@@ -177,11 +177,11 @@
>
<div class=" space-y-3 overflow-y-scroll max-h-[28rem] md:max-h-full">
<div>
<div class=" mb-1 text-sm font-medium">{$i18n.t('STT Settings')}</div>
<div class=" mb-1 text-sm font-normal">{$i18n.t('STT Settings')}</div>
{#if $config.audio.stt.engine !== 'web'}
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Speech-to-Text Engine')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Speech-to-Text Engine')}</div>
<div class="flex items-center relative">
<select
class="w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"
@@ -196,7 +196,7 @@
</div>
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Language')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Language')}</div>
<div class="flex items-center relative text-xs px-3">
<Tooltip
@@ -218,7 +218,7 @@
{/if}
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">
<div class=" self-center text-xs font-normal">
{$i18n.t('Instant Auto-Send After Voice Transcription')}
</div>
@@ -241,10 +241,10 @@
</div>
<div>
<div class=" mb-1 text-sm font-medium">{$i18n.t('TTS Settings')}</div>
<div class=" mb-1 text-sm font-normal">{$i18n.t('TTS Settings')}</div>
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Text-to-Speech Engine')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Text-to-Speech Engine')}</div>
<div class="flex items-center relative">
<select
class="w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"
@@ -260,7 +260,7 @@
{#if TTSEngine === 'browser-kokoro'}
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Kokoro.js Dtype')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Kokoro.js Dtype')}</div>
<div class="flex items-center relative">
<select
class="w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"
@@ -279,7 +279,7 @@
{/if}
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Auto-Playback Response')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Auto-Playback Response')}</div>
<button
class="p-1 px-3 text-xs flex rounded-sm transition"
@@ -299,7 +299,7 @@
</div>
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Speech Playback Speed')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Speech Playback Speed')}</div>
<div class="flex items-center relative text-xs px-3">
<input
@@ -320,7 +320,7 @@
{#if TTSEngine === 'browser-kokoro'}
{#if TTSModel}
<div>
<div class=" mb-2.5 text-sm font-medium">{$i18n.t('Set Voice')}</div>
<div class=" mb-2.5 text-sm font-normal">{$i18n.t('Set Voice')}</div>
<div class="flex w-full">
<div class="flex-1">
<input
@@ -341,10 +341,10 @@
</div>
{:else}
<div>
<div class=" mb-2.5 text-sm font-medium flex gap-2 items-center">
<div class=" mb-2.5 text-sm font-normal flex gap-2 items-center">
<Spinner className="size-4" />
<div class=" text-sm font-medium shimmer">
<div class=" text-sm font-normal shimmer">
{$i18n.t('Loading Kokoro.js...')}
{TTSModelProgress && TTSModelProgress.status === 'progress'
? `(${Math.round(TTSModelProgress.progress * 10) / 10}%)`
@@ -359,7 +359,7 @@
{/if}
{:else if $config.audio.tts.engine === ''}
<div>
<div class=" mb-2.5 text-sm font-medium">{$i18n.t('Set Voice')}</div>
<div class=" mb-2.5 text-sm font-normal">{$i18n.t('Set Voice')}</div>
<div class="flex w-full">
<div class="flex-1">
<select
@@ -390,7 +390,7 @@
</div>
{:else if $config.audio.tts.engine !== ''}
<div>
<div class=" mb-2.5 text-sm font-medium">{$i18n.t('Set Voice')}</div>
<div class=" mb-2.5 text-sm font-normal">{$i18n.t('Set Voice')}</div>
<div class="flex w-full">
<div class="flex-1">
<input
@@ -412,9 +412,9 @@
{/if}
</div>
<div class="flex justify-end text-sm font-medium">
<div class="flex justify-end text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -82,7 +82,7 @@
<div class="pr-1.5">
<div class="">
<div class="flex justify-between items-center mb-0.5">
<div class="font-medium">{$i18n.t('Manage Direct Connections')}</div>
<div class="font-normal">{$i18n.t('Manage Direct Connections')}</div>
<Tooltip content={$i18n.t(`Add Connection`)}>
<button
@@ -151,9 +151,9 @@
{/if}
</div>
<div class="flex justify-end pt-3 text-sm font-medium">
<div class="flex justify-end pt-3 text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -169,7 +169,7 @@
/>
<div>
<div class="mb-1 text-sm font-medium">{$i18n.t('Chats')}</div>
<div class="mb-1 text-sm font-normal">{$i18n.t('Chats')}</div>
{#if $user?.role === 'admin' || ($user.permissions?.chat?.import ?? true)}
<div>
@@ -267,7 +267,7 @@
</div>
<div>
<div class="mb-1 text-sm font-medium">{$i18n.t('Files')}</div>
<div class="mb-1 text-sm font-normal">{$i18n.t('Files')}</div>
<div>
<div class="py-0.5 flex w-full justify-between">
+10 -10
View File
@@ -208,10 +208,10 @@
<div class="flex flex-col h-full justify-between text-sm" id="tab-general">
<div class=" overflow-y-scroll max-h-[28rem] md:max-h-full">
<div class="">
<div class=" mb-1 text-sm font-medium">{$i18n.t('WebUI Settings')}</div>
<div class=" mb-1 text-sm font-normal">{$i18n.t('WebUI Settings')}</div>
<div class="flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Theme')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Theme')}</div>
<div class="flex items-center relative">
<select
class="w-fit pr-8 rounded-sm py-2 px-2 text-xs bg-transparent text-right {$settings.highContrastMode
@@ -233,7 +233,7 @@
</div>
<div class=" flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Language')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Language')}</div>
<div class="flex items-center relative">
<select
class="w-fit pr-8 rounded-sm py-2 px-2 text-xs bg-transparent text-right {$settings.highContrastMode
@@ -259,7 +259,7 @@
>
Couldn't find your language?
<a
class="font-medium underline {($settings?.highContrastMode ?? false)
class="font-normal underline {($settings?.highContrastMode ?? false)
? 'text-gray-700 dark:text-gray-200'
: 'text-gray-300'}"
href="https://github.com/open-webui/open-webui/blob/main/docs/CONTRIBUTING.md#-translations-and-internationalization"
@@ -272,7 +272,7 @@
<div>
<div class=" py-0.5 flex w-full justify-between">
<div class=" self-center text-xs font-medium">{$i18n.t('Notifications')}</div>
<div class=" self-center text-xs font-normal">{$i18n.t('Notifications')}</div>
<button
class="p-1 px-3 text-xs flex rounded-sm transition"
@@ -297,7 +297,7 @@
<hr class="border-gray-100/30 dark:border-gray-850/30 my-3" />
<div>
<div class=" my-2.5 text-sm font-medium">{$i18n.t('System Prompt')}</div>
<div class=" my-2.5 text-sm font-normal">{$i18n.t('System Prompt')}</div>
<Textarea
bind:value={system}
className={'w-full text-sm outline-hidden resize-vertical' +
@@ -313,9 +313,9 @@
{#if $user?.role === 'admin' || (($user?.permissions.chat?.controls ?? true) && ($user?.permissions.chat?.params ?? true))}
<div class="mt-2 space-y-3 pr-1.5">
<div class="flex justify-between items-center text-sm">
<div class=" font-medium">{$i18n.t('Advanced Parameters')}</div>
<div class=" font-normal">{$i18n.t('Advanced Parameters')}</div>
<button
class=" text-xs font-medium {($settings?.highContrastMode ?? false)
class=" text-xs font-normal {($settings?.highContrastMode ?? false)
? 'text-gray-800 dark:text-gray-100'
: 'text-gray-400 dark:text-gray-500'}"
type="button"
@@ -333,9 +333,9 @@
{/if}
</div>
<div class="flex justify-end pt-3 text-sm font-medium">
<div class="flex justify-end pt-3 text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
on:click={() => {
saveHandler();
}}
@@ -86,7 +86,7 @@
<div class="pr-1.5">
<div class="">
<div class="flex justify-between items-center mb-0.5">
<div class="font-medium">{$i18n.t('Manage Tool Servers')}</div>
<div class="font-normal">{$i18n.t('Manage Tool Servers')}</div>
<Tooltip content={$i18n.t('Add Connection')}>
<button
@@ -169,9 +169,9 @@
{/if}
</div>
<div class="flex justify-end pt-3 text-sm font-medium">
<div class="flex justify-end pt-3 text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -43,7 +43,7 @@
<div>
<div class="flex justify-between items-center mb-1">
<div class="flex items-center gap-2">
<div class="font-medium">{$i18n.t('Open Terminal')}</div>
<div class="font-normal">{$i18n.t('Open Terminal')}</div>
</div>
<Tooltip content={$i18n.t('Add Connection')}>
<button
@@ -337,7 +337,7 @@
<div class=" space-y-3 overflow-y-scroll max-h-[28rem] md:max-h-full">
<div>
<h1 class=" mb-2 text-sm font-medium">{$i18n.t('UI')}</h1>
<h1 class=" mb-2 text-sm font-normal">{$i18n.t('UI')}</h1>
<div>
<div class="py-0.5 flex w-full justify-between">
@@ -592,7 +592,7 @@
</div>
{/if}
<div class=" my-2 text-sm font-medium">{$i18n.t('Chat')}</div>
<div class=" my-2 text-sm font-normal">{$i18n.t('Chat')}</div>
<div>
<div class=" py-0.5 flex w-full justify-between">
@@ -1158,7 +1158,7 @@
</div>
</div>
<div class=" my-2 text-sm font-medium">{$i18n.t('Input')}</div>
<div class=" my-2 text-sm font-normal">{$i18n.t('Input')}</div>
<div>
<div class=" py-0.5 flex w-full justify-between">
@@ -1282,7 +1282,7 @@
</div>
</div>
<div class=" my-2 text-sm font-medium">{$i18n.t('Artifacts')}</div>
<div class=" my-2 text-sm font-normal">{$i18n.t('Artifacts')}</div>
<div>
<div class=" py-0.5 flex w-full justify-between">
@@ -1341,7 +1341,7 @@
</div>
</div>
<div class=" my-2 text-sm font-medium">{$i18n.t('Voice')}</div>
<div class=" my-2 text-sm font-normal">{$i18n.t('Voice')}</div>
<div>
<div class=" py-0.5 flex w-full justify-between">
@@ -1381,7 +1381,7 @@
</div>
</div>
<div class=" my-2 text-sm font-medium">{$i18n.t('File')}</div>
<div class=" my-2 text-sm font-normal">{$i18n.t('File')}</div>
<div>
<div class=" py-0.5 flex w-full justify-between">
@@ -1438,9 +1438,9 @@
</div>
</div>
<div class="flex justify-end text-sm font-medium">
<div class="flex justify-end text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -30,7 +30,7 @@
<Modal size="sm" bind:show>
<div>
<div class=" flex justify-between dark:text-gray-100 px-5 pt-4 pb-1.5">
<h1 class="text-lg font-medium self-center font-primary">
<h1 class="text-lg font-normal self-center ">
{$i18n.t('Quick Actions')}
</h1>
<button
@@ -55,7 +55,7 @@
>
<div>
<div class="text-xs flex items-center justify-between mb-2">
<div class="font-medium">{$i18n.t('Actions')}</div>
<div class="font-normal">{$i18n.t('Actions')}</div>
<div class="flex items-center gap-2 text-gray-700 dark:text-gray-300">
<button
@@ -169,9 +169,9 @@
{/if}
</div>
<div class="flex justify-end text-sm font-medium">
<div class="flex justify-end text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -26,7 +26,7 @@
<Modal size="sm" bind:show>
<div>
<div class=" flex justify-between dark:text-gray-100 px-5 pt-4 pb-1.5">
<h1 class="text-lg font-medium self-center font-primary">
<h1 class="text-lg font-normal self-center ">
{$i18n.t('Manage')}
</h1>
<button
@@ -93,9 +93,9 @@
</div>
</div>
<div class="flex justify-end text-sm font-medium">
<div class="flex justify-end text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -37,10 +37,10 @@
'This is an experimental feature, it may not function as expected and is subject to change at any time.'
)}
>
<div class="flex items-center gap-2 text-sm font-medium">
<div class="flex items-center gap-2 text-sm font-normal">
{$i18n.t('Memory')}
<span
class="text-[0.65rem] font-medium uppercase px-1.5 py-0.5 rounded-full bg-gray-100 dark:bg-gray-800 text-gray-500 dark:text-gray-400"
class="text-[0.65rem] font-normal uppercase px-1.5 py-0.5 rounded-full bg-gray-100 dark:bg-gray-800 text-gray-500 dark:text-gray-400"
>{$i18n.t('Experimental')}</span
>
</div>
@@ -68,7 +68,7 @@
<div class="mt-3 mb-1 ml-1">
<button
type="button"
class="px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"
class="px-3.5 py-1.5 font-normal hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"
on:click={() => {
showManageModal = true;
}}
@@ -78,9 +78,9 @@
</div>
</div>
<div class="flex justify-end text-sm font-medium">
<div class="flex justify-end text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -106,10 +106,10 @@
<div>
<div class="flex justify-between dark:text-gray-300 px-5 pt-4 pb-1">
<div class="flex items-center gap-2">
<div class="text-lg font-medium">{$i18n.t('Memory')}</div>
<div class="text-lg font-normal">{$i18n.t('Memory')}</div>
{#if !loading}
<div class="text-lg font-medium text-gray-500 dark:text-gray-500">
<div class="text-lg font-normal text-gray-500 dark:text-gray-500">
{memories.length}
</div>
{/if}
@@ -242,7 +242,7 @@
>
<button
class="px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-100 dark:outline-gray-800 rounded-3xl"
class="px-3.5 py-1.5 font-normal hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-100 dark:outline-gray-800 rounded-3xl"
on:click={() => {
selectedMemory = null;
showMemoryModal = true;
@@ -54,7 +54,7 @@
<Modal bind:show size="sm">
<div>
<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2">
<div class=" text-lg font-medium self-center">
<div class=" text-lg font-normal self-center">
{#if edit}
{$i18n.t('Edit Memory')}
{:else}
@@ -114,9 +114,9 @@
</div>
</div>
<div class="flex justify-end pt-1 text-sm font-medium">
<div class="flex justify-end pt-1 text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex items-center gap-2 whitespace-nowrap {loading
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex items-center gap-2 whitespace-nowrap {loading
? ' cursor-not-allowed'
: ''}"
type="submit"
@@ -318,7 +318,7 @@
<div class="w-full">
{#if completed}
<div class="px-5.5 py-5">
<div class="mb-1 text-xl font-medium">{$i18n.t('Sync Complete!')}</div>
<div class="mb-1 text-xl font-normal">{$i18n.t('Sync Complete!')}</div>
<div class="mb-3 text-xs text-gray-500">
{$i18n.t('Your usage stats have been successfully synced.')}
</div>
@@ -336,7 +336,7 @@
</div>
{:else if error}
<div class="px-5.5 py-5">
<div class="mb-1 text-xl font-medium">{$i18n.t('Sync Failed')}</div>
<div class="mb-1 text-xl font-normal">{$i18n.t('Sync Failed')}</div>
<div class="mb-3 text-xs text-gray-500">
{errorMessage || $i18n.t('There was an error syncing your stats. Please try again.')}
</div>
@@ -355,7 +355,7 @@
</div>
{:else}
<div class="flex justify-between px-5 pt-4 pb-0.5">
<div class="text-lg font-medium self-center">{$i18n.t('Sync Usage Stats')}</div>
<div class="text-lg font-normal self-center">{$i18n.t('Sync Usage Stats')}</div>
<button
class="self-center"
aria-label={$i18n.t('Close modal')}
@@ -380,7 +380,7 @@
</div>
<div class="mt-3 text-xs text-gray-500">
<div class="font-medium text-gray-900 dark:text-gray-100 mb-1">
<div class="font-normal text-gray-900 dark:text-gray-100 mb-1">
{$i18n.t('What is shared:')}
</div>
<ul class="list-disc list-inside space-y-0.5 ml-1 mb-2">
@@ -391,7 +391,7 @@
<li>{$i18n.t('User ratings (thumbs up/down)')}</li>
</ul>
<div class="font-medium text-gray-900 dark:text-gray-100 mb-1">
<div class="font-normal text-gray-900 dark:text-gray-100 mb-1">
{$i18n.t('What is NOT shared:')}
</div>
<ul class="list-disc list-inside space-y-0.5 ml-1">
@@ -465,7 +465,7 @@
</div>
<button
class="px-4 py-2 rounded-full text-sm font-medium bg-gray-100 hover:bg-gray-200 dark:bg-gray-800 dark:hover:bg-gray-700 text-gray-900 dark:text-gray-100 transition disabled:cursor-not-allowed"
class="px-4 py-2 rounded-full text-sm font-normal bg-gray-100 hover:bg-gray-200 dark:bg-gray-800 dark:hover:bg-gray-700 text-gray-900 dark:text-gray-100 transition disabled:cursor-not-allowed"
on:click={() => {
if (syncing) {
cancelOperation();
@@ -478,7 +478,7 @@
</button>
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition-colors rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition-colors rounded-full"
on:click={syncStats}
disabled={syncing}
>