mirror of
https://github.com/open-webui/open-webui.git
synced 2026-10-11 03:38:02 +00:00
refac
This commit is contained in:
parent
10fdca6e36
commit
d4879a98bc
17 changed files with 687 additions and 595 deletions
|
|
@ -23,7 +23,7 @@
|
|||
const actionClass =
|
||||
'flex size-7 shrink-0 items-center justify-center rounded-lg text-gray-500 transition hover:bg-black/5 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-white/5 dark:hover:text-gray-200';
|
||||
const inputClass =
|
||||
'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] text-gray-700 outline-hidden placeholder:text-gray-300 dark:text-gray-300 dark:placeholder:text-gray-700';
|
||||
'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] outline-hidden placeholder:text-gray-300 dark:placeholder:text-gray-700 font-normal text-gray-900 dark:text-gray-100';
|
||||
|
||||
const keyFor = (label: string, items: object) => {
|
||||
let base = label
|
||||
|
|
@ -134,7 +134,9 @@
|
|||
|
||||
<div>
|
||||
<div class="flex h-7 w-full items-center justify-between">
|
||||
<span class="text-xs text-gray-600 dark:text-gray-400">{$i18n.t('Model controls')}</span>
|
||||
<span class="text-xs font-normal text-gray-600 dark:text-gray-400"
|
||||
>{$i18n.t('Model controls')}</span
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
class="rounded p-1 text-gray-500 transition hover:bg-black/5 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-white/5 dark:hover:text-gray-200"
|
||||
|
|
@ -159,7 +161,7 @@
|
|||
>
|
||||
<button
|
||||
type="button"
|
||||
class="flex min-w-0 flex-1 items-center justify-between gap-3 py-1 text-left text-[0.8125rem] text-gray-700 dark:text-gray-300"
|
||||
class="flex min-w-0 flex-1 items-center justify-between gap-3 py-1 text-left text-[0.8125rem] font-normal text-gray-900 dark:text-gray-100"
|
||||
aria-label={`${$i18n.t('Edit')} ${control.label}`}
|
||||
on:click={() => edit(key)}
|
||||
>
|
||||
|
|
@ -202,7 +204,8 @@
|
|||
<form class="space-y-2.5" on:submit|preventDefault|stopPropagation={apply}>
|
||||
<div class="grid grid-cols-[minmax(0,1fr)_minmax(0,8rem)] gap-4">
|
||||
<label class="block min-w-0 text-xs leading-4">
|
||||
<span class="text-xs text-gray-400 dark:text-gray-600">{$i18n.t('Name')}</span>
|
||||
<span class="text-xs font-normal text-gray-600 dark:text-gray-400">{$i18n.t('Name')}</span
|
||||
>
|
||||
<input
|
||||
bind:this={nameInput}
|
||||
class={inputClass}
|
||||
|
|
@ -213,7 +216,9 @@
|
|||
/>
|
||||
</label>
|
||||
<label class="block min-w-0 text-xs leading-4">
|
||||
<span class="text-xs text-gray-400 dark:text-gray-600">{$i18n.t('Default option')}</span>
|
||||
<span class="text-xs font-normal text-gray-600 dark:text-gray-400"
|
||||
>{$i18n.t('Default option')}</span
|
||||
>
|
||||
<NativeSelect
|
||||
value={defaultOption}
|
||||
options={[
|
||||
|
|
@ -228,11 +233,15 @@
|
|||
</label>
|
||||
</div>
|
||||
<label class="block text-xs leading-4">
|
||||
<span class="text-xs text-gray-400 dark:text-gray-600">{$i18n.t('Description')}</span>
|
||||
<span class="text-xs font-normal text-gray-600 dark:text-gray-400"
|
||||
>{$i18n.t('Description')}</span
|
||||
>
|
||||
<input class={inputClass} placeholder={$i18n.t('Optional')} bind:value={description} />
|
||||
</label>
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-xs text-gray-400 dark:text-gray-600">{$i18n.t('Display')}</span>
|
||||
<span class="text-xs font-normal text-gray-600 dark:text-gray-400"
|
||||
>{$i18n.t('Display')}</span
|
||||
>
|
||||
<div class="flex gap-1">
|
||||
{#each ['menu', 'slider'] as mode}
|
||||
<button
|
||||
|
|
@ -249,7 +258,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-xs text-gray-400 dark:text-gray-600">{$i18n.t('Options')}</span>
|
||||
<span class="text-xs font-normal text-gray-600 dark:text-gray-400"
|
||||
>{$i18n.t('Options')}</span
|
||||
>
|
||||
<div class="divide-y divide-gray-100/60 dark:divide-gray-850/60" use:sortable={moveOption}>
|
||||
{#each options as option, index (option.id)}
|
||||
<div class="py-1.5">
|
||||
|
|
|
|||
|
|
@ -108,8 +108,8 @@
|
|||
|
||||
<div
|
||||
class={layout === 'grid'
|
||||
? 'grid grid-cols-1 gap-x-5 gap-y-1 pb-safe-bottom text-xs text-gray-600 dark:text-gray-400 sm:grid-cols-2 lg:grid-cols-3'
|
||||
: 'space-y-1 pb-safe-bottom text-xs text-gray-600 dark:text-gray-400'}
|
||||
? 'grid grid-cols-1 gap-x-5 gap-y-1 pb-safe-bottom text-xs text-gray-900 dark:text-gray-100 sm:grid-cols-2 lg:grid-cols-3'
|
||||
: 'space-y-1 pb-safe-bottom text-xs text-gray-900 dark:text-gray-100'}
|
||||
>
|
||||
<div>
|
||||
<Tooltip
|
||||
|
|
@ -118,11 +118,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class=" py-0.5 flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.streamChatResponse.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => {
|
||||
params.stream_response =
|
||||
(params?.stream_response ?? null) === null
|
||||
|
|
@ -153,11 +153,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.streamDeltaChunkSize.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.stream_delta_chunk_size =
|
||||
|
|
@ -195,11 +195,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.contextCompactionThreshold.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.compact_token_threshold =
|
||||
|
|
@ -219,7 +219,7 @@
|
|||
<div class="flex mt-0.5 space-x-2">
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="number"
|
||||
aria-label={$i18n.t(
|
||||
'settings.personal.general.parameters.contextCompactionThreshold.label'
|
||||
|
|
@ -243,11 +243,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class=" py-0.5 flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.functionCalling.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => {
|
||||
if ((params?.function_calling ?? null) === null) {
|
||||
params.function_calling = 'native';
|
||||
|
|
@ -278,11 +278,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.reasoningTags.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
if ((params?.reasoning_tags ?? null) === null) {
|
||||
|
|
@ -313,7 +313,7 @@
|
|||
<div class="flex mt-0.5 space-x-2">
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="text"
|
||||
aria-label={$i18n.t('Start Tag')}
|
||||
placeholder={$i18n.t('Start Tag')}
|
||||
|
|
@ -324,7 +324,7 @@
|
|||
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="text"
|
||||
aria-label={$i18n.t('End Tag')}
|
||||
placeholder={$i18n.t('End Tag')}
|
||||
|
|
@ -343,12 +343,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.seed.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.seed = (params?.seed ?? null) === null ? 0 : null;
|
||||
|
|
@ -367,7 +367,7 @@
|
|||
<div class="flex mt-0.5 space-x-2">
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="number"
|
||||
aria-label={$i18n.t('settings.personal.general.parameters.seed.label')}
|
||||
placeholder={$i18n.t('Enter Seed')}
|
||||
|
|
@ -387,12 +387,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.stopSequence.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.stop = (params?.stop ?? null) === null ? '' : null;
|
||||
|
|
@ -411,7 +411,7 @@
|
|||
<div class="flex mt-0.5 space-x-2">
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="text"
|
||||
aria-label={$i18n.t('settings.personal.general.parameters.stopSequence.label')}
|
||||
placeholder={$i18n.t('Enter stop sequence')}
|
||||
|
|
@ -430,11 +430,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.temperature.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.temperature = (params?.temperature ?? null) === null ? 0.8 : null;
|
||||
|
|
@ -467,11 +467,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.reasoningEffort.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.reasoning_effort = (params?.reasoning_effort ?? null) === null ? 'medium' : null;
|
||||
|
|
@ -490,7 +490,7 @@
|
|||
<div class="flex mt-0.5 space-x-2">
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="text"
|
||||
aria-label={$i18n.t('settings.personal.general.parameters.reasoningEffort.label')}
|
||||
placeholder={$i18n.t('Enter reasoning effort')}
|
||||
|
|
@ -511,11 +511,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.logitBias.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.logit_bias = (params?.logit_bias ?? null) === null ? '' : null;
|
||||
|
|
@ -534,7 +534,7 @@
|
|||
<div class="flex mt-0.5 space-x-2">
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="text"
|
||||
aria-label={$i18n.t('settings.personal.general.parameters.logitBias.label')}
|
||||
placeholder={$i18n.t(
|
||||
|
|
@ -557,12 +557,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.maxTokens.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.max_tokens = (params?.max_tokens ?? null) === null ? 128 : null;
|
||||
|
|
@ -599,11 +599,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.topK.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.top_k = (params?.top_k ?? null) === null ? 40 : null;
|
||||
|
|
@ -657,12 +657,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.topP.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.top_p = (params?.top_p ?? null) === null ? 0.9 : null;
|
||||
|
|
@ -697,11 +697,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.minP.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.min_p = (params?.min_p ?? null) === null ? 0.0 : null;
|
||||
|
|
@ -736,12 +736,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.frequencyPenalty.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.frequency_penalty = (params?.frequency_penalty ?? null) === null ? 1.1 : null;
|
||||
|
|
@ -776,12 +776,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.presencePenalty.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded transition flex-shrink-0 outline-none"
|
||||
class="p-1 px-3 text-xs flex rounded transition flex-shrink-0 outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.presence_penalty = (params?.presence_penalty ?? null) === null ? 0.0 : null;
|
||||
|
|
@ -814,11 +814,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.mirostat.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.mirostat = (params?.mirostat ?? null) === null ? 0 : null;
|
||||
|
|
@ -854,11 +854,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.mirostatEta.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.mirostat_eta = (params?.mirostat_eta ?? null) === null ? 0.1 : null;
|
||||
|
|
@ -893,12 +893,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.mirostatTau.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.mirostat_tau = (params?.mirostat_tau ?? null) === null ? 5.0 : null;
|
||||
|
|
@ -931,12 +931,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.repeatLastN.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.repeat_last_n = (params?.repeat_last_n ?? null) === null ? 64 : null;
|
||||
|
|
@ -972,12 +972,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.tfsZ.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.tfs_z = (params?.tfs_z ?? null) === null ? 1 : null;
|
||||
|
|
@ -1012,12 +1012,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.repeatPenalty.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded transition flex-shrink-0 outline-none"
|
||||
class="p-1 px-3 text-xs flex rounded transition flex-shrink-0 outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.repeat_penalty = (params?.repeat_penalty ?? null) === null ? 1.1 : null;
|
||||
|
|
@ -1053,11 +1053,11 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.useMmap.label')}
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.use_mmap = (params?.use_mmap ?? null) === null ? true : null;
|
||||
|
|
@ -1096,12 +1096,12 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.useMlock.label')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.use_mlock = (params?.use_mlock ?? null) === null ? true : null;
|
||||
|
|
@ -1140,13 +1140,13 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class=" py-0.5 flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.think.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => {
|
||||
if ((params?.think ?? null) === null) {
|
||||
params.think = true;
|
||||
|
|
@ -1177,7 +1177,7 @@
|
|||
<div class="flex mt-0.5 space-x-2">
|
||||
<div class=" flex-1">
|
||||
<input
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none"
|
||||
class="text-sm w-full bg-transparent outline-hidden outline-none font-normal text-gray-900 dark:text-gray-100"
|
||||
type="text"
|
||||
aria-label={`${$i18n.t('settings.personal.general.parameters.think.label')} (${$i18n.t('settings.personal.general.parameters.ollama.label')})`}
|
||||
placeholder={$i18n.t("e.g. 'low', 'medium', 'high'")}
|
||||
|
|
@ -1196,13 +1196,13 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class=" py-0.5 flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.format.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => {
|
||||
params.format = (params?.format ?? null) === null ? 'json' : null;
|
||||
}}
|
||||
|
|
@ -1238,14 +1238,14 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.numKeep.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.num_keep = (params?.num_keep ?? null) === null ? 24 : null;
|
||||
|
|
@ -1280,14 +1280,14 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.numCtx.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.num_ctx = (params?.num_ctx ?? null) === null ? 2048 : null;
|
||||
|
|
@ -1324,14 +1324,14 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.numBatch.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.num_batch = (params?.num_batch ?? null) === null ? 512 : null;
|
||||
|
|
@ -1369,14 +1369,14 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.numThread.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.num_thread = (params?.num_thread ?? null) === null ? 2 : null;
|
||||
|
|
@ -1412,14 +1412,14 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class="flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.numGpu.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
params.num_gpu = (params?.num_gpu ?? null) === null ? 0 : null;
|
||||
|
|
@ -1455,13 +1455,13 @@
|
|||
className="inline-tooltip"
|
||||
>
|
||||
<div class=" py-0.5 flex w-full justify-between">
|
||||
<div class=" self-center text-xs">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.personal.general.parameters.keepAlive.label')} ({$i18n.t(
|
||||
'settings.personal.general.parameters.ollama.label'
|
||||
)})
|
||||
</div>
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition"
|
||||
class="p-1 px-3 text-xs flex rounded-sm transition font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => {
|
||||
params.keep_alive = (params?.keep_alive ?? null) === null ? '5m' : null;
|
||||
}}
|
||||
|
|
@ -1479,7 +1479,7 @@
|
|||
{#if (params?.keep_alive ?? null) !== null}
|
||||
<div class="flex mt-0.5 space-x-2">
|
||||
<input
|
||||
class="w-full text-sm bg-transparent outline-hidden"
|
||||
class="w-full text-sm bg-transparent outline-hidden font-normal text-gray-900 dark:text-gray-100"
|
||||
type="text"
|
||||
aria-label={`${$i18n.t('settings.personal.general.parameters.keepAlive.label')} (${$i18n.t('settings.personal.general.parameters.ollama.label')})`}
|
||||
placeholder={$i18n.t("e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.")}
|
||||
|
|
|
|||
|
|
@ -71,14 +71,14 @@
|
|||
: 'mb-1 grid grid-cols-[1fr_auto] items-center gap-y-0.5 py-0.5'}
|
||||
>
|
||||
<label class="min-w-0">
|
||||
{#if compact}<span class="block text-xs text-gray-400 dark:text-gray-600"
|
||||
{#if compact}<span class="block text-xs font-normal text-gray-600 dark:text-gray-400"
|
||||
>{$i18n.t('Parameter')}</span
|
||||
>{/if}
|
||||
<input
|
||||
type="text"
|
||||
class={compact
|
||||
? 'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] text-gray-700 outline-none placeholder:text-gray-300 dark:text-gray-300 dark:placeholder:text-gray-700'
|
||||
: 'min-w-0 w-full bg-transparent text-xs text-gray-400 dark:text-gray-600 outline-none'}
|
||||
? 'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] font-normal text-gray-900 outline-none placeholder:text-gray-300 dark:text-gray-100 dark:placeholder:text-gray-700'
|
||||
: 'min-w-0 w-full bg-transparent text-xs font-normal text-gray-900 dark:text-gray-100 outline-none'}
|
||||
aria-label={$i18n.t('Custom Parameter Name')}
|
||||
list={`${id}-names`}
|
||||
autocomplete="off"
|
||||
|
|
@ -99,14 +99,14 @@
|
|||
/>
|
||||
</label>
|
||||
<label class={compact ? 'min-w-0' : 'order-last col-span-2'}>
|
||||
{#if compact}<span class="block text-xs text-gray-400 dark:text-gray-600"
|
||||
{#if compact}<span class="block text-xs font-normal text-gray-600 dark:text-gray-400"
|
||||
>{$i18n.t('Value')}</span
|
||||
>{/if}
|
||||
<input
|
||||
type="text"
|
||||
class={compact
|
||||
? 'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] text-gray-700 outline-none placeholder:text-gray-300 dark:text-gray-300 dark:placeholder:text-gray-700'
|
||||
: 'w-full min-w-0 bg-transparent text-[0.8125rem] text-gray-700 dark:text-gray-300 outline-none'}
|
||||
? 'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] font-normal text-gray-900 outline-none placeholder:text-gray-300 dark:text-gray-100 dark:placeholder:text-gray-700'
|
||||
: 'w-full min-w-0 bg-transparent text-[0.8125rem] font-normal text-gray-900 dark:text-gray-100 outline-none'}
|
||||
aria-label={$i18n.t('Custom Parameter Value')}
|
||||
list={options.length ? `${id}-values-${index}` : undefined}
|
||||
autocomplete="off"
|
||||
|
|
|
|||
|
|
@ -34,7 +34,9 @@
|
|||
{#if actions.length > 0}
|
||||
<div>
|
||||
<div class="flex w-full items-center gap-2 mb-1">
|
||||
<div class=" self-center text-xs text-gray-500">{$i18n.t('Actions')}</div>
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Actions')}
|
||||
</div>
|
||||
|
||||
{#if selectableActions.length > 0}
|
||||
<TypeaheadSelector
|
||||
|
|
@ -77,7 +79,7 @@
|
|||
/>
|
||||
</div>
|
||||
|
||||
<div class=" py-0.5 text-xs capitalize">
|
||||
<div class="py-0.5 text-xs capitalize font-normal text-gray-900 dark:text-gray-100">
|
||||
<Tooltip
|
||||
content={resolveLocalizedResource(action, $i18n.language, 'description') ||
|
||||
action.id}
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
</script>
|
||||
|
||||
<div>
|
||||
<div class="mb-1.5 text-xs text-gray-400 dark:text-gray-600">
|
||||
<div class="mb-1.5 text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.admin.models.builtinTools.title')}
|
||||
</div>
|
||||
<div class="grid grid-cols-1 gap-x-5 gap-y-1 sm:grid-cols-2 lg:grid-cols-3">
|
||||
|
|
@ -110,7 +110,7 @@
|
|||
/>
|
||||
<button
|
||||
type="button"
|
||||
class="min-w-0 cursor-pointer text-left text-xs text-gray-600 dark:text-gray-400"
|
||||
class="min-w-0 cursor-pointer text-left text-xs font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => setBuiltinTool(tool, builtinTools[tool] === false)}
|
||||
>
|
||||
<Tooltip
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
</script>
|
||||
|
||||
<div>
|
||||
<div class="mb-1.5 text-xs text-gray-400 dark:text-gray-600">
|
||||
<div class="mb-1.5 text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.admin.models.capabilities.title')}
|
||||
</div>
|
||||
<div class="grid grid-cols-1 gap-x-5 gap-y-1 sm:grid-cols-2 lg:grid-cols-3">
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
/>
|
||||
<button
|
||||
type="button"
|
||||
class="min-w-0 cursor-pointer text-left text-xs text-gray-600 dark:text-gray-400"
|
||||
class="min-w-0 cursor-pointer text-left text-xs font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => setCapability(capability, !capabilities[capability])}
|
||||
>
|
||||
<Tooltip
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
</script>
|
||||
|
||||
<div>
|
||||
<div class="mb-1.5 text-xs text-gray-400 dark:text-gray-600">
|
||||
<div class="mb-1.5 text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('settings.admin.models.defaultFeatures.title')}
|
||||
</div>
|
||||
<div class="grid grid-cols-1 gap-x-5 gap-y-1 sm:grid-cols-2 lg:grid-cols-3">
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
/>
|
||||
<button
|
||||
type="button"
|
||||
class="min-w-0 cursor-pointer text-left text-xs text-gray-600 dark:text-gray-400"
|
||||
class="min-w-0 cursor-pointer text-left text-xs font-normal text-gray-900 dark:text-gray-100"
|
||||
on:click={() => setFeature(feature, !featureIds.includes(feature))}
|
||||
>
|
||||
<Tooltip
|
||||
|
|
|
|||
|
|
@ -28,7 +28,9 @@
|
|||
|
||||
<div>
|
||||
<div class="flex w-full items-center gap-2 mb-1">
|
||||
<div class=" self-center text-xs text-gray-500">{$i18n.t('Default Filters')}</div>
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Default Filters')}
|
||||
</div>
|
||||
|
||||
{#if filters.length > 0}
|
||||
<TypeaheadSelector
|
||||
|
|
@ -76,7 +78,7 @@
|
|||
/>
|
||||
</div>
|
||||
|
||||
<div class=" py-0.5 text-xs capitalize">
|
||||
<div class="py-0.5 text-xs capitalize font-normal text-gray-900 dark:text-gray-100">
|
||||
<Tooltip content={filter.meta?.description ?? filter.id}>
|
||||
{filter.name}
|
||||
</Tooltip>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,9 @@
|
|||
{#if filters.length > 0}
|
||||
<div>
|
||||
<div class="flex w-full items-center gap-2 mb-1">
|
||||
<div class=" self-center text-xs text-gray-500">{$i18n.t('Filters')}</div>
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Filters')}
|
||||
</div>
|
||||
|
||||
{#if selectableFilters.length > 0}
|
||||
<TypeaheadSelector
|
||||
|
|
@ -85,7 +87,7 @@
|
|||
/>
|
||||
</div>
|
||||
|
||||
<div class=" py-0.5 text-xs capitalize">
|
||||
<div class="py-0.5 text-xs capitalize font-normal text-gray-900 dark:text-gray-100">
|
||||
<Tooltip
|
||||
content={resolveLocalizedResource(filter, $i18n.language, 'description') ||
|
||||
filter.id}
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@
|
|||
<div class="flex w-full items-center gap-2 mb-1">
|
||||
<div class="min-w-0">
|
||||
<slot name="label">
|
||||
<div class=" self-center text-xs text-gray-500">
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Knowledge')}
|
||||
</div>
|
||||
</slot>
|
||||
|
|
@ -228,7 +228,7 @@
|
|||
{#each selectedItems as file, fileIdx}
|
||||
<Tooltip content={file.description || file.name || file.id}>
|
||||
<div
|
||||
class="flex max-w-56 items-center gap-1.5 py-0.5 pr-2 text-xs text-gray-700 dark:text-gray-200"
|
||||
class="flex max-w-56 items-center gap-1.5 py-0.5 pr-2 text-xs font-normal text-gray-900 dark:text-gray-100"
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
<span
|
||||
slot="label"
|
||||
title={localeLabel}
|
||||
class="flex flex-wrap items-center gap-x-3 gap-y-1 text-[0.6875rem] text-gray-400 dark:text-gray-600"
|
||||
class="flex flex-wrap items-center gap-x-3 gap-y-1 text-[0.6875rem] text-gray-900 dark:text-gray-100"
|
||||
>
|
||||
{#if hasCustomLocalePrompts}
|
||||
<button
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<div class="space-y-2">
|
||||
<div class="mb-1 flex min-h-7 w-full flex-wrap items-center justify-between gap-x-2 gap-y-1">
|
||||
<div class="min-w-fit flex-1 self-center text-xs text-gray-500 dark:text-gray-400">
|
||||
<div class="min-w-fit flex-1 self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
<slot name="label">{$i18n.t('Default Prompt Suggestions')}</slot>
|
||||
</div>
|
||||
|
||||
|
|
@ -163,7 +163,7 @@
|
|||
<div class="grid min-w-0 gap-1 md:grid-cols-2 md:gap-1.5">
|
||||
<Tooltip content={$i18n.t('e.g. Tell me a fun fact')} placement="top-start">
|
||||
<input
|
||||
class="w-full bg-transparent text-[0.8125rem] leading-5 text-gray-700 outline-hidden placeholder:text-gray-300 dark:text-gray-200 dark:placeholder:text-gray-700"
|
||||
class="w-full bg-transparent text-[0.8125rem] leading-5 outline-hidden placeholder:text-gray-300 dark:placeholder:text-gray-700 font-normal text-gray-900 dark:text-gray-100"
|
||||
placeholder={$i18n.t('Title')}
|
||||
aria-label={$i18n.t('Title')}
|
||||
value={prompt.title[0]}
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
|
||||
<Tooltip content={$i18n.t('e.g. about the Roman Empire')} placement="top-start">
|
||||
<input
|
||||
class="w-full bg-transparent text-[0.8125rem] leading-5 text-gray-500 outline-hidden placeholder:text-gray-300 dark:text-gray-500 dark:placeholder:text-gray-700"
|
||||
class="w-full bg-transparent text-[0.8125rem] leading-5 outline-hidden placeholder:text-gray-300 dark:placeholder:text-gray-700 font-normal text-gray-900 dark:text-gray-100"
|
||||
placeholder={$i18n.t('Subtitle')}
|
||||
aria-label={$i18n.t('Subtitle')}
|
||||
value={prompt.title[1]}
|
||||
|
|
@ -194,7 +194,7 @@
|
|||
placement="top-start"
|
||||
>
|
||||
<textarea
|
||||
class="min-h-5 w-full resize-none overflow-hidden bg-transparent text-[0.8125rem] leading-5 text-gray-700 outline-hidden placeholder:text-gray-300 dark:text-gray-200 dark:placeholder:text-gray-700"
|
||||
class="min-h-5 w-full resize-none overflow-hidden bg-transparent text-[0.8125rem] leading-5 outline-hidden placeholder:text-gray-300 dark:placeholder:text-gray-700 font-normal text-gray-900 dark:text-gray-100"
|
||||
placeholder={$i18n.t('Content')}
|
||||
aria-label={$i18n.t('Content')}
|
||||
rows="1"
|
||||
|
|
|
|||
|
|
@ -29,7 +29,9 @@
|
|||
|
||||
<div>
|
||||
<div class="flex w-full items-center gap-2 mb-1">
|
||||
<div class=" self-center text-xs text-gray-500">{$i18n.t('Skills')}</div>
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Skills')}
|
||||
</div>
|
||||
|
||||
{#if activeSkills.length > 0}
|
||||
<TypeaheadSelector
|
||||
|
|
@ -72,7 +74,7 @@
|
|||
<Tooltip
|
||||
content={resolveLocalizedResource(skill, $i18n.language, 'description') || skill.id}
|
||||
>
|
||||
<div class=" py-0.5 text-xs capitalize">
|
||||
<div class="py-0.5 text-xs capitalize font-normal text-gray-900 dark:text-gray-100">
|
||||
{resolveLocalizedResource(skill, $i18n.language)}
|
||||
</div>
|
||||
</Tooltip>
|
||||
|
|
|
|||
|
|
@ -15,11 +15,13 @@
|
|||
|
||||
{#if terminals.length > 0}
|
||||
<div class="flex w-full justify-between mb-1">
|
||||
<div class="self-center text-xs font-normal text-gray-500">{$i18n.t('Terminal')}</div>
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Terminal')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<select
|
||||
class="block h-5 w-full py-0 text-xs leading-5 bg-transparent outline-hidden cursor-pointer"
|
||||
class="block h-5 w-full py-0 text-xs leading-5 bg-transparent outline-hidden cursor-pointer font-normal text-gray-900 dark:text-gray-100"
|
||||
bind:value={terminalId}
|
||||
>
|
||||
<option value="">{$i18n.t('None')}</option>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,9 @@
|
|||
|
||||
<div>
|
||||
<div class="flex w-full items-center gap-2 mb-1">
|
||||
<div class=" self-center text-xs text-gray-500">{$i18n.t('Tools')}</div>
|
||||
<div class="self-center text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Tools')}
|
||||
</div>
|
||||
|
||||
{#if tools.length > 0}
|
||||
<TypeaheadSelector
|
||||
|
|
@ -70,7 +72,7 @@
|
|||
<Tooltip
|
||||
content={resolveLocalizedResource(tool, $i18n.language, 'description') || tool.id}
|
||||
>
|
||||
<div class=" py-0.5 text-xs capitalize">
|
||||
<div class="py-0.5 text-xs capitalize font-normal text-gray-900 dark:text-gray-100">
|
||||
{resolveLocalizedResource(tool, $i18n.language)}
|
||||
</div>
|
||||
</Tooltip>
|
||||
|
|
|
|||
|
|
@ -33,8 +33,12 @@
|
|||
|
||||
<div class="my-3 flex items-center justify-between gap-3">
|
||||
<div>
|
||||
<div class="mb-1 text-xs text-gray-500">{$i18n.t('Voice avatar')}</div>
|
||||
<div class="text-xs leading-5">{value ? $i18n.t('Custom avatar') : $i18n.t('Default orb')}</div>
|
||||
<div class="mb-1 text-xs font-normal text-gray-600 dark:text-gray-400">
|
||||
{$i18n.t('Voice avatar')}
|
||||
</div>
|
||||
<div class="text-xs leading-5 font-normal text-gray-900 dark:text-gray-100">
|
||||
{value ? $i18n.t('Custom avatar') : $i18n.t('Default orb')}
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue