From b6e6bd328c1a4cf0df392fd608b20235b27273bf Mon Sep 17 00:00:00 2001 From: OneWay Date: Wed, 2 Sep 2026 10:56:32 +0800 Subject: [PATCH] fix: reset dictionary progress bar between indexing operations monotonicTargetProgress is held in remember and only ever grows via maxOf, so when a new indexing starts after a previous one reached a higher value the bar is left at the old level while the percent label starts at 0. Snap it to the current target when the section becomes visible so the bar follows the new operation from its first frame. --- .../ui/settings/components/DictionaryProgressSection.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/example/research/ui/settings/components/DictionaryProgressSection.kt b/app/src/main/java/com/example/research/ui/settings/components/DictionaryProgressSection.kt index fafed91..cfe5d3c 100644 --- a/app/src/main/java/com/example/research/ui/settings/components/DictionaryProgressSection.kt +++ b/app/src/main/java/com/example/research/ui/settings/components/DictionaryProgressSection.kt @@ -41,6 +41,11 @@ fun DictionaryProgressSection( var displayedPercent by remember { mutableIntStateOf(percent) } var displayedTestTag by remember { mutableStateOf(testTag) } + LaunchedEffect(visible) { + if (visible) { + monotonicTargetProgress = targetProgress + } + } LaunchedEffect(visible, targetProgress) { if (visible) { monotonicTargetProgress = maxOf(monotonicTargetProgress, targetProgress)