1
1
package org.michaelbel.movies.feed.ui
2
2
3
3
import androidx.compose.foundation.background
4
+ import androidx.compose.foundation.layout.Arrangement
5
+ import androidx.compose.foundation.layout.Column
4
6
import androidx.compose.foundation.layout.fillMaxSize
7
+ import androidx.compose.foundation.layout.fillMaxWidth
8
+ import androidx.compose.foundation.layout.padding
9
+ import androidx.compose.foundation.layout.size
5
10
import androidx.compose.material3.Icon
6
11
import androidx.compose.material3.MaterialTheme
7
12
import androidx.compose.material3.Text
8
13
import androidx.compose.runtime.Composable
14
+ import androidx.compose.ui.Alignment
9
15
import androidx.compose.ui.Modifier
10
16
import androidx.compose.ui.text.style.TextAlign
11
17
import androidx.compose.ui.unit.dp
12
- import androidx.constraintlayout.compose.ConstraintLayout
13
- import androidx.constraintlayout.compose.Dimension
14
18
import org.jetbrains.compose.resources.stringResource
15
19
import org.jetbrains.compose.ui.tooling.preview.Preview
16
20
import org.michaelbel.movies.ui.accessibility.MoviesContentDescriptionCommon
@@ -22,34 +26,21 @@ import org.michaelbel.movies.ui.theme.MoviesTheme
22
26
internal fun FeedEmpty (
23
27
modifier : Modifier = Modifier
24
28
) {
25
- ConstraintLayout (
26
- modifier = modifier
29
+ Column (
30
+ modifier = modifier.fillMaxWidth(),
31
+ verticalArrangement = Arrangement .Center ,
32
+ horizontalAlignment = Alignment .CenterHorizontally
27
33
) {
28
- val (image, text) = createRefs()
29
-
30
34
Icon (
31
35
imageVector = MoviesIcons .LocalMovies ,
32
36
contentDescription = MoviesContentDescriptionCommon .None ,
33
- modifier = Modifier .constrainAs(image) {
34
- width = Dimension .value(36 .dp)
35
- height = Dimension .value(36 .dp)
36
- start.linkTo(parent.start)
37
- top.linkTo(parent.top)
38
- end.linkTo(parent.end)
39
- bottom.linkTo(parent.bottom, 8 .dp)
40
- },
37
+ modifier = Modifier .size(36 .dp),
41
38
tint = MaterialTheme .colorScheme.error
42
39
)
43
40
44
41
Text (
45
42
text = stringResource(MoviesStrings .feed_error_empty),
46
- modifier = Modifier .constrainAs(text) {
47
- width = Dimension .fillToConstraints
48
- height = Dimension .wrapContent
49
- start.linkTo(parent.start, 16 .dp)
50
- top.linkTo(image.bottom, 8 .dp)
51
- end.linkTo(parent.end, 16 .dp)
52
- },
43
+ modifier = Modifier .padding(start = 16 .dp, top = 8 .dp, end = 16 .dp),
53
44
textAlign = TextAlign .Center ,
54
45
style = MaterialTheme .typography.bodyMedium.copy(MaterialTheme .colorScheme.onPrimaryContainer)
55
46
)
0 commit comments