From 558a66a1dea032b622a9a2a0b7e5317999a4030c Mon Sep 17 00:00:00 2001 From: M57 <41645758+Hy4ri@users.noreply.github.com> Date: Tue, 23 Jun 2026 12:45:44 +0300 Subject: [PATCH] fix(#253): remove excessive top padding from screens (#341) The Achievement, Kanban, and Channels screens were applying double padding at the top because `HermesScaffold` already handles the container padding internally. This change removes the redundant `paddingValues` from the inner UI components on these screens. Closes #253 --- .../hermescontrol/ui/achievements/AchievementsScreen.kt | 8 +++----- .../com/m57/hermescontrol/ui/channels/ChannelsScreen.kt | 8 +++----- .../java/com/m57/hermescontrol/ui/kanban/KanbanScreen.kt | 8 +++----- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/m57/hermescontrol/ui/achievements/AchievementsScreen.kt b/app/src/main/java/com/m57/hermescontrol/ui/achievements/AchievementsScreen.kt index 1ff57fb2..c906a8ee 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/achievements/AchievementsScreen.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/achievements/AchievementsScreen.kt @@ -65,17 +65,16 @@ fun AchievementsScreen( onOpenDrawer = onOpenDrawer, isRefreshing = state.isLoading, onRefresh = { viewModel.loadAchievements() }, - ) { paddingValues -> + ) { when { state.isLoading && state.achievements.isEmpty() -> { - LoadingState(modifier = Modifier.padding(paddingValues)) + LoadingState() } state.errorMessage != null && state.achievements.isEmpty() -> { ErrorState( message = state.errorMessage ?: "", onRetry = { viewModel.loadAchievements() }, - modifier = Modifier.padding(paddingValues), ) } @@ -84,13 +83,12 @@ fun AchievementsScreen( title = stringResource(R.string.achievements_empty_title), subtitle = stringResource(R.string.achievements_empty_desc), icon = Icons.Filled.Refresh, - modifier = Modifier.padding(paddingValues), ) } else -> { LazyColumn( - modifier = Modifier.fillMaxSize().padding(paddingValues), + modifier = Modifier.fillMaxSize(), contentPadding = PaddingValues(16.dp), verticalArrangement = Arrangement.spacedBy(12.dp), ) { diff --git a/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt b/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt index 7885d926..9c464482 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt @@ -69,17 +69,16 @@ fun ChannelsScreen( onOpenDrawer = onOpenDrawer, isRefreshing = state.isLoading, onRefresh = { viewModel.loadPlatforms() }, - ) { paddingValues -> + ) { when { state.isLoading && state.platforms.isEmpty() -> { - LoadingState(modifier = Modifier.padding(paddingValues)) + LoadingState() } state.errorMessage != null -> { ErrorState( message = state.errorMessage ?: "", onRetry = { viewModel.loadPlatforms() }, - modifier = Modifier.padding(paddingValues), ) } @@ -87,13 +86,12 @@ fun ChannelsScreen( EmptyState( title = stringResource(R.string.channels_empty_title), subtitle = stringResource(R.string.channels_empty_desc), - modifier = Modifier.padding(paddingValues), ) } else -> { LazyColumn( - modifier = Modifier.fillMaxSize().padding(paddingValues), + modifier = Modifier.fillMaxSize(), contentPadding = listContentPadding, verticalArrangement = listItemSpacing, ) { diff --git a/app/src/main/java/com/m57/hermescontrol/ui/kanban/KanbanScreen.kt b/app/src/main/java/com/m57/hermescontrol/ui/kanban/KanbanScreen.kt index fb93d30a..a7d8bf8d 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/kanban/KanbanScreen.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/kanban/KanbanScreen.kt @@ -85,17 +85,16 @@ fun KanbanScreen( onOpenDrawer = onOpenDrawer, isRefreshing = state.isLoading, onRefresh = { viewModel.loadBoards() }, - ) { paddingValues -> + ) { when { state.isLoading && state.boards.isEmpty() -> { - LoadingState(modifier = Modifier.padding(paddingValues)) + LoadingState() } state.errorMessage != null -> { ErrorState( message = state.errorMessage ?: "", onRetry = { viewModel.loadBoards() }, - modifier = Modifier.padding(paddingValues), ) } @@ -107,11 +106,10 @@ fun KanbanScreen( Text( text = state.errorMessage ?: "", color = MaterialTheme.colorScheme.error, - modifier = Modifier.padding(paddingValues), ) } else { Column( - modifier = Modifier.fillMaxSize().padding(paddingValues), + modifier = Modifier.fillMaxSize(), ) { SearchBar( query = query,