This commit is contained in:
Timothy Jaeryang Baek
2025-10-01 21:56:32 -05:00
parent e2ca7b8632
commit 97faeccebf
6 changed files with 60 additions and 62 deletions
+48 -51
View File
@@ -125,13 +125,6 @@
});
}
}
await tick();
for (const folderId in folders) {
if (folders[folderId] && folders[folderId].is_expanded) {
folderRegistry[folderId]?.setFolderItems();
}
}
};
const createFolder = async ({ name, data }) => {
@@ -185,14 +178,15 @@
const initChatList = async () => {
// Reset pagination variables
tags.set(await getAllTags(localStorage.token));
pinnedChats.set(await getPinnedChatList(localStorage.token));
initFolders();
console.log('initChatList');
currentChatPage.set(1);
allChatsLoaded = false;
await chats.set(await getChatList(localStorage.token, $currentChatPage));
const _chats = await getChatList(localStorage.token, $currentChatPage);
await chats.set(_chats);
})()
]);
// Enable pagination
scrollPaginationEnabled.set(true);
@@ -342,57 +336,52 @@
selectedChatId = null;
};
let unsubscribers = [];
onMount(async () => {
showPinnedChat = localStorage?.showPinnedChat ? localStorage.showPinnedChat === 'true' : true;
await showSidebar.set(!$mobile ? localStorage.sidebar === 'true' : false);
mobile.subscribe((value) => {
if ($showSidebar && value) {
showSidebar.set(false);
}
if ($showSidebar && !value) {
const navElement = document.getElementsByTagName('nav')[0];
if (navElement) {
navElement.style['-webkit-app-region'] = 'drag';
unsubscribers = [
mobile.subscribe((value) => {
if ($showSidebar && value) {
showSidebar.set(false);
}
}
if (!$showSidebar && !value) {
showSidebar.set(true);
}
});
showSidebar.set(!$mobile ? localStorage.sidebar === 'true' : false);
showSidebar.subscribe(async (value) => {
localStorage.sidebar = value;
// nav element is not available on the first render
const navElement = document.getElementsByTagName('nav')[0];
if (navElement) {
if ($mobile) {
if (!value) {
if ($showSidebar && !value) {
const navElement = document.getElementsByTagName('nav')[0];
if (navElement) {
navElement.style['-webkit-app-region'] = 'drag';
} else {
navElement.style['-webkit-app-region'] = 'no-drag';
}
} else {
navElement.style['-webkit-app-region'] = 'drag';
}
}
if (!value) {
await initChannels();
await initChatList();
}
});
if (!$showSidebar && !value) {
showSidebar.set(true);
}
}),
showSidebar.subscribe(async (value) => {
localStorage.sidebar = value;
chats.subscribe((value) => {
initFolders();
});
// nav element is not available on the first render
const navElement = document.getElementsByTagName('nav')[0];
await initChannels();
await initChatList();
if (navElement) {
if ($mobile) {
if (!value) {
navElement.style['-webkit-app-region'] = 'drag';
} else {
navElement.style['-webkit-app-region'] = 'no-drag';
}
} else {
navElement.style['-webkit-app-region'] = 'drag';
}
}
if (value) {
await initChannels();
await initChatList();
}
})
];
window.addEventListener('keydown', onKeyDown);
window.addEventListener('keyup', onKeyUp);
@@ -411,6 +400,14 @@
});
onDestroy(() => {
if (unsubscribers && unsubscribers.length > 0) {
unsubscribers.forEach((unsubscriber) => {
if (unsubscriber) {
unsubscriber();
}
});
}
window.removeEventListener('keydown', onKeyDown);
window.removeEventListener('keyup', onKeyUp);
@@ -246,11 +246,12 @@
};
onMount(async () => {
folderRegistry[folderId] = {
setFolderItems: () => setFolderItems()
};
open = folders[folderId].is_expanded;
folderRegistry[folderId] = {
setFolderItems: () => {
setFolderItems();
}
};
if (folderElement) {
folderElement.addEventListener('dragover', onDragOver);
folderElement.addEventListener('drop', onDrop);