فهرست منبع

refac: optimisation

Timothy J. Baek 1 سال پیش
والد
کامیت
5beff6d5f7
1فایلهای تغییر یافته به همراه24 افزوده شده و 30 حذف شده
  1. 24 30
      src/lib/components/layout/Sidebar.svelte

+ 24 - 30
src/lib/components/layout/Sidebar.svelte

@@ -29,34 +29,26 @@
 	let showDropdown = false;
 
 	onMount(async () => {
-        if (window.innerWidth > 1280) {
-            show = true;
-        }
-
-        const chatList = await getChatList(localStorage.token);
-        await enrichChatsWithContent(chatList);
-    });
-
-    tags.subscribe(async (value) => {
-        if (value.length === 0) {
-            const chatList = await getChatList(localStorage.token);
-            await enrichChatsWithContent(chatList);
-        }
-    });
-
-    // Helper function to fetch and add chat content to each chat
-    async function enrichChatsWithContent(chatList) {
-        const enrichedChats = await Promise.all(chatList.map(async (chat) => {
-            const chatDetails = await getChatById(localStorage.token, chat.id).catch(error => null); // Handle error or non-existent chat gracefully
-            if (chatDetails) {
-                chat.chat = chatDetails.chat; // Assuming chatDetails.chat contains the chat content
-            }
-            return chat;
-        }));
-
-        await chats.set(enrichedChats);
-    }
-
+		if (window.innerWidth > 1280) {
+			show = true;
+		}
+		await chats.set(await getChatList(localStorage.token));
+	});
+
+	// Helper function to fetch and add chat content to each chat
+	const enrichChatsWithContent = async (chatList) => {
+		const enrichedChats = await Promise.all(
+			chatList.map(async (chat) => {
+				const chatDetails = await getChatById(localStorage.token, chat.id).catch((error) => null); // Handle error or non-existent chat gracefully
+				if (chatDetails) {
+					chat.chat = chatDetails.chat; // Assuming chatDetails.chat contains the chat content
+				}
+				return chat;
+			})
+		);
+
+		await chats.set(enrichedChats);
+	};
 
 	const loadChat = async (id) => {
 		goto(`/c/${id}`);
@@ -288,6 +280,9 @@
 						class="w-full rounded-r py-1.5 pl-2.5 pr-4 text-sm text-gray-300 bg-gray-950 outline-none"
 						placeholder="Search"
 						bind:value={search}
+						on:focus={() => {
+							enrichChatsWithContent($chats);
+						}}
 					/>
 
 					<!-- <div class="self-center pr-3 py-2  bg-gray-900">
@@ -343,7 +338,7 @@
 						let contentMatches = false;
 						// Access the messages within chat.chat.messages
 						if (chat.chat && chat.chat.messages && Array.isArray(chat.chat.messages)) {
-							contentMatches = chat.chat.messages.some(message => {
+							contentMatches = chat.chat.messages.some((message) => {
 								// Check if message.content exists and includes the search query
 								return message.content && message.content.toLowerCase().includes(query);
 							});
@@ -352,7 +347,6 @@
 						return title.includes(query) || contentMatches;
 					}
 				}) as chat, i}
-
 					<div class=" w-full pr-2 relative">
 						<button
 							class=" w-full flex justify-between rounded-md px-3 py-2 hover:bg-gray-900 {chat.id ===