Skip to content

Commit f3b516c

Browse files
Merge pull request #593 from MadridSquad/fix/placeholder-image
Fix/placeholder image
2 parents 3928828 + f1d5aa4 commit f3b516c

File tree

8 files changed

+40
-99
lines changed

8 files changed

+40
-99
lines changed

designSystem/src/main/java/com/madrid/designSystem/component/ImageViewer.kt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
11
package com.madrid.designSystem.component
22

33
import androidx.compose.foundation.Image
4+
import androidx.compose.foundation.background
45
import androidx.compose.foundation.layout.Box
56
import androidx.compose.foundation.layout.fillMaxSize
67
import androidx.compose.foundation.shape.RoundedCornerShape
78
import androidx.compose.runtime.Composable
89
import androidx.compose.ui.Alignment
910
import androidx.compose.ui.Modifier
1011
import androidx.compose.ui.draw.clip
12+
import androidx.compose.ui.graphics.Color
1113
import androidx.compose.ui.graphics.ColorFilter
1214
import androidx.compose.ui.graphics.DefaultAlpha
1315
import androidx.compose.ui.graphics.FilterQuality
1416
import androidx.compose.ui.graphics.drawscope.DrawScope
17+
import androidx.compose.ui.graphics.vector.ImageVector
1518
import androidx.compose.ui.layout.ContentScale
16-
import androidx.compose.ui.res.painterResource
1719
import androidx.compose.ui.res.stringResource
20+
import androidx.compose.ui.res.vectorResource
1821
import androidx.compose.ui.unit.dp
1922
import coil.compose.AsyncImagePainter
2023
import coil.compose.SubcomposeAsyncImage
2124
import com.madrid.designSystem.R
22-
import com.madrid.designSystem.theme.Theme
25+
import com.madrid.designSystem.theme.LocalIsDarkTheme
2326

