More fixes for pass item in Compose

This commit is contained in:
Arty Bishop committed 2025-12-27 15:01:32 +00:00
1 parent ac479f80ee
commit 46f0b9608b
7 files changed
+31 -19

No files matched your search

@@ -10,6 +10,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
@@ -20,6 +21,7 @@ import com.rtbishop.look4sat.presentation.MainTheme
import com.rtbishop.look4sat.presentation.aboutScreen.AboutScreen
import com.rtbishop.look4sat.presentation.entriesScreen.EntriesScreen
import com.rtbishop.look4sat.presentation.passesScreen.PassesScreen
import com.rtbishop.look4sat.presentation.passesScreen.PassesViewModel
@Composable
fun BottomNavBar(navController: NavController) {
@@ -50,9 +52,12 @@ fun BottomNavBar(navController: NavController) {
@Composable
fun NavigationGraph(navController: NavHostController) {
val navToPasses = { navController.navigate(BottomNavItem.Passes.screen_route) }
val passesViewModel: PassesViewModel = hiltViewModel()
NavHost(navController, startDestination = BottomNavItem.Passes.screen_route) {
composable(BottomNavItem.Satellites.screen_route) { EntriesScreen(navToPasses) }
composable(BottomNavItem.Passes.screen_route) { PassesScreen() }
composable(BottomNavItem.Satellites.screen_route) {
EntriesScreen(navToPasses, passesViewModel = passesViewModel)
}
composable(BottomNavItem.Passes.screen_route) { PassesScreen(viewModel = passesViewModel) }
composable(BottomNavItem.WorldMap.screen_route) {}
composable(BottomNavItem.Settings.screen_route) {}
composable(BottomNavItem.About.screen_route) { AboutScreen() }
@@ -33,9 +33,12 @@ import com.rtbishop.look4sat.presentation.onClick
import com.rtbishop.look4sat.presentation.passesScreen.PassesViewModel
@Composable
fun EntriesScreen(navToPasses: () -> Unit, viewModel: EntriesViewModel = hiltViewModel()) {
fun EntriesScreen(
navToPasses: () -> Unit,
viewModel: EntriesViewModel = hiltViewModel(),
passesViewModel: PassesViewModel = hiltViewModel()
) {
val state = viewModel.satData.observeAsState(DataState.Loading)
val passesViewModel: PassesViewModel = hiltViewModel()
val unselectAll = { viewModel.selectCurrentItems(false) }
val selectAll = { viewModel.selectCurrentItems(true) }
Column(modifier = Modifier.padding(6.dp), verticalArrangement = Arrangement.spacedBy(6.dp)) {
@@ -105,7 +105,7 @@ class PassesAdapter(private val clickListener: PassesClickListener) :
passStart.text = startFormat.format(Date(satPass.aosTime))
passElev.text = String.format(elevFormat, satPass.maxElevation)
passEnd.text = endFormat.format(Date(satPass.losTime))
passProgress.progress = satPass.progress
passProgress.progress = satPass.progress.toInt()
}
}
@@ -36,7 +36,7 @@ private fun PassPreview() {
"Satellite", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 45000, 0.0
)
val satellite = NearEarthSat(data)
val pass = SatPass(1L, 25.0, 10L, 75.0, 850, 45.0, satellite, 150)
val pass = SatPass(1L, 25.0, 10L, 75.0, 850, 45.0, satellite, 0.5f)
MainTheme { Pass(pass = pass) }
}
@@ -82,7 +82,7 @@ private fun Pass(pass: SatPass, modifier: Modifier = Modifier) {
Text(text = "Elevation: 75")
Text(text = "Sun - 16:02:28")
}
LinearProgressIndicator(progress = 0.5f, modifier.fillMaxWidth())
LinearProgressIndicator(progress = pass.progress, modifier = modifier.fillMaxWidth())
}
}
}
@@ -95,7 +95,7 @@ private fun PassesCard(state: DataState<List<SatPass>>) {
when (state) {
is DataState.Success -> {
LazyColumn {
items(items = state.data, key = { item -> item.aosTime }) { pass ->
items(items = state.data, key = { item -> item.catNum + item.aosTime }) { pass ->
Pass(pass, Modifier.animateItemPlacement())
}
}