diff --git a/resources/js/packages/ui/src/Icons/BillableIcon.vue b/resources/js/packages/ui/src/Icons/BillableIcon.vue
index c7c0f7cb..67d94806 100644
--- a/resources/js/packages/ui/src/Icons/BillableIcon.vue
+++ b/resources/js/packages/ui/src/Icons/BillableIcon.vue
@@ -1,12 +1,11 @@
diff --git a/resources/js/packages/ui/src/Tag/TagDropdown.vue b/resources/js/packages/ui/src/Tag/TagDropdown.vue
index 8c9b733c..9a3ca6cf 100644
--- a/resources/js/packages/ui/src/Tag/TagDropdown.vue
+++ b/resources/js/packages/ui/src/Tag/TagDropdown.vue
@@ -91,6 +91,7 @@ const showCreateTagModal = ref(false);
import { ChevronRightIcon, ChevronDownIcon } from '@heroicons/vue/16/solid';
import Dropdown from '@/packages/ui/src/Input/Dropdown.vue';
-import { computed, nextTick, ref, watch, watchEffect } from 'vue';
+import { computed, nextTick, ref, watch } from 'vue';
import ProjectDropdownItem from '@/packages/ui/src/Project/ProjectDropdownItem.vue';
import type {
CreateClientBody,
@@ -33,6 +33,7 @@ const searchValue = ref('');
watch(open, (isOpen) => {
if (isOpen) {
+ updateFilteredResults();
nextTick(() => {
initializeHighlightedItem();
searchInput.value?.focus({ preventScroll: true });
@@ -148,7 +149,7 @@ function addProjectToFilterObject(
}
}
-watchEffect(() => {
+function updateFilteredResults() {
const tempFilteredClients: ClientsWithProjectsWithTasks = [];
if (searchValue.value.length === 0) {
@@ -243,6 +244,13 @@ watchEffect(() => {
});
filteredResults.value = tempFilteredClients;
+}
+
+// Recompute filtered results when search value changes while open
+watch(searchValue, () => {
+ if (open.value) {
+ updateFilteredResults();
+ }
});
async function addClientIfNoneExists() {
@@ -648,6 +656,7 @@ const showCreateProject = ref(false);