1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <script lang="ts">
- import { getContext, tick } from 'svelte';
- const i18n = getContext('i18n');
- import Tooltip from '$lib/components/common/Tooltip.svelte';
- import SensitiveInput from '$lib/components/common/SensitiveInput.svelte';
- import AddConnectionModal from './AddConnectionModal.svelte';
- import Cog6 from '$lib/components/icons/Cog6.svelte';
- import Wrench from '$lib/components/icons/Wrench.svelte';
- import ManageOllamaModal from './ManageOllamaModal.svelte';
- export let onDelete = () => {};
- export let onSubmit = () => {};
- export let url = '';
- export let idx = 0;
- export let config = {};
- let showManageModal = false;
- let showConfigModal = false;
- </script>
- <AddConnectionModal
- ollama
- edit
- bind:show={showConfigModal}
- connection={{
- url,
- key: config?.key ?? '',
- config: config
- }}
- {onDelete}
- onSubmit={(connection) => {
- url = connection.url;
- config = { ...connection.config, key: connection.key };
- onSubmit(connection);
- }}
- />
- <ManageOllamaModal bind:show={showManageModal} urlIdx={idx} />
- <div class="flex gap-1.5">
- <Tooltip
- className="w-full relative"
- content={$i18n.t(`WebUI will make requests to "{{url}}/api/chat"`, {
- url
- })}
- placement="top-start"
- >
- {#if !(config?.enable ?? true)}
- <div
- class="absolute top-0 bottom-0 left-0 right-0 opacity-60 bg-white dark:bg-gray-900 z-10"
- ></div>
- {/if}
- <input
- class="w-full text-sm bg-transparent outline-none"
- placeholder={$i18n.t('Enter URL (e.g. http://localhost:11434)')}
- bind:value={url}
- />
- </Tooltip>
- <div class="flex gap-1">
- <Tooltip content={$i18n.t('Manage')} className="self-start">
- <button
- class="self-center p-1 bg-transparent hover:bg-gray-100 dark:bg-gray-900 dark:hover:bg-gray-850 rounded-lg transition"
- on:click={() => {
- showManageModal = true;
- }}
- type="button"
- >
- <Wrench />
- </button>
- </Tooltip>
- <Tooltip content={$i18n.t('Configure')} className="self-start">
- <button
- class="self-center p-1 bg-transparent hover:bg-gray-100 dark:bg-gray-900 dark:hover:bg-gray-850 rounded-lg transition"
- on:click={() => {
- showConfigModal = true;
- }}
- type="button"
- >
- <Cog6 />
- </button>
- </Tooltip>
- </div>
- </div>
|