2427
/**
2528
* A customizable image viewer component that uses SubcomposeAsyncImage for efficient image loading.
@@ -55,17 +58,18 @@ fun ImageViewer(
5558
},
5659
success: (@Composable () -> Unit)? = null,
5760
error: (@Composable () -> Unit)? = {
61+
val isDarkTheme = LocalIsDarkTheme.current
5862
Box(
5963
modifier = Modifier
60-
.fillMaxSize(),
64+
.fillMaxSize()
65+
.background(if (isDarkTheme) Color(0xff252E3C) else Color(0xffA1AEC3)),
6166
contentAlignment = Alignment.Center
6267
) {
6368
Image(
64-
painter = painterResource(Theme.drawables.imagePlaceHolderId),
69+
modifier = Modifier.fillMaxSize(0.3f),
70+
imageVector = ImageVector.vectorResource(id = R.drawable.placeholder_icon),
6571
contentDescription = stringResource(R.string.image_loading_error),
66-
modifier = Modifier.fillMaxSize(),
67-
alignment = Alignment.Center,
68-
contentScale = ContentScale.FillBounds,
72+
colorFilter = ColorFilter.tint(Color(0xFFEFF1F5))
6973
)
7074
}
7175
},
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:width="24dp"
4+
android:height="24dp"
5+
android:viewportWidth="24"
6+
android:viewportHeight="24">
7+
<path
8+
android:pathData="m10.824,11.682 l2.365,2.57 3.837,-5.326 2.756,8.66 -13.037,-0.056z"
9+
android:strokeWidth="0.0389021"
10+
android:fillColor="#000000"
11+
android:strokeColor="#00000000"/>
12+
<path
13+
android:pathData="M19.328,3.842 L3.386,3.834 3.405,18.871 1.882,18.852 1.883,2.153 19.335,2.166Z"
14+
android:strokeWidth="0.0389021"
15+
android:fillColor="#000000"
16+
android:strokeColor="#ffffff"/>
17+
<path
18+
android:pathData="M5.245,5.63h16.014v15.302h-16.014z"
19+
android:strokeWidth="1.55339"
20+
android:fillColor="#00000000"
21+
android:strokeColor="#000000"/>
22+
<path
23+
android:pathData="M6.957,10.542a1.435,1.541 0,1 0,2.871 0a1.435,1.541 0,1 0,-2.871 0z"
24+
android:strokeWidth="1.55339"
25+
android:fillColor="#000000"
26+
android:strokeColor="#00000000"/>
27+
</vector>

presentation/src/main/java/com/madrid/presentation/component/MovieHomeCard.kt

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.madrid.presentation.component
22

3-
import androidx.compose.foundation.Image
43
import androidx.compose.foundation.background
54
import androidx.compose.foundation.border
65
import androidx.compose.foundation.clickable
@@ -46,7 +45,7 @@ fun MovieHomeCard(
4645
.clip(
4746
RoundedCornerShape(8.dp)
4847
)
49-
.clickable( onClick = onClick),
48+
.clickable(onClick = onClick),
5049
) {
5150
ImageViewer(
5251
model = movieId,
@@ -55,18 +54,6 @@ fun MovieHomeCard(
5554
modifier = Modifier
5655
.fillMaxSize()
5756
.height(200.dp),
58-
error = {
59-
Box(
60-
modifier = Modifier
61-
.fillMaxSize(), contentAlignment = Alignment.Center
62-
) {
63-
Image(
64-
painter = painterResource(R.drawable.image_placeholder),
65-
contentScale = ContentScale.FillBounds,
66-
contentDescription = null,
67-
)
68-
}
69-
}
7057
)
7158
Box(
7259
modifier = Modifier
@@ -107,7 +94,6 @@ fun MovieHomeCard(
10794
.blur(25.dp)
10895
)
10996

110-
11197
Column(
11298
Modifier
11399
.fillMaxSize()

presentation/src/main/java/com/madrid/presentation/component/movioCards/MovioEpisodesCard.kt

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package com.madrid.presentation.component.movioCards
22

3-
import androidx.compose.foundation.Image
43
import androidx.compose.foundation.background
54
import androidx.compose.foundation.clickable
65
import androidx.compose.foundation.layout.Arrangement
76
import androidx.compose.foundation.layout.Box
87
import androidx.compose.foundation.layout.Column
98
import androidx.compose.foundation.layout.Row
10-
import androidx.compose.foundation.layout.fillMaxSize
119
import androidx.compose.foundation.layout.height
1210
import androidx.compose.foundation.layout.padding
1311
import androidx.compose.foundation.layout.size
@@ -57,21 +55,6 @@ fun MovioEpisodesCard(
5755
.width(100.dp)
5856
.clip(RoundedCornerShape(8.dp)),
5957
contentScale = androidx.compose.ui.layout.ContentScale.Crop,
60-
error = {
61-
Box(
62-
modifier = Modifier
63-
.fillMaxSize()
64-
.clip(RoundedCornerShape(8.dp))
65-
) {
66-
Image(
67-
painter = painterResource(R.drawable.image_placeholder),
68-
contentDescription = null,
69-
modifier = Modifier
70-
.fillMaxSize()
71-
.clip(RoundedCornerShape(8.dp))
72-
)
73-
}
74-
}
7558
)
7659
Box(
7760
modifier = Modifier

presentation/src/main/java/com/madrid/presentation/component/movioCards/MovioHorizontalCard.kt

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import androidx.compose.foundation.clickable
66
import androidx.compose.foundation.layout.Arrangement
77
import androidx.compose.foundation.layout.Column
88
import androidx.compose.foundation.layout.Row
9-
import androidx.compose.foundation.layout.fillMaxSize
109
import androidx.compose.foundation.layout.fillMaxWidth
1110
import androidx.compose.foundation.layout.height
1211
import androidx.compose.foundation.layout.padding
@@ -19,14 +18,12 @@ import androidx.compose.ui.draw.clip
1918
import androidx.compose.ui.graphics.Color
2019
import androidx.compose.ui.layout.ContentScale
2120
import androidx.compose.ui.platform.LocalLayoutDirection
22-
import androidx.compose.ui.res.painterResource
2321
import androidx.compose.ui.text.style.TextOverflow
2422
import androidx.compose.ui.tooling.preview.Preview
2523
import androidx.compose.ui.unit.Dp
2624
import androidx.compose.ui.unit.LayoutDirection
2725
import androidx.compose.ui.unit.dp
2826
import com.madrid.designSystem.component.ImageViewer
29-
import com.madrid.designSystem.component.MovioIcon
3027
import com.madrid.designSystem.component.MovioText
3128
import com.madrid.designSystem.theme.MovioTheme
3229
import com.madrid.designSystem.theme.Theme
@@ -100,15 +97,6 @@ fun MovioHorizontalCardContent(
10097
.height(height)
10198
.clip(RoundedCornerShape(8.dp)),
10299
contentScale = contentScale,
103-
error = {
104-
MovioIcon(
105-
painter = painterResource(com.madrid.designSystem.R.drawable.image_placeholder),
106-
contentDescription = null,
107-
modifier = Modifier
108-
.fillMaxSize()
109-
.clip(RoundedCornerShape(8.dp))
110-
)
111-
}
112100
)
113101
Column(
114102
modifier = modifier

presentation/src/main/java/com/madrid/presentation/component/movioCards/MovioSeasonCard.kt

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package com.madrid.presentation.component.movioCards
22

3-
import androidx.compose.foundation.Image
43
import androidx.compose.foundation.background
54
import androidx.compose.foundation.clickable
65
import androidx.compose.foundation.layout.Arrangement
76
import androidx.compose.foundation.layout.Box
87
import androidx.compose.foundation.layout.Column
98
import androidx.compose.foundation.layout.Row
10-
import androidx.compose.foundation.layout.fillMaxSize
119
import androidx.compose.foundation.layout.fillMaxWidth
1210
import androidx.compose.foundation.layout.height
1311
import androidx.compose.foundation.layout.padding
@@ -17,7 +15,6 @@ import androidx.compose.runtime.Composable
1715
import androidx.compose.ui.Alignment
1816
import androidx.compose.ui.Modifier
1917
import androidx.compose.ui.draw.clip
20-
import androidx.compose.ui.res.painterResource
2118
import androidx.compose.ui.res.stringResource
2219
import androidx.compose.ui.tooling.preview.Preview
2320
import androidx.compose.ui.unit.dp
@@ -26,6 +23,7 @@ import com.madrid.designSystem.component.MovioText
2623
import com.madrid.designSystem.theme.MovioTheme
2724
import com.madrid.designSystem.theme.Theme
2825
import com.madrid.presentation.R
26+
2927
@Composable
3028
fun MovioSeasonCard(
3129
movieTitle: String,
@@ -52,25 +50,6 @@ fun MovioSeasonCard(
5250
.height(100.dp)
5351
.clip(RoundedCornerShape(8.dp)),
5452
contentScale = androidx.compose.ui.layout.ContentScale.Crop,
55-
error = {
56-
Box(
57-
modifier = Modifier
58-
.fillMaxSize()
59-
.padding(8.dp)
60-
.clip(RoundedCornerShape(8.dp))
61-
.background(color = Theme.color.surfaces.onSurfaceContainer)
62-
) {
63-
Image(
64-
painter = painterResource(com.madrid.designSystem.R.drawable.image_placeholder),
65-
contentDescription = null,
66-
modifier = Modifier
67-
.fillMaxSize()
68-
.clip(
69-
RoundedCornerShape(8.dp)
70-
)
71-
)
72-
}
73-
}
7453
)
7554
Column(
7655
modifier = modifier

presentation/src/main/java/com/madrid/presentation/component/movioCards/MovioVerticalCard.kt

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package com.madrid.presentation.component.movioCards
22

3-
import androidx.compose.foundation.Image
43
import androidx.compose.foundation.background
54
import androidx.compose.foundation.clickable
65
import androidx.compose.foundation.layout.Box
76
import androidx.compose.foundation.layout.Column
8-
import androidx.compose.foundation.layout.fillMaxSize
97
import androidx.compose.foundation.layout.fillMaxWidth
108
import androidx.compose.foundation.layout.height
119
import androidx.compose.foundation.layout.padding
@@ -17,7 +15,6 @@ import androidx.compose.ui.Modifier
1715
import androidx.compose.ui.draw.clip
1816
import androidx.compose.ui.graphics.Brush
1917
import androidx.compose.ui.layout.ContentScale
20-
import androidx.compose.ui.res.painterResource
2118
import androidx.compose.ui.text.style.TextOverflow
2219
import androidx.compose.ui.tooling.preview.Preview
2320
import androidx.compose.ui.unit.Dp
@@ -57,22 +54,6 @@ fun MovioVerticalCard(
5754
.height(imageHeight)
5855
.clip(RoundedCornerShape(8.dp)),
5956
contentScale = ContentScale.FillBounds,
60-
error = {
61-
Box(
62-
modifier = Modifier
63-
.fillMaxSize()
64-
.clip(RoundedCornerShape(8.dp))
65-
) {
66-
Image(
67-
painter = painterResource(Theme.drawables.imagePlaceHolderId),
68-
contentDescription = null,
69-
contentScale = ContentScale.FillBounds,
70-
modifier = Modifier
71-
.fillMaxSize()
72-
.clip(RoundedCornerShape(8.dp))
73-
)
74-
}
75-
}
7657
)
7758
RateIcon(
7859
rate = rate,

presentation/src/main/java/com/madrid/presentation/component/videoLibrary/videoLibrary.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,6 @@ fun VideoLibrary(
5353
contentDescription = stringResource(com.madrid.presentation.R.string.background_image_of_squares),
5454
modifier = Modifier.fillMaxWidth(),
5555
contentScale = ContentScale.Crop,
56-
error = {
57-
Image(
58-
painter = painterResource(com.madrid.presentation.R.drawable.library_background),
59-
contentDescription = stringResource(com.madrid.presentation.R.string.background_image_of_squares),
60-
contentScale = ContentScale.Crop
61-
)
62-
}
6356
)
6457
} else {
6558
Image(

0 commit comments

Comments
 (0)