Skip to content

feat(search): show loading indicator while categories fetch#682

Merged
astar-development-jb merged 3 commits into
mainfrom
feature/679-itemsrepeater-wraplayout-reapply
Jun 22, 2026
Merged

feat(search): show loading indicator while categories fetch#682
astar-development-jb merged 3 commits into
mainfrom
feature/679-itemsrepeater-wraplayout-reapply

Conversation

@jaybarden1

Copy link
Copy Markdown
Contributor

Summary

  • Search view renders immediately on navigation; previously the tags section showed "No classifications found." during the async fetch
  • Added IsLoadingTags and ShowNoClassificationsHint observable properties to SyncedFileSearchViewModel
  • OnViewActivatedAsync sets IsLoadingTags = true synchronously before the first await, then clears both flags atomically inside dispatcher.Post after the collection is populated — no transient incorrect state
  • AXAML shows TagsLoadingText ("Loading categories...") while loading, then switches to "No classifications found." only when load completes with an empty result
  • Localisation key Search.Tags.Loading added to en-GB and en-US
  • Version bumped 0.28.00.29.0

Test plan

  • Build: dotnet clean && dotnet build --no-restore — zero errors, zero warnings
  • Tests: dotnet test --no-build — 55 pass, 0 fail (5 new tests covering IsLoadingTags, ShowNoClassificationsHint, and TagsLoadingText)
  • Navigate to Search tab — view loads immediately, "Loading categories..." appears briefly while tags fetch
  • After load with tags: tag checkboxes appear, loading text hidden
  • After load with no tags: "No classifications found." appears, loading text hidden

🤖 Generated with Claude Code

jaybarden1 and others added 2 commits June 22, 2026 20:35
Replace ItemsControl + WrapPanel with ItemsRepeater + WrapLayout so only
visible cards are realised. Wire thumbnail load/cancel to ElementPrepared
and ElementClearing. Re-applies changes reverted from PR #680.

Closes #679

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… view

Search view now renders immediately on navigation; the tags/categories
section displays "Loading categories..." while GetDistinctTagNamesAsync
is in-flight instead of flashing the "no classifications" message.

IsLoadingTags and ShowNoClassificationsHint are set atomically inside
dispatcher.Post so the UI never sees a transient incorrect state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jaybarden1 jaybarden1 requested a review from a team June 22, 2026 20:48
@astar-development-jb astar-development-jb enabled auto-merge (squash) June 22, 2026 20:50
@astar-development-jb astar-development-jb merged commit 8a32633 into main Jun 22, 2026
6 checks passed
@astar-development-jb astar-development-jb deleted the feature/679-itemsrepeater-wraplayout-reapply branch June 22, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants