Coverage Summary for Class: HomeScreenKt (ui.home)

Class Method, % Branch, % Line, % Instruction, %
HomeScreenKt 0% (0/7) 0% (0/6) 0% (0/44) 0% (0/581)
HomeScreenKt$Home$1$1 0% (0/1) 0% (0/3) 0% (0/65)
Total 0% (0/8) 0% (0/6) 0% (0/47) 0% (0/646)


 package ui.home
 
 import androidx.compose.animation.AnimatedVisibility
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.basicMarquee
 import androidx.compose.foundation.layout.*
 import androidx.compose.foundation.text.selection.SelectionContainer
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.Home
 import androidx.compose.material.icons.filled.Star
 import androidx.compose.material3.*
 import androidx.compose.runtime.*
 import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.text.AnnotatedString
 import androidx.compose.ui.text.SpanStyle
 import androidx.compose.ui.text.buildAnnotatedString
 import androidx.compose.ui.text.font.FontWeight
 import androidx.compose.ui.text.withStyle
 import androidx.compose.ui.unit.dp
 import dev.suresh.compose.res.*
 import dev.suresh.platform
 import org.jetbrains.compose.resources.painterResource
 import org.jetbrains.compose.resources.vectorResource
 import org.jetbrains.compose.ui.tooling.preview.Preview
 import ui.debug
 import ui.lottie.lottie
 
 @Composable
 @Preview
 fun Home(navToFile: () -> Unit, navToImage: () -> Unit) {
   val coroutineScope = rememberCoroutineScope()
   var text by rememberSaveable { mutableStateOf(AnnotatedString("Compose Multiplatform!")) }
   var showImage by rememberSaveable { mutableStateOf(false) }
 
   Column(
       modifier =
           Modifier.fillMaxSize().padding(10.dp).debug(color = MaterialTheme.colorScheme.primary),
       horizontalAlignment = Alignment.CenterHorizontally,
       verticalArrangement = Arrangement.SpaceEvenly) {
         SelectionContainer {
           Text(
               text,
               modifier = Modifier.basicMarquee().fillMaxWidth().align(Alignment.CenterHorizontally))
         }
 
         Button(
             onClick = {
               text = buildAnnotatedString {
                 append("Compose ${platform.name} App: ")
                 withStyle(style = SpanStyle(color = Color.Blue, fontWeight = FontWeight.Bold)) {
                   append(BuildConfig.version)
                 }
                 appendLine()
 
                 append("Java : ")
                 withStyle(style = SpanStyle(color = Color.Blue, fontWeight = FontWeight.Bold)) {
                   append(BuildConfig.java)
                 }
                 appendLine()
 
                 append("Kotlin : ")
                 withStyle(style = SpanStyle(color = Color.Blue, fontWeight = FontWeight.Bold)) {
                   append(KotlinVersion.CURRENT.toString())
                 }
                 appendLine()
 
                 append("Compose Multiplatform : ")
                 withStyle(style = SpanStyle(color = Color.Blue, fontWeight = FontWeight.Bold)) {
                   append(BuildConfig.jetbrainsCompose)
                 }
               }
               showImage = !showImage
             }) {
               Text(text = "Click")
             }
 
         AnimatedVisibility(visible = showImage) {
           Row {
             Image(
                 modifier = Modifier.size(100.dp),
                 imageVector = vectorResource(Res.drawable.compose_multiplatform),
                 contentDescription = "Logo")
 
             lottie()
           }
         }
 
         Row {
           ElevatedButton(onClick = navToFile) {
             Icon(
                 painter = painterResource(Res.drawable.ic_fluent_rocket),
                 contentDescription = "File Browser",
                 modifier = Modifier.size(24.dp))
             Spacer(modifier = Modifier.width(5.dp))
             Text("File Browser!")
           }
 
           Spacer(modifier = Modifier.width(5.dp))
 
           ElevatedButton(onClick = navToImage) {
             Icon(
                 imageVector = Icons.Default.Star,
                 contentDescription = "Bird Images",
                 modifier = Modifier.size(24.dp))
             Spacer(modifier = Modifier.width(5.dp))
             Text("Bird Images!")
           }
         }
       }
 }
 
 @Composable
 fun HomeButton(navToHome: () -> Unit) {
   ElevatedButton(onClick = navToHome) {
     Icon(
         imageVector = Icons.Default.Home,
         contentDescription = "Home",
         modifier = Modifier.size(24.dp))
     Spacer(modifier = Modifier.width(5.dp))
     Text("Back to Home")
   }
 }