feat(#13): add pull-to-refresh to HermesScaffold (#14)

- HermesScaffold: added isRefreshing param, wraps content in PullToRefreshBox when onRefresh is set
- All 16 data screens: pass isRefreshing = state.isLoading
- Initial loading only shows full-screen LoadingState when data is empty (no spinner over existing content)
- AchievementsScreen already had the correct pattern, just needed isRefreshing param

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-06-18 18:58:08 +03:00
1 parent d37de1d223
commit 4892572bcc
18 files changed
+56 -23

No files matched your search

@@ -59,10 +59,11 @@ fun ConfigScreen(
HermesScaffold(
title = { Text("Configuration") },
onOpenDrawer = onOpenDrawer,
isRefreshing = state.isLoading,
onRefresh = { viewModel.loadRawConfig() },
) { paddingValues ->
when {
state.isLoading -> {
state.isLoading && state.yamlText == null -> {
LoadingState(modifier = Modifier.padding(paddingValues))
}
state.errorMessage != null -> {