Coverage Summary for Class: WorkspaceNavGraphKt (com.georgeci.moneysurfer.feature.workspace)

Class Method, % Branch, % Line, % Instruction, %
WorkspaceNavGraphKt 0% (0/19) 0% (0/2) 0% (0/48) 0% (0/621)
WorkspaceNavGraphKt$workspaceNavGraph$1$1$5$1 0% (0/1) 0% (0/1) 0% (0/8)
WorkspaceNavGraphKt$workspaceNavGraph$1$1$6$1 0% (0/1) 0% (0/1) 0% (0/8)
WorkspaceNavGraphKt$workspaceNavGraph$1$3$2$1 0% (0/1) 0% (0/1) 0% (0/8)
WorkspaceNavGraphKt$workspaceNavGraph$1$3$3$1 0% (0/1) 0% (0/4) 0% (0/9)
WorkspaceNavGraphKt$workspaceNavGraph$1$4$2$1 0% (0/1) 0% (0/1) 0% (0/8)
WorkspaceNavGraphKt$workspaceNavGraph$1$4$3$1 0% (0/1) 0% (0/4) 0% (0/9)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$1 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$10 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$11 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$12 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$13 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$14 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$2 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$3 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$4 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$5 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$6 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$7 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$8 0% (0/1)
WorkspaceNavGraphKt$workspaceNavGraph$lambda$0$$inlined$entry$default$9 0% (0/1)
Total 0% (0/39) 0% (0/2) 0% (0/60) 0% (0/671)


 package com.georgeci.moneysurfer.feature.workspace
 
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
 import com.georgeci.moneysurfer.domain.primitives.UserId
 import com.georgeci.moneysurfer.domain.primitives.WorkspaceId
 import com.georgeci.moneysurfer.feature.workspace.creation.WorkspaceCreationScreen
 import com.georgeci.moneysurfer.feature.workspace.incoming.IncomingInvitesScreen
 import com.georgeci.moneysurfer.feature.workspace.invite.WorkspaceInviteScreen
 import com.georgeci.moneysurfer.feature.workspace.members.MemberActionsBottomSheet
 import com.georgeci.moneysurfer.feature.workspace.members.WorkspaceManageScreen
 import com.georgeci.moneysurfer.feature.workspace.members.WorkspaceMembersBottomSheet
 import com.georgeci.moneysurfer.feature.workspace.selector.WorkspaceSelectorNavigation
 import com.georgeci.moneysurfer.feature.workspace.selector.WorkspaceSelectorScreen
 import com.georgeci.moneysurfer.navigation.BottomSheetSceneStrategy
 import com.georgeci.moneysurfer.navigation.FeatureNavGraph
 import com.georgeci.moneysurfer.navigation.NavDetailPlaceholder
 import com.georgeci.moneysurfer.navigation.Route
 import com.georgeci.moneysurfer.navigation.SurferPaneSceneStrategy
 
 @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3AdaptiveApi::class)
 val workspaceNavGraph: FeatureNavGraph = { navigator ->
     entry<Route.WorkspaceSelector> { key ->
         WorkspaceSelectorScreen(
             showActions = key.showActions,
             navigation = WorkspaceSelectorNavigation(
                 onNavigateBack = { navigator.pop() },
                 onNavigateToDashboard = {
                     navigator.replaceTop(Route.Dashboard)
                 },
                 // `resetTo`: logout wiped the local data, so nothing behind this entry is still valid.
                 onNavigateToSignIn = { navigator.resetTo(Route.SignIn) },
                 onNavigateToWorkspaceCreation = { navigator.push(Route.WorkspaceCreation()) },
                 onNavigateToWorkspaceEdit = { workspaceId ->
                     navigator.push(Route.WorkspaceCreation(workspaceId = workspaceId.value))
                 },
                 onNavigateToWorkspaceMembers = { workspaceId ->
                     navigator.push(Route.WorkspaceMembers(workspaceId = workspaceId.value))
                 },
             ),
             cloudDataUnavailable = key.cloudDataUnavailable,
         )
     }
 
     entry<Route.WorkspaceCreation> { key ->
         WorkspaceCreationScreen(
             workspaceId = key.workspaceId?.let { WorkspaceId(it) },
             onNavigateBack = { navigator.pop() },
         )
     }
 
     entry<Route.WorkspaceMembers>(
         metadata = BottomSheetSceneStrategy.bottomSheet(),
     ) { key ->
         WorkspaceMembersBottomSheet(
             workspaceId = WorkspaceId(key.workspaceId),
             onDismiss = { navigator.pop() },
             onNavigateToInvite = { workspaceId ->
                 navigator.push(Route.WorkspaceInvite(workspaceId = workspaceId.value))
             },
             onNavigateToMemberActions = { workspaceId, userId ->
                 navigator.push(
                     Route.WorkspaceMemberActions(
                         workspaceId = workspaceId.value,
                         targetUserId = userId.value,
                     ),
                 )
             },
         )
     }
 
     entry<Route.WorkspaceManage>(
         metadata = SurferPaneSceneStrategy.listPane(detailPlaceholder = { NavDetailPlaceholder() }),
     ) { key ->
         WorkspaceManageScreen(
             workspaceId = WorkspaceId(key.workspaceId),
             onNavigateBack = { navigator.pop() },
             onNavigateToInvite = { workspaceId ->
                 navigator.push(Route.WorkspaceInvite(workspaceId = workspaceId.value))
             },
             onNavigateToMemberActions = { workspaceId, userId ->
                 navigator.push(
                     Route.WorkspaceMemberActions(
                         workspaceId = workspaceId.value,
                         targetUserId = userId.value,
                     ),
                 )
             },
         )
     }
 
     entry<Route.WorkspaceInvite>(
         metadata = SurferPaneSceneStrategy.detailPane(),
     ) { key ->
         WorkspaceInviteScreen(
             workspaceId = WorkspaceId(key.workspaceId),
             onNavigateBack = { navigator.pop() },
         )
     }
 
     entry<Route.WorkspaceMemberActions>(
         metadata = BottomSheetSceneStrategy.bottomSheet(),
     ) { key ->
         MemberActionsBottomSheet(
             workspaceId = WorkspaceId(key.workspaceId),
             targetUserId = UserId(key.targetUserId),
             onDismiss = { navigator.pop() },
         )
     }
 
     entry<Route.IncomingInvites> {
         IncomingInvitesScreen(onNavigateBack = { navigator.pop() })
     }
 }