Открытие экрана Tasks при нажатии на уведомление
This commit is contained in:
@@ -17,6 +17,7 @@ import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
@@ -39,17 +40,20 @@ import com.github.nullptroma.wallenc.ui.theme.WallencTheme
|
||||
|
||||
|
||||
@Composable
|
||||
fun WallencUi() {
|
||||
fun WallencUi(taskPipelineOpenRequestCount: Int = 0) {
|
||||
WallencTheme {
|
||||
Surface {
|
||||
WallencNavRoot()
|
||||
WallencNavRoot(taskPipelineOpenRequestCount = taskPipelineOpenRequestCount)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun WallencNavRoot(viewModel: WallencViewModel = hiltViewModel()) {
|
||||
fun WallencNavRoot(
|
||||
viewModel: WallencViewModel = hiltViewModel(),
|
||||
taskPipelineOpenRequestCount: Int = 0,
|
||||
) {
|
||||
val navState = rememberNavigationState()
|
||||
val mainNavState = rememberNavigationState()
|
||||
|
||||
@@ -58,6 +62,12 @@ fun WallencNavRoot(viewModel: WallencViewModel = hiltViewModel()) {
|
||||
|
||||
val topLevelRoutes = viewModel.routes
|
||||
|
||||
LaunchedEffect(taskPipelineOpenRequestCount) {
|
||||
if (taskPipelineOpenRequestCount <= 0) return@LaunchedEffect
|
||||
val route = topLevelRoutes[TaskPipelineRoute::class.qualifiedName!!] ?: return@LaunchedEffect
|
||||
navState.changeTop(route)
|
||||
}
|
||||
|
||||
val topLevelNavBarItems = remember {
|
||||
mapOf(
|
||||
MainRoute::class.qualifiedName!! to NavBarItemData(
|
||||
|
||||
Reference in New Issue
Block a user