@@ -9,6 +9,7 @@ import { HistorySessionHeaderCard } from './HistorySessionHeaderCard';
99import { HistorySessionExercises } from './HistorySessionExercises' ;
1010import { HistoryRestDivider } from './HistoryRestDivider' ;
1111import { formatRestDuration , formatWorkoutDuration , getSessionDurationMs , isSameCalendarDay } from '../utils/historyViewConstants' ;
12+ import { findPreviousRoutineSession } from '../utils/routineNameMatcher' ;
1213import type { ExerciseBestEvent , ExerciseVolumePrEvent } from '../utils/historyViewTypes' ;
1314import type { TooltipState } from './HistoryTooltipPortal' ;
1415import { ExerciseAsset } from '../../../utils/data/exerciseAssets' ;
@@ -40,6 +41,7 @@ interface HistorySessionBlockProps {
4041 onMouseEnter : ( e : React . MouseEvent , data : any , variant : 'set' | 'macro' ) => void ;
4142 onClearTooltip : ( ) => void ;
4243 setTooltip : ( state : TooltipState | null ) => void ;
44+ onNavigateToSession ?: ( sessionKey : string ) => void ;
4345}
4446
4547export const HistorySessionBlock : React . FC < HistorySessionBlockProps > = ( {
@@ -67,6 +69,7 @@ export const HistorySessionBlock: React.FC<HistorySessionBlockProps> = ({
6769 onMouseEnter,
6870 onClearTooltip,
6971 setTooltip,
72+ onNavigateToSession,
7073} ) => {
7174 const allSessionSets = session . exercises . flatMap ( ( e ) => e . sets ) ;
7275 const sessionHeatmap = buildSessionMuscleHeatmap ( allSessionSets , exerciseMuscleData , secondarySetMultiplier ) ;
@@ -85,8 +88,10 @@ export const HistorySessionBlock: React.FC<HistorySessionBlockProps> = ({
8588 const restText = restMs != null ? formatRestDuration ( restMs ) : null ;
8689 const restIsDayBreak = ! ! ( previousDisplayedSession ?. date && session . date && ! isSameCalendarDay ( previousDisplayedSession . date , session . date ) ) ;
8790
88- const sessionIdx = sessions . findIndex ( ( s ) => s . key === session . key ) ;
89- const prevSession = sessionIdx < sessions . length - 1 ? sessions [ sessionIdx + 1 ] : null ;
91+ const prevSession = React . useMemo (
92+ ( ) => findPreviousRoutineSession ( session , sessions ) ,
93+ [ session , sessions ] ,
94+ ) ;
9095
9196 const toggleCollapsed = ( ) => {
9297 setCollapsedSessions ( ( prev ) => {
@@ -121,6 +126,7 @@ export const HistorySessionBlock: React.FC<HistorySessionBlockProps> = ({
121126 bodyMapGender = { bodyMapGender }
122127 setTooltip = { setTooltip }
123128 toggleCollapsed = { toggleCollapsed }
129+ onNavigateToSession = { onNavigateToSession }
124130 />
125131
126132 { ! isCollapsed && (
0 commit comments