feat: beat annotator
This commit is contained in:
@@ -12,6 +12,7 @@ import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.NavType
|
||||
@@ -32,6 +33,7 @@ fun LockstepAppNavHost(
|
||||
navController: NavHostController,
|
||||
viewModel: LockstepViewModel,
|
||||
) {
|
||||
val annotationMode by viewModel.annotationMode.collectAsStateWithLifecycle()
|
||||
var playback by remember { mutableStateOf<PlaybackService?>(null) }
|
||||
|
||||
DisposableEffect(Unit) {
|
||||
@@ -70,7 +72,11 @@ fun LockstepAppNavHost(
|
||||
navController.navigate(Routes.pairing(playlist.id))
|
||||
} else {
|
||||
startPlaylistPlayback(activity, playlist.id)
|
||||
navController.navigate(Routes.nowPlaying(playlist.id))
|
||||
if (annotationMode) {
|
||||
navController.navigate(Routes.annotation(playlist.id))
|
||||
} else {
|
||||
navController.navigate(Routes.nowPlaying(playlist.id))
|
||||
}
|
||||
}
|
||||
},
|
||||
onOpenSettings = {
|
||||
@@ -112,6 +118,21 @@ fun LockstepAppNavHost(
|
||||
onBack = { navController.popBackStack() },
|
||||
)
|
||||
}
|
||||
composable(
|
||||
route = Routes.Annotation,
|
||||
arguments =
|
||||
listOf(
|
||||
navArgument("playlistId") { type = NavType.StringType },
|
||||
),
|
||||
) { entry ->
|
||||
val playlistId = entry.arguments?.getString("playlistId").orEmpty()
|
||||
AnnotationRoute(
|
||||
playlistId = playlistId,
|
||||
playback = playback,
|
||||
viewModel = viewModel,
|
||||
onBack = { navController.popBackStack() },
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user