diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/groupList/GroupsListScreen.kt b/feature/groups/src/main/java/com/mifos/feature/groups/groupList/GroupsListScreen.kt index 3971dda8ca7..7228d53e970 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/groupList/GroupsListScreen.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/groupList/GroupsListScreen.kt @@ -152,14 +152,6 @@ fun GroupsListScreen( resetSelectionMode: () -> Unit, ) { var syncGroups by rememberSaveable { mutableStateOf(false) } - if (syncGroups) { - SyncGroupDialogScreen( - dismiss = { syncGroups = false }, - hide = { - // TODO implement hide - }, - ) - } Scaffold( modifier = modifier, @@ -184,7 +176,6 @@ fun GroupsListScreen( FilledTonalButton( onClick = { syncGroups = true - resetSelectionMode() }, ) { Icon( @@ -194,14 +185,24 @@ fun GroupsListScreen( Text(text = stringResource(id = R.string.feature_groups_sync)) } }, + + ) + } + if (syncGroups) { + SyncGroupDialogScreen( + dismiss = { + syncGroups = false + resetSelectionMode() + }, + hide = { + syncGroups = false + }, + groups = selectedItems ) } }, ) { paddingValues -> SwipeRefresh( - modifier = Modifier.semantics { - contentDescription = "SwipeRefresh::GroupList" - }, state = swipeRefreshState, onRefresh = { data.refresh() }, ) { diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupDialogScreen.kt b/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupDialogScreen.kt index d07c590d374..3dd5c8fb79e 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupDialogScreen.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupDialogScreen.kt @@ -14,6 +14,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding @@ -38,18 +39,23 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.mifos.core.designsystem.component.MifosCircularProgress +import com.mifos.core.objects.group.Group import com.mifos.feature.groups.R @Composable internal fun SyncGroupDialogScreen( dismiss: () -> Unit, viewModel: SyncGroupsDialogViewModel = hiltViewModel(), + groups : List? = listOf(), hide: () -> Unit, ) { val uiState by viewModel.syncGroupsDialogUiState.collectAsStateWithLifecycle() val uiData by viewModel.syncGroupData.collectAsStateWithLifecycle() LaunchedEffect(key1 = Unit) { + groups?.let{ + viewModel.setGroupList(groups) + } viewModel.syncGroups() } @@ -71,7 +77,10 @@ internal fun SyncGroupDialogScreen( ) { val snackBarHostState = remember { SnackbarHostState() } - Box(modifier = modifier) { + Box( + modifier = modifier.fillMaxSize(), + contentAlignment = Alignment.Center + ) { SyncGroupDialogContent( uiData = uiData, okClicked = dismiss,