diff --git a/src/lib/components/admin/Evaluations/FeedbackMenu.svelte b/src/lib/components/admin/Evaluations/FeedbackMenu.svelte index ea0b36fffe..5af315bb0f 100644 --- a/src/lib/components/admin/Evaluations/FeedbackMenu.svelte +++ b/src/lib/components/admin/Evaluations/FeedbackMenu.svelte @@ -5,6 +5,7 @@ const i18n = getContext('i18n'); import Dropdown from '$lib/components/common/Dropdown.svelte'; + import DropdownMenu from '$lib/components/common/DropdownMenu.svelte'; import GarbageBin from '$lib/components/icons/GarbageBin.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; @@ -17,9 +18,7 @@
-
+ -
+
diff --git a/src/lib/components/admin/Evaluations/Feedbacks.svelte b/src/lib/components/admin/Evaluations/Feedbacks.svelte index da7c8b5798..57d3ba85da 100644 --- a/src/lib/components/admin/Evaluations/Feedbacks.svelte +++ b/src/lib/components/admin/Evaluations/Feedbacks.svelte @@ -26,6 +26,7 @@ import FeedbackModal from './FeedbackModal.svelte'; import EllipsisHorizontal from '$lib/components/icons/EllipsisHorizontal.svelte'; import Dropdown from '$lib/components/common/Dropdown.svelte'; + import DropdownMenu from '$lib/components/common/DropdownMenu.svelte'; import ChevronUp from '$lib/components/icons/ChevronUp.svelte'; import ChevronDown from '$lib/components/icons/ChevronDown.svelte'; @@ -240,9 +241,7 @@
-
+ -
+
{/if} diff --git a/src/lib/components/admin/Functions/AddFunctionMenu.svelte b/src/lib/components/admin/Functions/AddFunctionMenu.svelte index 12babe3fba..cac13eb2a7 100644 --- a/src/lib/components/admin/Functions/AddFunctionMenu.svelte +++ b/src/lib/components/admin/Functions/AddFunctionMenu.svelte @@ -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 Tooltip from '$lib/components/common/Tooltip.svelte'; import Pencil from '$lib/components/icons/Pencil.svelte'; import Link from '$lib/components/icons/Link.svelte'; @@ -30,9 +31,7 @@
-
+
{$i18n.t('Import From Link')}
-
+ diff --git a/src/lib/components/admin/Functions/FunctionMenu.svelte b/src/lib/components/admin/Functions/FunctionMenu.svelte index a3a37b00a9..8c6904376c 100644 --- a/src/lib/components/admin/Functions/FunctionMenu.svelte +++ b/src/lib/components/admin/Functions/FunctionMenu.svelte @@ -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 GarbageBin from '$lib/components/icons/GarbageBin.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import Share from '$lib/components/icons/Share.svelte'; @@ -39,9 +40,7 @@
-
+ {#if ['filter', 'action'].includes(func.type)}
{$i18n.t('Delete')}
-
+
diff --git a/src/lib/components/admin/Settings/Models.svelte b/src/lib/components/admin/Settings/Models.svelte index 74d32ce07d..ba5a03ff8b 100644 --- a/src/lib/components/admin/Settings/Models.svelte +++ b/src/lib/components/admin/Settings/Models.svelte @@ -46,6 +46,7 @@ import { goto } from '$app/navigation'; import Dropdown from '$lib/components/common/Dropdown.svelte'; + import DropdownMenu from '$lib/components/common/DropdownMenu.svelte'; import AdminViewSelector from './Models/AdminViewSelector.svelte'; import TagSelector from '$lib/components/workspace/common/TagSelector.svelte'; import Pagination from '$lib/components/common/Pagination.svelte'; @@ -540,9 +541,7 @@
-
+ -
+
diff --git a/src/lib/components/admin/Settings/Models/ModelMenu.svelte b/src/lib/components/admin/Settings/Models/ModelMenu.svelte index a80a6c9924..e81af7e8af 100644 --- a/src/lib/components/admin/Settings/Models/ModelMenu.svelte +++ b/src/lib/components/admin/Settings/Models/ModelMenu.svelte @@ -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 GarbageBin from '$lib/components/icons/GarbageBin.svelte'; import Pencil from '$lib/components/icons/Pencil.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; @@ -46,9 +47,7 @@
-
+ -
+
diff --git a/src/lib/components/admin/Users/Groups/Permissions.svelte b/src/lib/components/admin/Users/Groups/Permissions.svelte index 1230431ef7..6b2c9e8b45 100644 --- a/src/lib/components/admin/Users/Groups/Permissions.svelte +++ b/src/lib/components/admin/Users/Groups/Permissions.svelte @@ -200,22 +200,6 @@ {/if} - -
-
-
- {$i18n.t('Allow Sharing With Groups')} -
- -
- {#if defaultPermissions?.access_grants?.allow_groups && !permissions.access_grants.allow_groups} -
-
- {$i18n.t('This is a default user permission and will remain enabled.')} -
-
- {/if} -

@@ -500,6 +484,22 @@ {/if} + +
+
+
+ {$i18n.t('Allow Sharing With Groups')} +
+ +
+ {#if defaultPermissions?.access_grants?.allow_groups && !permissions.access_grants.allow_groups} +
+
+ {$i18n.t('This is a default user permission and will remain enabled.')} +
+
+ {/if} +

diff --git a/src/lib/components/automations/AutomationMenu.svelte b/src/lib/components/automations/AutomationMenu.svelte index 939c4cc16d..e58ee33cc5 100644 --- a/src/lib/components/automations/AutomationMenu.svelte +++ b/src/lib/components/automations/AutomationMenu.svelte @@ -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 GarbageBin from '$lib/components/icons/GarbageBin.svelte'; import DocumentDuplicate from '$lib/components/icons/DocumentDuplicate.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; @@ -30,11 +31,9 @@
-
+
-
+
-
+ diff --git a/src/lib/components/automations/ModelDropdown.svelte b/src/lib/components/automations/ModelDropdown.svelte index 848c6507d0..9580adb978 100644 --- a/src/lib/components/automations/ModelDropdown.svelte +++ b/src/lib/components/automations/ModelDropdown.svelte @@ -70,13 +70,13 @@
-
+
e.stopPropagation()} @@ -84,13 +84,13 @@
-
+
{$i18n.t('Models')}
{#each filteredModels as model (model.id)} {:else} -
+
{$i18n.t('No results found')}
{/each} diff --git a/src/lib/components/automations/ScheduleDropdown.svelte b/src/lib/components/automations/ScheduleDropdown.svelte index 4f7b63a541..204b1b1183 100644 --- a/src/lib/components/automations/ScheduleDropdown.svelte +++ b/src/lib/components/automations/ScheduleDropdown.svelte @@ -192,15 +192,15 @@
-
+
{$i18n.t('Schedule')}
-
+
{$i18n.t('Terminal')}
{#each terminalServers as server (server.id)} -
+
diff --git a/src/lib/components/chat/FileNav/FileEntryRow.svelte b/src/lib/components/chat/FileNav/FileEntryRow.svelte index 307b89e034..a5cc73e7a8 100644 --- a/src/lib/components/chat/FileNav/FileEntryRow.svelte +++ b/src/lib/components/chat/FileNav/FileEntryRow.svelte @@ -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 @@
-
+ -
+
diff --git a/src/lib/components/chat/FileNav/FileNavToolbar.svelte b/src/lib/components/chat/FileNav/FileNavToolbar.svelte index 1f5aaf9330..500df39636 100644 --- a/src/lib/components/chat/FileNav/FileNavToolbar.svelte +++ b/src/lib/components/chat/FileNav/FileNavToolbar.svelte @@ -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 @@
-
+ -
+
diff --git a/src/lib/components/chat/MessageInput/CallOverlay/VideoInputMenu.svelte b/src/lib/components/chat/MessageInput/CallOverlay/VideoInputMenu.svelte index 996f3d515a..dec315b0fe 100644 --- a/src/lib/components/chat/MessageInput/CallOverlay/VideoInputMenu.svelte +++ b/src/lib/components/chat/MessageInput/CallOverlay/VideoInputMenu.svelte @@ -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 @@
-
+ {#each devices as device} {/each} -
+
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte index e3ecfae781..3907e01487 100644 --- a/src/lib/components/chat/MessageInput/InputMenu.svelte +++ b/src/lib/components/chat/MessageInput/InputMenu.svelte @@ -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 @@
-
{#if tab === ''}
@@ -607,6 +608,6 @@ {/if}
{/if} -
+
diff --git a/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte b/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte index 7557f81908..3ab647ccf1 100644 --- a/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte +++ b/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte @@ -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 @@
-
{#if tab === ''}
@@ -549,6 +550,6 @@ {/each}
{/if} -
+
diff --git a/src/lib/components/chat/MessageInput/TerminalMenu.svelte b/src/lib/components/chat/MessageInput/TerminalMenu.svelte index ca721ceb2d..27f5892e66 100644 --- a/src/lib/components/chat/MessageInput/TerminalMenu.svelte +++ b/src/lib/components/chat/MessageInput/TerminalMenu.svelte @@ -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 @@
-
{#if directTerminals.length > 0 && ($user?.role === 'admin' || ($user?.permissions?.features?.direct_tool_servers ?? true))} @@ -246,7 +247,7 @@ {/each} {/if} -
+
diff --git a/src/lib/components/chat/Messages/ResponseMessage/RegenerateMenu.svelte b/src/lib/components/chat/Messages/ResponseMessage/RegenerateMenu.svelte index 81873bc122..0316e4af9c 100644 --- a/src/lib/components/chat/Messages/ResponseMessage/RegenerateMenu.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage/RegenerateMenu.svelte @@ -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 @@
-
-
+ +
-
+
-
+
diff --git a/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte b/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte index d0f46b2624..29667654b0 100644 --- a/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte +++ b/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte @@ -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 @@
-
+ {#if model?.preset || model?.info?.base_model_id ? model?.info?.user_id === $user?.id : $user?.role === 'admin'}
{/if} -
+
diff --git a/src/lib/components/common/DropdownMenu.svelte b/src/lib/components/common/DropdownMenu.svelte new file mode 100644 index 0000000000..25457b7d5f --- /dev/null +++ b/src/lib/components/common/DropdownMenu.svelte @@ -0,0 +1,11 @@ + + +
button]:flex [&>button]:w-full [&>button]:h-[1.6875rem] [&>button]:items-center [&>button]:gap-2 [&>button]:rounded-xl! [&>button]:px-2! [&>button]:text-[13px] [&>button:hover]:bg-gray-50/60 dark:[&>button:hover]:bg-gray-800/60 [&>a]:flex [&>a]:w-full [&>a]:h-[1.6875rem] [&>a]:items-center [&>a]:gap-2 [&>a]:rounded-xl! [&>a]:px-2! [&>a]:text-[13px] [&>a:hover]:bg-gray-50/60 dark:[&>a:hover]:bg-gray-800/60 [&>button_svg]:size-3.5 [&>a_svg]:size-3.5 [&>hr]:my-0.5 [&>hr]:mx-1`} + {style} +> + +
diff --git a/src/lib/components/common/DropdownSub.svelte b/src/lib/components/common/DropdownSub.svelte index 569e76287c..8e4b35d717 100644 --- a/src/lib/components/common/DropdownSub.svelte +++ b/src/lib/components/common/DropdownSub.svelte @@ -1,5 +1,6 @@