#20408: Control UI: show refresh in-flight state on Overview
app: web-ui
size: XS
Cluster:
Multilingual Support Enhancements
Adds a visible in-flight state to the Overview page Refresh button (disabled + "Refreshing…") while overview data is reloading (channels/presence/sessions/debug/cron requests). This makes it clear the refresh action is working.
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Adds a visible in-flight state to the Overview page Refresh button: while overview data is reloading (channels, presence, sessions, debug, cron requests), the button shows "Refreshing…" and is disabled. Translations added for all four supported locales (en, pt-BR, zh-CN, zh-TW).
- `OverviewProps` gains a `refreshing: boolean` prop, computed in `app-render.ts` from the OR of `state.connected` and the five `*Loading` flags
- The Refresh button in `overview.ts` uses lit's `?disabled` binding and conditionally renders the `common.refreshing` translation key
- All four locale files (`en.ts`, `pt-BR.ts`, `zh-CN.ts`, `zh-TW.ts`) add a `refreshing` key to the `common` section with appropriate translations
- Note: `state.cronLoading` is included in the OR but is never set by `loadCronStatus` (the function `loadOverview` actually calls) — this is harmless and defensive, but could be cleaned up if desired
<h3>Confidence Score: 5/5</h3>
- This PR is safe to merge — it adds a straightforward UI indicator with no logic or behavioral changes beyond button state.
- The changes are minimal, well-scoped, and follow existing patterns. The new `refreshing` prop is correctly typed, the locale strings are consistent across all four locales, and the button behavior (disabled + label swap) is standard. The only minor note is that `cronLoading` won't actually be set during an overview refresh, but this is harmless.
- No files require special attention.
<sub>Last reviewed commit: 50a772b</sub>
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
<!-- /greptile_comment -->
Most Similar PRs
#22165: feat(i18n): translate hardcoded button labels to all 4 locales
by NikolaVujovic1988 · 2026-02-20
77.0%
#6139: Config Reload button not clearing unsaved changes indicator
by saurabhssonkar · 2026-02-01
73.9%
#4035: fix(tui): ensure UI updates when status changes
by willerxar-cmyk · 2026-01-29
73.7%
#7316: fix: /chat dashboard performance
by felipcsousa · 2026-02-02
72.9%
#9490: Add Internationalization (i18n) Support
by luuman · 2026-02-05
72.3%
#7794: fix(tui): refresh session info periodically to reflect config changes
by GuoxiangZu · 2026-02-03
72.2%
#6408: feat(ui): add job filtering and improve run history display
by Cassius0924 · 2026-02-01
72.2%
#12079: TUI: improve thinking UX, tool readability, and live running status...
by rubenfb23 · 2026-02-08
71.8%
#13838: UI: fix config panel CI failures and modularize rendering
by fresed05 · 2026-02-11
71.2%
#10586: feat: Add Chinese (zh-CN) localization support
by Maxsong-0 · 2026-02-06
71.2%