fix: lunch effect debaunce fixed

This commit is contained in:
2026-06-07 22:00:02 +03:30
parent 670dbf8ce2
commit 292b77f29b
@@ -70,9 +70,20 @@ fun CustomTextFilled(
var isFocused by remember { mutableStateOf(false) } var isFocused by remember { mutableStateOf(false) }
var localValue by remember(value) { mutableStateOf(value) } var localValue by remember(value) { mutableStateOf(value) }
// با بازگشت از صفحه‌ی دیگر (مثل جزئیات دارو) یا ترکیب‌مجدد/چرخش صفحه،
// این کامپوزبل دوباره ساخته می‌شود و LaunchedEffect از نو اجرا می‌گردد.
// اجرای اول مربوط به مقدار اولیه/بازیابی‌شده است و نباید جستجوی خودکار را
// تریگر کند؛ فقط تغییرات واقعی متن توسط کاربر باید debounce و جستجو شوند.
var isInitialAutoSearch by remember { mutableStateOf(true) }
// Auto-search functionality // Auto-search functionality
androidx.compose.runtime.LaunchedEffect(autoSearch, searchDelay, localValue) { 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) kotlinx.coroutines.delay(searchDelay)
onSearch(localValue) onSearch(localValue)
} }