Coverage Summary for Class: TimeSignatureViewKt (com.vsevolodganin.clicktrack.ui.piece)

Class Class, % Method, % Branch, % Line, % Instruction, %
TimeSignatureViewKt 0% (0/1) 0% (0/5) 0% (0/12) 0% (0/24) 0% (0/492)


 package com.vsevolodganin.clicktrack.ui.piece
 
 import androidx.compose.foundation.clickable
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.padding
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.MutableState
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.unit.dp
 import com.vsevolodganin.clicktrack.model.TimeSignature
 import com.vsevolodganin.clicktrack.ui.theme.ClickTrackTheme
 import org.jetbrains.compose.ui.tooling.preview.Preview
 
 @Composable
 fun TimeSignatureView(state: MutableState<TimeSignature>, modifier: Modifier = Modifier) {
     TimeSignatureView(
         value = state.value,
         onValueChange = { state.value = it },
         modifier = modifier,
     )
 }
 
 @Composable
 fun TimeSignatureView(value: TimeSignature, onValueChange: (TimeSignature) -> Unit, modifier: Modifier = Modifier) {
     var isEditDialogOpened by rememberSaveable { mutableStateOf(false) }
 
     Box(
         modifier = modifier
             .selectableBorder(isSelected = false)
             .clickable { isEditDialogOpened = !isEditDialogOpened }
             .padding(8.dp),
     ) {
         Text(text = "${value.noteCount}/${value.noteValue}")
     }
 
     if (isEditDialogOpened) {
         TimeSignatureEditDialog(
             value = value,
             onValueChange = onValueChange,
             onDismissRequest = { isEditDialogOpened = false },
         )
     }
 }
 
 @Preview
 @Composable
 private fun Preview() = ClickTrackTheme {
     TimeSignatureView(
         state = remember { mutableStateOf(TimeSignature(4, 4)) },
     )
 }