From 761d43983016c2a95287c83f4888890ef6ec2042 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Thu, 7 Aug 2025 03:42:02 +0400 Subject: [PATCH] refac --- src/lib/components/layout/Sidebar.svelte | 71 +---------------- .../layout/Sidebar/PinnedModelList.svelte | 78 +++++++++++++++++++ 2 files changed, 80 insertions(+), 69 deletions(-) create mode 100644 src/lib/components/layout/Sidebar/PinnedModelList.svelte diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index dcbc124c3..f5e18bd3c 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -47,22 +47,18 @@ import ChatItem from './Sidebar/ChatItem.svelte'; import Spinner from '../common/Spinner.svelte'; import Loader from '../common/Loader.svelte'; - import AddFilesPlaceholder from '../AddFilesPlaceholder.svelte'; import Folder from '../common/Folder.svelte'; - import Plus from '../icons/Plus.svelte'; import Tooltip from '../common/Tooltip.svelte'; import Folders from './Sidebar/Folders.svelte'; import { getChannels, createNewChannel } from '$lib/apis/channels'; import ChannelModal from './Sidebar/ChannelModal.svelte'; import ChannelItem from './Sidebar/ChannelItem.svelte'; import PencilSquare from '../icons/PencilSquare.svelte'; - import Home from '../icons/Home.svelte'; import Search from '../icons/Search.svelte'; import SearchModal from './SearchModal.svelte'; import FolderModal from './Sidebar/Folders/FolderModal.svelte'; - import Sortable from 'sortablejs'; - import { updateUserSettings } from '$lib/apis/users'; import Sidebar from '../icons/Sidebar.svelte'; + import PinnedModelList from './Sidebar/PinnedModelList.svelte'; const BREAKPOINT = 768; @@ -82,28 +78,6 @@ let folders = {}; let newFolderId = null; - const initPinnedModelsSortable = () => { - const pinnedModelsList = document.getElementById('pinned-models-list'); - if (pinnedModelsList && !$mobile) { - new Sortable(pinnedModelsList, { - animation: 150, - onUpdate: async (event) => { - const modelId = event.item.dataset.id; - const newIndex = event.newIndex; - - const pinnedModels = $settings.pinnedModels; - const oldIndex = pinnedModels.indexOf(modelId); - - pinnedModels.splice(oldIndex, 1); - pinnedModels.splice(newIndex, 0, modelId); - - settings.set({ ...$settings, pinnedModels: pinnedModels }); - await updateUserSettings(localStorage.token, { ui: $settings }); - } - }); - } - }; - const initFolders = async () => { const folderList = await getFolders(localStorage.token).catch((error) => { toast.error(`${error}`); @@ -398,7 +372,6 @@ await initChannels(); await initChatList(); - initPinnedModelsSortable(); window.addEventListener('keydown', onKeyDown); window.addEventListener('keyup', onKeyUp); @@ -706,47 +679,7 @@
{#if ($models ?? []).length > 0 && ($settings?.pinnedModels ?? []).length > 0} -
- {#each $settings.pinnedModels as modelId (modelId)} - {@const model = $models.find((model) => model.id === modelId)} - {#if model} - - {/if} - {/each} -
+ {/if} {#if $config?.features?.enable_channels && ($user?.role === 'admin' || $channels.length > 0)} diff --git a/src/lib/components/layout/Sidebar/PinnedModelList.svelte b/src/lib/components/layout/Sidebar/PinnedModelList.svelte new file mode 100644 index 000000000..0912b739d --- /dev/null +++ b/src/lib/components/layout/Sidebar/PinnedModelList.svelte @@ -0,0 +1,78 @@ + + +
+ {#each $settings.pinnedModels as modelId (modelId)} + {@const model = $models.find((model) => model.id === modelId)} + {#if model} + + {/if} + {/each} +