refac
This commit is contained in:
1 parent
c783fd30f2
commit
45fcf272ef
11 files changed
+474
-66
No files matched your search
@@ -46,7 +46,7 @@
|
||||
deleteAllChats,
|
||||
getChatListBySearchText
|
||||
} from '$lib/apis/chats';
|
||||
import { createNewFolder, getFolders, updateFolderParentIdById } from '$lib/apis/folders';
|
||||
import { createNewFolder, getFolders, getSharedFolders, updateFolderParentIdById } from '$lib/apis/folders';
|
||||
import { createNewNote, getPinnedNoteList, toggleNotePinnedStatusById } from '$lib/apis/notes';
|
||||
import { updateUserSettings } from '$lib/apis/users';
|
||||
import { checkActiveChats } from '$lib/apis/tasks';
|
||||
@@ -61,6 +61,7 @@
|
||||
import Folder from '../common/Folder.svelte';
|
||||
import Tooltip from '../common/Tooltip.svelte';
|
||||
import Folders from './Sidebar/Folders.svelte';
|
||||
import SharedFolderItem from './Sidebar/SharedFolderItem.svelte';
|
||||
import { getChannels, createNewChannel } from '$lib/apis/channels';
|
||||
import ChannelModal from './Sidebar/ChannelModal.svelte';
|
||||
import ChannelItem from './Sidebar/ChannelItem.svelte';
|
||||
@@ -98,12 +99,15 @@
|
||||
let showPinnedNotes = false;
|
||||
let showChannels = false;
|
||||
let showFolders = false;
|
||||
let showSharedFolders = false;
|
||||
|
||||
let folders = {};
|
||||
let folderRegistry = {};
|
||||
|
||||
let newFolderId = null;
|
||||
|
||||
let sharedFolders: any[] = [];
|
||||
|
||||
$: pinnedItems = $settings?.pinnedMenuItems ?? DEFAULT_PINNED_ITEMS;
|
||||
|
||||
const isMenuItemVisible = (id) => {
|
||||
@@ -215,6 +219,31 @@
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Merge shared folders into the same structure
|
||||
try {
|
||||
sharedFolders = await getSharedFolders(localStorage.token);
|
||||
} catch (e) {
|
||||
sharedFolders = [];
|
||||
}
|
||||
|
||||
for (const sf of sharedFolders) {
|
||||
if (folders[sf.id]) continue; // Already owned by user
|
||||
folders[sf.id] = { ...sf, shared: true };
|
||||
}
|
||||
|
||||
// Build parent-child relationships for shared folders
|
||||
for (const sf of sharedFolders) {
|
||||
if (folders[sf.id]?.shared && sf.parent_id && folders[sf.parent_id]) {
|
||||
folders[sf.parent_id].childrenIds = folders[sf.parent_id].childrenIds
|
||||
? [...new Set([...folders[sf.parent_id].childrenIds, sf.id])]
|
||||
: [sf.id];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const initSharedFolders = async () => {
|
||||
await initFolders();
|
||||
};
|
||||
|
||||
const createFolder = async ({ name, data, parent_id }) => {
|
||||
@@ -291,6 +320,7 @@
|
||||
scrollPaginationEnabled.set(false);
|
||||
|
||||
initFolders();
|
||||
initSharedFolders();
|
||||
await Promise.all([
|
||||
await (async () => {
|
||||
console.log('Init tags');
|
||||
|
||||
Reference in new issue
Block a user