Skip to content
Snippets Groups Projects
Commit d9323f3b authored by Baryshnikov Oleg's avatar Baryshnikov Oleg
Browse files

Add favorite icon to favorite characters.

parent afaf6f65
No related branches found
No related tags found
No related merge requests found
...@@ -11,4 +11,6 @@ val Pink40 = Color(0xFF7D5260) ...@@ -11,4 +11,6 @@ val Pink40 = Color(0xFF7D5260)
val White = Color(0xFFFFFFFF) val White = Color(0xFFFFFFFF)
val DarkGray = Color(0xFF212224) val DarkGray = Color(0xFF212224)
val LightGray = Color(0xFFF4F4F9) val LightGray = Color(0xFFF4F4F9)
val Gray = Color(0xFFbCBCBC) val Gray = Color(0xFFbCBCBC)
\ No newline at end of file
val Blue = Color(0xFF1818FF)
\ No newline at end of file
...@@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.height ...@@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Text import androidx.compose.material3.Text
...@@ -16,12 +17,16 @@ import androidx.compose.runtime.Composable ...@@ -16,12 +17,16 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.bumptech.glide.integration.compose.ExperimentalGlideComposeApi import com.bumptech.glide.integration.compose.ExperimentalGlideComposeApi
import com.bumptech.glide.integration.compose.GlideImage import com.bumptech.glide.integration.compose.GlideImage
import cz.fel.barysole.ackeetesttask.R
import cz.fel.barysole.ackeetesttask.model.CharacterInfo import cz.fel.barysole.ackeetesttask.model.CharacterInfo
import cz.fel.barysole.ackeetesttask.ui.screen.Screen
@OptIn(ExperimentalGlideComposeApi::class) @OptIn(ExperimentalGlideComposeApi::class)
@Composable @Composable
...@@ -30,7 +35,9 @@ fun CharacterListItem(character: CharacterInfo, onItemSelected: (id: Long) -> Un ...@@ -30,7 +35,9 @@ fun CharacterListItem(character: CharacterInfo, onItemSelected: (id: Long) -> Un
shape = MaterialTheme.shapes.large, shape = MaterialTheme.shapes.large,
color = MaterialTheme.colorScheme.surface, color = MaterialTheme.colorScheme.surface,
shadowElevation = 4.dp, shadowElevation = 4.dp,
modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp).clickable { onItemSelected(character.id) } modifier = Modifier
.padding(horizontal = 8.dp, vertical = 4.dp)
.clickable { onItemSelected(character.id) }
) { ) {
Row( Row(
modifier = Modifier modifier = Modifier
...@@ -49,14 +56,25 @@ fun CharacterListItem(character: CharacterInfo, onItemSelected: (id: Long) -> Un ...@@ -49,14 +56,25 @@ fun CharacterListItem(character: CharacterInfo, onItemSelected: (id: Long) -> Un
} }
Spacer(modifier = Modifier.width(12.dp)) Spacer(modifier = Modifier.width(12.dp))
Column { Column {
Text( Row (verticalAlignment = Alignment.CenterVertically) {
text = "${character.name}", Text(
style = MaterialTheme.typography.titleMedium, text = "${character.name}",
fontWeight = FontWeight.Bold, style = MaterialTheme.typography.titleMedium,
maxLines = 2, fontWeight = FontWeight.Bold,
overflow = TextOverflow.Ellipsis maxLines = 2,
overflow = TextOverflow.Ellipsis
) )
if (character.isFavorite) {
Icon(
painterResource(R.drawable.baseline_star_24),
modifier = Modifier
.padding(horizontal = 8.dp)
.size(16.dp),
tint = Color.Blue,
contentDescription = "Arrow back icon"
)
}
}
Spacer(modifier = Modifier.height(4.dp)) Spacer(modifier = Modifier.height(4.dp))
character.status?.let { character.status?.let {
Text( Text(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment