Открытие экрана Tasks при нажатии на уведомление

This commit is contained in:
2026-05-11 22:28:07 +03:00
parent 61bcaa95d8
commit 88a13080e5
3 changed files with 53 additions and 4 deletions

View File

@@ -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(