diff --git a/modules/common-ui-components/src/main/java/com/ankitsuda/rebound/ui/components/SessionExerciseCardItem.kt b/modules/common-ui-components/src/main/java/com/ankitsuda/rebound/ui/components/SessionExerciseCardItem.kt index 1aecb578..1165532a 100644 --- a/modules/common-ui-components/src/main/java/com/ankitsuda/rebound/ui/components/SessionExerciseCardItem.kt +++ b/modules/common-ui-components/src/main/java/com/ankitsuda/rebound/ui/components/SessionExerciseCardItem.kt @@ -43,13 +43,13 @@ import com.ankitsuda.base.util.colorFromSupersetId import com.ankitsuda.base.util.isDark import com.ankitsuda.base.util.lighterOrDarkerColor import com.ankitsuda.base.util.toReadableString -import com.ankitsuda.base.utils.toDurationStr import com.ankitsuda.common.compose.kgToUserPrefStr import com.ankitsuda.common.compose.kmToUserPrefStr import com.ankitsuda.common.compose.userPrefDistanceUnitStr import com.ankitsuda.common.compose.userPrefWeightUnitStr import com.ankitsuda.rebound.domain.* import com.ankitsuda.rebound.domain.entities.ExerciseLogEntry +import com.ankitsuda.rebound.domain.entities.ExerciseSetGroupNote import com.ankitsuda.rebound.ui.theme.LocalThemeState import com.ankitsuda.rebound.ui.theme.ReboundTheme import com.google.accompanist.flowlayout.FlowRow @@ -68,7 +68,8 @@ fun SessionExerciseCardItem( subtitle: String? = null, supersetId: Int? = null, exerciseCategory: ExerciseCategory, - entries: List + entries: List, + notes: List? = null ) { val sortedEntries by remember(key1 = entries) { mutableStateOf(entries.sortedWith(ExerciseLogEntryComparator)) @@ -102,12 +103,14 @@ fun SessionExerciseCardItem( } AppCard(modifier = modifier, onClick = onClick) { - Column(modifier = Modifier.padding(16.dp)) { + Column( + modifier = Modifier.padding(16.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { supersetId?.let { val supersetColor = colorFromSupersetId(it) Box( modifier = Modifier - .padding(bottom = 8.dp) .background(supersetColor, ReboundTheme.shapes.small) .padding(horizontal = 8.dp, vertical = 4.dp) ) { @@ -123,14 +126,23 @@ fun SessionExerciseCardItem( text = it, style = ReboundTheme.typography.body1, color = LocalThemeState.current.onBackgroundColor ) - RSpacer(8.dp) } subtitle?.let { Text( text = it, style = ReboundTheme.typography.body2, color = LocalThemeState.current.onBackgroundColor.copy(alpha = 0.75f) ) - RSpacer(8.dp) + } + notes?.let { + for (note in it) { + note.note?.let { noteText -> + Text( + text = noteText, + style = ReboundTheme.typography.body2, + color = LocalThemeState.current.onBackgroundColor.copy(alpha = 0.75f) + ) + } + } } if (sortedEntries.isNotEmpty()) { for (i in sortedEntries.indices) { @@ -140,9 +152,9 @@ fun SessionExerciseCardItem( exerciseCategory = exerciseCategory, revisedSetText = revisedSetsTexts[sortedEntries.indexOf(entry)], ) - if (i != sortedEntries.size - 1) { - RSpacer(8.dp) - } +// if (i != sortedEntries.size - 1) { +// RSpacer(8.dp) +// } } } } diff --git a/modules/domain/src/main/java/com/ankitsuda/rebound/domain/entities/LogEntriesWithWorkout.kt b/modules/domain/src/main/java/com/ankitsuda/rebound/domain/entities/LogEntriesWithWorkout.kt index 45a3d64f..0530dd74 100644 --- a/modules/domain/src/main/java/com/ankitsuda/rebound/domain/entities/LogEntriesWithWorkout.kt +++ b/modules/domain/src/main/java/com/ankitsuda/rebound/domain/entities/LogEntriesWithWorkout.kt @@ -29,5 +29,10 @@ data class LogEntriesWithWorkout( parentColumn = "id", entityColumn = "junction_id", ) - val logEntries: List + val logEntries: List, + @Relation( + parentColumn = "id", + entityColumn = "exercise_workout_junction_id", + ) + var notes: List? = null ) diff --git a/modules/ui-exercise-details-tab-history/src/main/java/com/ankitsuda/rebound/ui/exercise_details/history/ExerciseDetailHistoryTab.kt b/modules/ui-exercise-details-tab-history/src/main/java/com/ankitsuda/rebound/ui/exercise_details/history/ExerciseDetailHistoryTab.kt index def20a47..abad4bee 100644 --- a/modules/ui-exercise-details-tab-history/src/main/java/com/ankitsuda/rebound/ui/exercise_details/history/ExerciseDetailHistoryTab.kt +++ b/modules/ui-exercise-details-tab-history/src/main/java/com/ankitsuda/rebound/ui/exercise_details/history/ExerciseDetailHistoryTab.kt @@ -47,14 +47,15 @@ fun ExerciseDetailHistoryTab( .padding(bottom = 16.dp), onClick = { }, title = workout.name, - exerciseCategory = exercise.category, subtitle = (workout.startAt ?: workout.createdAt)?.format( DateTimeFormatter.ofLocalizedDateTime( FormatStyle.MEDIUM, FormatStyle.SHORT ) ), - entries = entries + exerciseCategory = exercise.category, + entries = entries, + notes = item.notes, ) } diff --git a/modules/ui-workout-details/src/main/java/com/ankitsuda/rebound/ui/workout_details/SessionScreen.kt b/modules/ui-workout-details/src/main/java/com/ankitsuda/rebound/ui/workout_details/SessionScreen.kt index fcc21972..941dda4f 100644 --- a/modules/ui-workout-details/src/main/java/com/ankitsuda/rebound/ui/workout_details/SessionScreen.kt +++ b/modules/ui-workout-details/src/main/java/com/ankitsuda/rebound/ui/workout_details/SessionScreen.kt @@ -32,15 +32,9 @@ import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import androidx.navigation.NavController -import com.ankitsuda.base.util.toReadableString -import com.ankitsuda.base.utils.toDurationStr -import com.ankitsuda.common.compose.kgToUserPrefStr -import com.ankitsuda.common.compose.userPrefWeightUnitStr import com.ankitsuda.navigation.LeafScreen import com.ankitsuda.navigation.LocalNavigator import com.ankitsuda.navigation.Navigator -import com.ankitsuda.navigation.Screen import com.ankitsuda.rebound.ui.components.* import com.ankitsuda.rebound.ui.components.dialogs.DiscardActiveWorkoutDialog import com.ankitsuda.rebound.ui.theme.LocalThemeState @@ -203,7 +197,8 @@ fun SessionScreen( supersetId = log.junction.supersetId, title = log.exercise.name ?: "", exerciseCategory = log.exercise.category, - entries = log.logEntries + entries = log.logEntries, + notes = log.notes ) } }