diff --git a/app/src/main/java/org/dhis2/usescases/programEventDetail/ProgramEventDetailLiveAdapter.kt b/app/src/main/java/org/dhis2/usescases/programEventDetail/ProgramEventDetailLiveAdapter.kt index 51757c947a..9550b1f735 100644 --- a/app/src/main/java/org/dhis2/usescases/programEventDetail/ProgramEventDetailLiveAdapter.kt +++ b/app/src/main/java/org/dhis2/usescases/programEventDetail/ProgramEventDetailLiveAdapter.kt @@ -3,6 +3,8 @@ package org.dhis2.usescases.programEventDetail import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.padding import androidx.compose.ui.Modifier import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.testTag @@ -19,6 +21,7 @@ import org.dhis2.usescases.teiDashboard.dashboardfragments.teidata.teievents.Eve import org.hisp.dhis.android.core.program.Program import org.hisp.dhis.mobile.ui.designsystem.component.ListCard import org.hisp.dhis.mobile.ui.designsystem.component.ListCardTitleModel +import org.hisp.dhis.mobile.ui.designsystem.theme.Spacing class ProgramEventDetailLiveAdapter( private val program: Program, @@ -67,17 +70,26 @@ class ProgramEventDetailLiveAdapter( } }, ) - ListCard( - modifier = Modifier.testTag("EVENT_ITEM"), - listAvatar = card.avatar, - title = ListCardTitleModel(text = card.title), - lastUpdated = card.lastUpdated, - additionalInfoList = card.additionalInfo, - actionButton = card.actionButton, - expandLabelText = card.expandLabelText, - shrinkLabelText = card.shrinkLabelText, - onCardClick = card.onCardCLick, - ) + Box( + modifier = Modifier + .padding( + start = Spacing.Spacing8, + end = Spacing.Spacing8, + bottom = Spacing.Spacing8, + ), + ) { + ListCard( + modifier = Modifier.testTag("EVENT_ITEM"), + listAvatar = card.avatar, + title = ListCardTitleModel(text = card.title), + lastUpdated = card.lastUpdated, + additionalInfoList = card.additionalInfo, + actionButton = card.actionButton, + expandLabelText = card.expandLabelText, + shrinkLabelText = card.shrinkLabelText, + onCardClick = card.onCardCLick, + ) + } } holder.bind(it, null) { diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/EventAdapter.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/EventAdapter.kt index b827fb065c..d82a055f84 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/EventAdapter.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/EventAdapter.kt @@ -124,7 +124,12 @@ class EventAdapter( materialView.visibility = View.GONE val composeView = holder.itemView.findViewById(R.id.composeView) composeView.setContent { - val spacing = if (it.groupedByStage == true) Spacing.Spacing56 else Spacing.Spacing8 + val leftSpacing = if (it.groupedByStage == true) Spacing.Spacing64 else Spacing.Spacing16 + val bottomSpacing = if (it.showBottomShadow) { + Spacing.Spacing16 + } else { + Spacing.Spacing4 + } val card = cardMapper.map( event = it, editable = it.event?.uid() @@ -154,7 +159,9 @@ class EventAdapter( Box( modifier = Modifier .padding( - start = spacing, + start = leftSpacing, + end = Spacing.Spacing16, + bottom = bottomSpacing, ), ) { ListCard( diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt index ea89a5a419..e0dc3d911f 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/StageViewHolder.kt @@ -30,6 +30,7 @@ import org.hisp.dhis.mobile.ui.designsystem.component.Avatar import org.hisp.dhis.mobile.ui.designsystem.component.AvatarStyle import org.hisp.dhis.mobile.ui.designsystem.component.Description import org.hisp.dhis.mobile.ui.designsystem.component.Title +import org.hisp.dhis.mobile.ui.designsystem.theme.Spacing import org.hisp.dhis.mobile.ui.designsystem.theme.TextColor internal class StageViewHolder( @@ -49,7 +50,16 @@ internal class StageViewHolder( modifier = Modifier .fillMaxWidth() .background(color = Color.White) - .padding(horizontal = 16.dp, vertical = 12.dp), + .padding( + start = Spacing.Spacing16, + end = Spacing.Spacing16, + top = Spacing.Spacing16, + bottom = if (eventItem.eventCount < 1) { + Spacing.Spacing16 + } else { + Spacing.Spacing8 + }, + ), verticalAlignment = Alignment.CenterVertically, ) { ProvideAvatar( diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/ui/mapper/TEIEventCardMapper.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/ui/mapper/TEIEventCardMapper.kt index 52bc49bc36..e55f23b607 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/ui/mapper/TEIEventCardMapper.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/teievents/ui/mapper/TEIEventCardMapper.kt @@ -43,7 +43,13 @@ class TEIEventCardMapper( onCardClick: () -> Unit, ): ListCardUiModel { return ListCardUiModel( - avatar = { ProvideAvatar(event) }, + avatar = if (event.groupedByStage != true) { + { + ProvideAvatar(eventItem = event) + } + } else { + null + }, title = getTitle(event), description = getDescription(event), additionalInfo = getAdditionalInfoList(event, editable, displayOrgUnit), @@ -61,14 +67,12 @@ class TEIEventCardMapper( @Composable private fun ProvideAvatar(eventItem: EventViewModel) { - if (eventItem.groupedByStage != true) { - Avatar( - metadataAvatar = { - MetadataIcon(metadataIconData = eventItem.metadataIconData) - }, - style = AvatarStyle.METADATA, - ) - } + Avatar( + metadataAvatar = { + MetadataIcon(metadataIconData = eventItem.metadataIconData) + }, + style = AvatarStyle.METADATA, + ) } private fun getTitle(event: EventViewModel): String { diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/ui/TeiDetailDashboard.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/ui/TeiDetailDashboard.kt index c645aa33f8..5c56cbea73 100644 --- a/app/src/main/java/org/dhis2/usescases/teiDashboard/ui/TeiDetailDashboard.kt +++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/ui/TeiDetailDashboard.kt @@ -16,6 +16,7 @@ import org.dhis2.usescases.teiDashboard.ui.model.TimelineEventsHeaderModel import org.hisp.dhis.mobile.ui.designsystem.component.CardDetail import org.hisp.dhis.mobile.ui.designsystem.component.InfoBar import org.hisp.dhis.mobile.ui.designsystem.component.InfoBarData +import org.hisp.dhis.mobile.ui.designsystem.theme.Spacing @Composable fun TeiDetailDashboard( @@ -99,11 +100,12 @@ fun TeiDetailDashboard( } if (!isGrouped) { - Spacer(modifier = Modifier.size(16.dp)) + Spacer(modifier = Modifier.size(Spacing.Spacing16)) TimelineEventsHeader( timelineEventsHeaderModel = timelineEventHeaderModel, onOptionSelected = timelineOnEventCreationOptionSelected, ) + Spacer(modifier = Modifier.size(Spacing.Spacing8)) } } } diff --git a/app/src/main/res/layout/item_event.xml b/app/src/main/res/layout/item_event.xml index e72c8d6ca9..8d62991a07 100644 --- a/app/src/main/res/layout/item_event.xml +++ b/app/src/main/res/layout/item_event.xml @@ -32,10 +32,7 @@ + android:layout_height="wrap_content" />