Skip to content

Commit fb212ca

Browse files
committed
style: remove TopAppBar from EpisodeDetailScreen for better legibility
1 parent 1e68e82 commit fb212ca

File tree

1 file changed

+32
-23
lines changed

1 file changed

+32
-23
lines changed

app/src/main/java/com/theupnextapp/ui/episodeDetail/EpisodeDetailScreen.kt

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,18 @@ import androidx.compose.foundation.layout.Box
1818
import androidx.compose.foundation.layout.Column
1919
import androidx.compose.foundation.layout.Row
2020
import androidx.compose.foundation.layout.Spacer
21+
import androidx.compose.foundation.layout.WindowInsets
22+
import androidx.compose.foundation.layout.asPaddingValues
2123
import androidx.compose.foundation.layout.fillMaxSize
2224
import androidx.compose.foundation.layout.fillMaxWidth
2325
import androidx.compose.foundation.layout.height
2426
import androidx.compose.foundation.layout.padding
27+
import androidx.compose.foundation.layout.statusBars
2528
import androidx.compose.foundation.rememberScrollState
29+
import androidx.compose.foundation.shape.CircleShape
2630
import androidx.compose.foundation.verticalScroll
2731
import androidx.compose.material.icons.Icons
28-
import androidx.compose.material.icons.filled.ArrowBack
32+
import androidx.compose.material.icons.automirrored.filled.ArrowBack
2933
import androidx.compose.material.icons.filled.Star
3034
import androidx.compose.material3.CircularProgressIndicator
3135
import androidx.compose.material3.ElevatedCard
@@ -35,8 +39,6 @@ import androidx.compose.material3.IconButton
3539
import androidx.compose.material3.MaterialTheme
3640
import androidx.compose.material3.Scaffold
3741
import androidx.compose.material3.Text
38-
import androidx.compose.material3.TopAppBar
39-
import androidx.compose.material3.TopAppBarDefaults
4042
import androidx.compose.runtime.Composable
4143
import androidx.compose.runtime.collectAsState
4244
import androidx.compose.runtime.getValue
@@ -69,26 +71,7 @@ fun EpisodeDetailScreen(
6971
val uiState by viewModel.uiState.collectAsState()
7072
val scrollState = rememberScrollState()
7173

72-
Scaffold(
73-
topBar = {
74-
TopAppBar(
75-
title = { Text(text = episodeDetailArg?.showTitle ?: stringResource(id = R.string.title_episode_detail)) },
76-
navigationIcon = {
77-
IconButton(onClick = { navController.popBackStack() }) {
78-
Icon(
79-
imageVector = Icons.Default.ArrowBack,
80-
contentDescription = stringResource(id = R.string.back_arrow_content_description),
81-
)
82-
}
83-
},
84-
colors =
85-
TopAppBarDefaults.topAppBarColors(
86-
containerColor = Color.Transparent,
87-
scrolledContainerColor = MaterialTheme.colorScheme.surface.copy(alpha = 0.95f),
88-
),
89-
)
90-
},
91-
) { paddingValues ->
74+
Scaffold { paddingValues ->
9275
Box(
9376
modifier =
9477
Modifier
@@ -165,6 +148,15 @@ fun EpisodeDetailScreen(
165148
modifier = Modifier.padding(24.dp),
166149
verticalArrangement = Arrangement.spacedBy(16.dp),
167150
) {
151+
episodeDetailArg?.showTitle?.let { showTitle ->
152+
Text(
153+
text = showTitle,
154+
style = MaterialTheme.typography.titleMedium,
155+
color = MaterialTheme.colorScheme.primary,
156+
fontWeight = FontWeight.SemiBold,
157+
)
158+
}
159+
168160
Text(
169161
text = uiState.episodeDetail?.title ?: stringResource(id = R.string.title_unknown),
170162
style = MaterialTheme.typography.headlineMedium,
@@ -229,6 +221,23 @@ fun EpisodeDetailScreen(
229221
}
230222
}
231223
}
224+
225+
IconButton(
226+
onClick = { navController.popBackStack() },
227+
modifier =
228+
Modifier
229+
.padding(
230+
top = WindowInsets.statusBars.asPaddingValues().calculateTopPadding() + 8.dp,
231+
start = 16.dp,
232+
)
233+
.background(color = Color.Black.copy(alpha = 0.5f), shape = CircleShape),
234+
) {
235+
Icon(
236+
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
237+
contentDescription = stringResource(id = R.string.back_arrow_content_description),
238+
tint = Color.White,
239+
)
240+
}
232241
}
233242
}
234243
}

0 commit comments

Comments
 (0)