This commit is contained in:
Timothy Jaeryang Baek committed 2026-07-14 00:48:40 -04:00
1 parent 84e4d6ef82
commit f1584b5a37
46 files changed
+335 -378

No files matched your search

@@ -5,6 +5,7 @@
import type { FileEntry } from '$lib/apis/terminal';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
import Folder from '../../icons/Folder.svelte';
import EllipsisHorizontal from '../../icons/EllipsisHorizontal.svelte';
import GarbageBin from '../../icons/GarbageBin.svelte';
@@ -304,9 +305,7 @@
</button>
<div slot="content">
<div
class="min-w-[150px] rounded-2xl p-1 z-[9999999] bg-white dark:bg-gray-850 dark:text-white shadow-lg border border-gray-100 dark:border-gray-800"
>
<DropdownMenu className="min-w-[150px] z-[9999999]">
<button
type="button"
class="select-none flex rounded-xl py-1.5 px-3 w-full hover:bg-gray-50 dark:hover:bg-gray-800 transition items-center gap-2 text-sm"
@@ -376,7 +375,7 @@
<GarbageBin className="size-4" />
<div class="flex items-center">{$i18n.t('Delete')}</div>
</button>
</div>
</DropdownMenu>
</div>
</Dropdown>
</div>
@@ -7,6 +7,7 @@
import Spinner from '../../common/Spinner.svelte';
import Tooltip from '../../common/Tooltip.svelte';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
const i18n = getContext('i18n');
@@ -187,9 +188,7 @@
</Tooltip>
<div slot="content">
<div
class="min-w-[150px] rounded-2xl p-1 z-[9999999] bg-white dark:bg-gray-850 dark:text-white shadow-lg border border-gray-100 dark:border-gray-800"
>
<DropdownMenu className="min-w-[150px] z-[9999999]">
<button
type="button"
class="select-none flex rounded-xl py-1.5 px-3 w-full hover:bg-gray-50 dark:hover:bg-gray-800 transition items-center gap-2 text-sm"
@@ -236,7 +235,7 @@
</svg>
{/if}
</button>
</div>
</DropdownMenu>
</div>
</Dropdown>
<Tooltip content={$i18n.t('New Folder')}>
@@ -5,6 +5,7 @@
const dispatch = createEventDispatcher();
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
export let onClose: Function = () => {};
export let devices: any;
@@ -25,9 +26,7 @@
<slot />
<div slot="content">
<div
class="min-w-[180px] rounded-lg p-1 border border-gray-100 dark:border-gray-800 z-[9999] bg-white dark:bg-gray-900 dark:text-white shadow-xs"
>
<DropdownMenu className="min-w-[180px] z-[9999] dark:bg-gray-900 shadow-xs">
{#each devices as device}
<button
class="flex gap-2 items-center px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md w-full"
@@ -42,6 +41,6 @@
</div>
</button>
{/each}
</div>
</DropdownMenu>
</div>
</Dropdown>
@@ -8,6 +8,7 @@
import { createPicker } from '$lib/utils/google-drive-picker';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import DocumentArrowUp from '$lib/components/icons/DocumentArrowUp.svelte';
import Camera from '$lib/components/icons/Camera.svelte';
@@ -121,8 +122,8 @@
</Tooltip>
<div slot="content">
<div
class="w-70 rounded-2xl px-1 py-1 border border-gray-100 dark:border-gray-800 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg max-h-72 overflow-y-auto overflow-x-hidden scrollbar-thin transition"
<DropdownMenu
className="w-70 max-h-72 overflow-y-auto overflow-x-hidden scrollbar-thin transition"
>
{#if tab === ''}
<div in:fly={{ x: -20, duration: 150 }}>
@@ -607,6 +608,6 @@
{/if}
</div>
{/if}
</div>
</DropdownMenu>
</div>
</Dropdown>
@@ -22,6 +22,7 @@
import Knobs from '$lib/components/icons/Knobs.svelte';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import Switch from '$lib/components/common/Switch.svelte';
import Spinner from '$lib/components/common/Spinner.svelte';
@@ -140,8 +141,8 @@
<slot />
</Tooltip>
<div slot="content">
<div
class="min-w-70 max-w-70 rounded-2xl px-1 py-1 border border-gray-100 dark:border-gray-800 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg max-h-72 overflow-y-auto overflow-x-hidden scrollbar-thin"
<DropdownMenu
className="min-w-70 max-w-70 max-h-72 overflow-y-auto overflow-x-hidden scrollbar-thin"
>
{#if tab === ''}
<div in:fly={{ x: -20, duration: 150 }}>
@@ -549,6 +550,6 @@
{/each}
</div>
{/if}
</div>
</DropdownMenu>
</div>
</Dropdown>
@@ -6,6 +6,7 @@
import { getToolServersData } from '$lib/apis';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import Cloud from '$lib/components/icons/Cloud.svelte';
@@ -108,8 +109,8 @@
</Tooltip>
<div slot="content">
<div
class="min-w-56 max-w-56 rounded-2xl px-1 py-1 border border-gray-100 dark:border-gray-800 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg max-h-72 overflow-y-auto overflow-x-hidden scrollbar-thin"
<DropdownMenu
className="min-w-56 max-w-56 max-h-72 overflow-y-auto overflow-x-hidden scrollbar-thin"
>
<!-- Direct terminals (gated by permission) -->
{#if directTerminals.length > 0 && ($user?.role === 'admin' || ($user?.permissions?.features?.direct_tool_servers ?? true))}
@@ -246,7 +247,7 @@
</button>
{/each}
{/if}
</div>
</DropdownMenu>
</div>
</Dropdown>
</div>
@@ -2,6 +2,7 @@
import { getContext } from 'svelte';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
import LineSpace from '$lib/components/icons/LineSpace.svelte';
import LineSpaceSmaller from '$lib/components/icons/LineSpaceSmaller.svelte';
@@ -27,14 +28,12 @@
<slot></slot>
<div slot="content">
<div
class="max-w-[200px] rounded-2xl px-1 py-1 border border-gray-100 dark:border-gray-800 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg transition"
>
<div class="py-1.5 px-2.5 flex dark:text-gray-100">
<DropdownMenu className="max-w-[200px] transition">
<div class="py-1 px-2 flex dark:text-gray-100">
<input
type="text"
id="floating-message-input"
class="bg-transparent outline-hidden w-full flex-1 text-sm"
class="bg-transparent outline-hidden w-full flex-1 text-[13px]"
placeholder={$i18n.t('Suggest a change')}
bind:value={inputValue}
autocomplete="off"
@@ -72,7 +71,7 @@
</button>
</div>
</div>
<hr class="border-gray-50/30 dark:border-gray-800/30 my-1 mx-2" />
<hr class="border-gray-50/30 dark:border-gray-800/30 my-0.5 mx-1" />
<button
class="select-none flex gap-2 items-center px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl w-full"
on:click={() => {
@@ -117,6 +116,6 @@
<LineSpaceSmaller strokeWidth="2" />
<div class="flex items-center">{$i18n.t('More Concise')}</div>
</button>
</div>
</DropdownMenu>
</div>
</Dropdown>
@@ -3,6 +3,7 @@
import { goto } from '$app/navigation';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import DropdownMenu from '$lib/components/common/DropdownMenu.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import Pin from '$lib/components/icons/Pin.svelte';
import PinSlash from '$lib/components/icons/PinSlash.svelte';
@@ -43,9 +44,7 @@
</Tooltip>
<div slot="content">
<div
class="min-w-[210px] text-sm rounded-2xl p-1 z-[9999999] bg-white dark:bg-gray-850 dark:text-white shadow-lg border border-gray-100 dark:border-gray-800"
>
<DropdownMenu className="min-w-[210px] z-[9999999]">
{#if model?.preset || model?.info?.base_model_id ? model?.info?.user_id === $user?.id : $user?.role === 'admin'}
<button
type="button"
@@ -166,6 +165,6 @@
<div class="flex items-center">{$i18n.t('Community Reviews')}</div>
</button>
{/if}
</div>
</DropdownMenu>
</div>
</Dropdown>