@@ -18,14 +18,18 @@ import androidx.compose.foundation.layout.Box
1818import androidx.compose.foundation.layout.Column
1919import androidx.compose.foundation.layout.Row
2020import androidx.compose.foundation.layout.Spacer
21+ import androidx.compose.foundation.layout.WindowInsets
22+ import androidx.compose.foundation.layout.asPaddingValues
2123import androidx.compose.foundation.layout.fillMaxSize
2224import androidx.compose.foundation.layout.fillMaxWidth
2325import androidx.compose.foundation.layout.height
2426import androidx.compose.foundation.layout.padding
27+ import androidx.compose.foundation.layout.statusBars
2528import androidx.compose.foundation.rememberScrollState
29+ import androidx.compose.foundation.shape.CircleShape
2630import androidx.compose.foundation.verticalScroll
2731import androidx.compose.material.icons.Icons
28- import androidx.compose.material.icons.filled.ArrowBack
32+ import androidx.compose.material.icons.automirrored. filled.ArrowBack
2933import androidx.compose.material.icons.filled.Star
3034import androidx.compose.material3.CircularProgressIndicator
3135import androidx.compose.material3.ElevatedCard
@@ -35,8 +39,6 @@ import androidx.compose.material3.IconButton
3539import androidx.compose.material3.MaterialTheme
3640import androidx.compose.material3.Scaffold
3741import androidx.compose.material3.Text
38- import androidx.compose.material3.TopAppBar
39- import androidx.compose.material3.TopAppBarDefaults
4042import androidx.compose.runtime.Composable
4143import androidx.compose.runtime.collectAsState
4244import 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