feat(slint): search loading fade + 1s idle-close on header menus

New LoadingDots primitive (three pulsing dots over an optional label)
shown while a search is running. The result sections fade in once the
results arrive instead of showing empty placeholder colors. The
LoadingDots component is reusable for other heavy loads (large grids,
playlist manager) when they get the same treatment.

The header nav-tab menu now closes after 1s of pointer idle (was 1.5s)
per the project rule that no menu stays open more than 1s idle.
PopupWindow context menus already close on click-outside, which is the
idle behaviour for click-triggered popups.

cc
This commit is contained in:
vicrodh committed 2026-05-19 20:13:14 -06:00
1 parent e1aa0a71dc
commit b874661bbf
3 files changed
+58 -8

No files matched your search

@@ -51,9 +51,10 @@ export component HeaderMenuOverlay inherits Rectangle {
}
property <int> open-index: HeaderMenuState.open-index;
// Closes the menu after 1.5s without pointer interaction.
// Closes the menu after 1s without pointer interaction (project rule:
// no menu stays open more than 1s idle).
idle-timer := Timer {
interval: 1500ms;
interval: 1000ms;
running: false;
triggered => {
self.running = false;