Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f7f9a59 authored by Ellen Poe's avatar Ellen Poe
Browse files

refactor: TransitItineraryDetailScreen

parent 3e801c07
Loading
Loading
Loading
Loading
+191 −175
Original line number Diff line number Diff line
@@ -217,7 +217,21 @@ private fun DetailedLegCard(
                .fillMaxWidth()
                .padding(dimensionResource(dimen.padding))
        ) {
            // Leg header with mode and route info
            LegHeader(leg)

            Spacer(modifier = Modifier.height(dimensionResource(dimen.padding)))

            JourneyDetails(leg, use24HourFormat)

            LegAdditionalDetails(leg, distanceUnit)

            LegAlerts(leg)
        }
    }
}

@Composable
private fun LegHeader(leg: Leg) {
    Row(
        modifier = Modifier.fillMaxWidth(),
        verticalAlignment = Alignment.CenterVertically
@@ -272,10 +286,10 @@ private fun DetailedLegCard(
            fontWeight = FontWeight.Bold
        )
    }
}

            Spacer(modifier = Modifier.height(dimensionResource(dimen.padding)))

            // Journey details
@Composable
private fun JourneyDetails(leg: Leg, use24HourFormat: Boolean) {
    Row(
        modifier = Modifier.fillMaxWidth(),
        horizontalArrangement = Arrangement.SpaceBetween
@@ -332,8 +346,10 @@ private fun DetailedLegCard(
            }
        }
    }
}

            // Additional details based on mode
@Composable
private fun LegAdditionalDetails(leg: Leg, distanceUnit: Int) {
    when (leg.mode) {
        Mode.WALK, Mode.BIKE -> {
            leg.distance?.let { distance ->
@@ -390,8 +406,10 @@ private fun DetailedLegCard(
            }
        }
    }
}

            // Show alerts if any
@Composable
private fun LegAlerts(leg: Leg) {
    leg.alerts?.let { alerts ->
        if (alerts.isNotEmpty()) {
            Spacer(modifier = Modifier.height(dimensionResource(dimen.padding_minor)))
@@ -425,8 +443,6 @@ private fun DetailedLegCard(
        }
    }
}
    }
}

private fun parseRouteColor(colorString: String?): androidx.compose.ui.graphics.Color? {
    if (colorString.isNullOrBlank()) return null