Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Creando nuestra pantalla de detalle

19/26
Recursos

Aportes 1

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

DetailScreen

package tech.yeswecode.coffe4coders.screens


import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Button
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Scaffold
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.runtime.Composable
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import androidx.navigation.compose.rememberNavController
import tech.yeswecode.coffe4coders.ui.theme.Coffe4codersTheme
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import tech.yeswecode.coffe4coders.components.*


@Composable
fun DetailScreen(navController: NavController, countryISO: CountryISO){

    Scaffold(
        topBar = {
            CustompAppbar(navigationIcon = Icons.Filled.ArrowBack){
                navController.navigate("feed"){
                    popUpTo("feed")
                }
            }
        },
        content = {
            Column(
                modifier = Modifier.verticalScroll(rememberScrollState())
            ) {
                Box(
                    modifier = Modifier
                        .fillMaxWidth()
                        .height(400.dp)
                ){
                    Image(
                        painter = painterResource(id = countryISO.getBackgraundImage()),
                        contentDescription = null,
                        contentScale = ContentScale.Crop,
                        modifier =  Modifier.fillMaxSize()
                    )
                }
                Column(modifier = Modifier.padding(16.dp)) {
                    TitleText(title = "Café de colombia")
                    Text("Lorem llkfasdsakdk safasfjk asfsafasjj jaskjaskjas afjasfkafj",
                                style = MaterialTheme.typography.caption)
                    Spacer(modifier = Modifier.height(24.dp))
                    BodyText(body = "En Enfoque de los Sábados, los rectores de las universidades Católica, UNI y Cayetana Heredia coincidieron en rechazar de manera tajante la decisión del Congreso de la República de aprobar el proyecto de ley que recompone el consejo directivo de la Sunedu.")
                    Spacer(modifier = Modifier.height(24.dp))
                    Row(
                        horizontalArrangement = Arrangement.spacedBy(16.dp)
                    ) {
                        Text("$ 35.0m USD",
                            style = MaterialTheme.typography.h5,
                            textAlign = TextAlign.End
                        )
                        CustomButton(label = "Continuar") {
                            navController.navigate("checkout"){
                                launchSingleTop=true
                            }
                        }
                    }
                }
            }
        }
    )
}

@Preview(
    showBackground = true
)
@Composable
fun DetailScreenPreview(){
    Coffe4codersTheme() {
        val navController = rememberNavController()
        DetailScreen(navController, CountryISO.BRA)
    }

}