From 292b77f29b9576deb74c7f71529f191d09abbc11 Mon Sep 17 00:00:00 2001 From: AmirmahdiNourkazemi Date: Sun, 7 Jun 2026 22:00:02 +0330 Subject: [PATCH] fix: lunch effect debaunce fixed --- .../presentation/common/CustomTextFilled.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/approagency/pharmacy/presentation/common/CustomTextFilled.kt b/app/src/main/java/com/approagency/pharmacy/presentation/common/CustomTextFilled.kt index 6998fe8..eed03ba 100644 --- a/app/src/main/java/com/approagency/pharmacy/presentation/common/CustomTextFilled.kt +++ b/app/src/main/java/com/approagency/pharmacy/presentation/common/CustomTextFilled.kt @@ -70,9 +70,20 @@ fun CustomTextFilled( var isFocused by remember { mutableStateOf(false) } var localValue by remember(value) { mutableStateOf(value) } + // با بازگشت از صفحه‌ی دیگر (مثل جزئیات دارو) یا ترکیب‌مجدد/چرخش صفحه، + // این کامپوزبل دوباره ساخته می‌شود و LaunchedEffect از نو اجرا می‌گردد. + // اجرای اول مربوط به مقدار اولیه/بازیابی‌شده است و نباید جستجوی خودکار را + // تریگر کند؛ فقط تغییرات واقعی متن توسط کاربر باید debounce و جستجو شوند. + var isInitialAutoSearch by remember { mutableStateOf(true) } + // Auto-search functionality androidx.compose.runtime.LaunchedEffect(autoSearch, searchDelay, localValue) { - if (autoSearch && localValue.isNotBlank()) { + if (!autoSearch) return@LaunchedEffect + if (isInitialAutoSearch) { + isInitialAutoSearch = false + return@LaunchedEffect + } + if (localValue.isNotBlank()) { kotlinx.coroutines.delay(searchDelay) onSearch(localValue) }