This commit is contained in:
Timothy Jaeryang Baek
2026-06-17 00:17:14 +02:00
parent 6f2e97aa58
commit fc9c2ea191
13 changed files with 81 additions and 51 deletions
@@ -45,12 +45,12 @@
let allItemsLoaded = false;
let itemsLoading = false;
$: if (query !== undefined) {
const handleSearchInput = () => {
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
init();
}, 300);
}
};
onDestroy(() => {
clearTimeout(searchDebounceTimer);
@@ -199,6 +199,7 @@
<input
class=" w-full text-sm py-1 rounded-r-xl outline-hidden bg-transparent"
bind:value={query}
on:input={handleSearchInput}
aria-label={$i18n.t('Search Knowledge')}
placeholder={$i18n.t('Search Knowledge')}
/>
@@ -209,6 +210,7 @@
aria-label={$i18n.t('Clear search')}
on:click={() => {
query = '';
handleSearchInput();
}}
>
<XMark className="size-3" strokeWidth="2" />
@@ -142,14 +142,17 @@
await getItemsPage();
};
// Debounce only query changes
$: if (query !== undefined) {
const handleSearchInput = () => {
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
getItemsPage();
if (currentPage !== 1) {
currentPage = 1;
} else {
getItemsPage();
}
}, 300);
}
};
// Immediate response to filter/pagination changes
$: if (
@@ -163,15 +166,6 @@
getItemsPage();
}
$: if (
query !== undefined &&
viewOption !== undefined &&
sortKey !== undefined &&
direction !== undefined
) {
reset();
}
const getItemsPage = async () => {
if (knowledgeId === null) return;
@@ -1313,6 +1307,7 @@
<input
class=" w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"
bind:value={query}
on:input={handleSearchInput}
aria-label={$i18n.t('Search Collection')}
placeholder={$i18n.t('Search Collection')}
on:focus={() => {
@@ -34,12 +34,12 @@
$: items = [...noteItems, ...knowledgeItems, ...fileItems];
$: if (query !== undefined) {
const handleSearchInput = () => {
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
getItems();
}, 300);
}
};
onDestroy(() => {
clearTimeout(searchDebounceTimer);
@@ -111,6 +111,7 @@
if (e.detail === false) {
onClose();
query = '';
handleSearchInput();
}
}}
>
@@ -128,6 +129,7 @@
<input
class=" w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"
bind:value={query}
on:input={handleSearchInput}
placeholder={$i18n.t('Search')}
/>
</div>
+9 -5
View File
@@ -59,15 +59,17 @@
let page = 1;
// Debounce only query changes
$: if (query !== undefined) {
const handleSearchInput = () => {
loading = true;
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
page = 1;
getPromptList();
if (page !== 1) {
page = 1;
} else {
getPromptList();
}
}, 300);
}
};
// Immediate response to page/filter changes
$: if (page && selectedTag !== undefined && viewOption !== undefined) {
@@ -332,6 +334,7 @@
<input
class=" w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"
bind:value={query}
on:input={handleSearchInput}
aria-label={$i18n.t('Search Prompts')}
placeholder={$i18n.t('Search Prompts')}
/>
@@ -343,6 +346,7 @@
aria-label={$i18n.t('Clear search')}
on:click={() => {
query = '';
handleSearchInput();
}}
>
<XMark className="size-3" strokeWidth="2" />
+9 -5
View File
@@ -78,15 +78,17 @@
}
};
// Debounce only query changes
$: if (query !== undefined) {
const handleSearchInput = () => {
loading = true;
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
page = 1;
loadSkillItems();
if (page !== 1) {
page = 1;
} else {
loadSkillItems();
}
}, 300);
}
};
// Immediate response to page/filter changes
$: if (page && viewOption !== undefined) {
@@ -321,6 +323,7 @@
<input
class=" w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"
bind:value={query}
on:input={handleSearchInput}
aria-label={$i18n.t('Search Skills')}
placeholder={$i18n.t('Search Skills')}
/>
@@ -331,6 +334,7 @@
aria-label={$i18n.t('Clear search')}
on:click={() => {
query = '';
handleSearchInput();
}}
>
<XMark className="size-3" strokeWidth="2" />
+4 -2
View File
@@ -63,12 +63,12 @@
let showImportModal = false;
$: if (query !== undefined) {
const handleSearchInput = () => {
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
setFilteredItems();
}, 300);
}
};
$: if (tools && viewOption !== undefined) {
setFilteredItems();
@@ -325,6 +325,7 @@
<input
class=" w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"
bind:value={query}
on:input={handleSearchInput}
aria-label={$i18n.t('Search Tools')}
placeholder={$i18n.t('Search Tools')}
/>
@@ -335,6 +336,7 @@
aria-label={$i18n.t('Clear search')}
on:click={() => {
query = '';
handleSearchInput();
}}
>
<XMark className="size-3" strokeWidth="2" />
@@ -63,12 +63,12 @@
}
};
$: if (query !== undefined) {
const handleSearchInput = () => {
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
getUserList();
}, 300);
}
};
onDestroy(() => {
clearTimeout(searchDebounceTimer);
@@ -187,6 +187,7 @@
<input
class=" w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"
bind:value={query}
on:input={handleSearchInput}
placeholder={$i18n.t('Search')}
/>
</div>