diff --git a/.deploy/mta.yaml b/.deploy/mta.yaml index f71d5e5ab..901ebb7cc 100644 --- a/.deploy/mta.yaml +++ b/.deploy/mta.yaml @@ -10,7 +10,7 @@ ID: tutorials-ims # Bump this on each release you deploy — it's the version shown by `cf mtas` # and in the mtar filename (tutorials-ims_.mtar). Deploy is manual: # `cd .deploy && mbt build && cf deploy mta_archives/tutorials-ims_.mtar -e ../deploy/.mtaext -f`. -version: 1.41.0 +version: 1.41.1 # Top-level parameters (overridable per-env via deploy/.mtaext). parameters: diff --git a/hugo-apps/src/app-space/AppSpace.vue b/hugo-apps/src/app-space/AppSpace.vue index 7371ca5ad..6fd026c98 100644 --- a/hugo-apps/src/app-space/AppSpace.vue +++ b/hugo-apps/src/app-space/AppSpace.vue @@ -283,6 +283,17 @@ function hasSegments(track: AppSpaceTrack): boolean { return Array.isArray(track.segments) && track.segments.length > 0 } +// Widest fork in the track (max lanes across all fork segments; 1 if none). +// Drives the timeline's max-width so multi-lane forks get the horizontal room +// they need instead of being squished into the single-column 740px cap — a +// 3-4 lane fork at 740px wraps titles to one word per line (#2887 follow-up). +function maxLaneCount(track: AppSpaceTrack): number { + return trackSegments(track).reduce( + (max, seg) => (seg.kind === 'fork' ? Math.max(max, seg.lanes.length) : max), + 1, + ) +} + // Flatten every item a segment contains (cluster/linear items, or all lane items // for a fork). Used for progress math and "all tutorials" totals. function segmentItems(seg: AppSpaceSegment): AppSpaceItem[] { @@ -670,7 +681,7 @@ const emptyStateMessage = computed(() => { Renders from selectedTrack.segments: linear nodes, side-by-side fork lanes with fork/join connectors, and any-order clusters. Falls back to the legacy flat timeline for payloads without segments. --> -
+