@@ -332,8 +332,9 @@ export const SessionReview = (props: SessionReviewProps) => {
332332 const beforeText = ( ) => ( typeof diff . before === "string" ? diff . before : "" )
333333 const afterText = ( ) => ( typeof diff . after === "string" ? diff . after : "" )
334334
335- const isAdded = ( ) => beforeText ( ) . length === 0 && afterText ( ) . length > 0
336- const isDeleted = ( ) => afterText ( ) . length === 0 && beforeText ( ) . length > 0
335+ const isAdded = ( ) => diff . status === "added" || ( beforeText ( ) . length === 0 && afterText ( ) . length > 0 )
336+ const isDeleted = ( ) =>
337+ diff . status === "deleted" || ( afterText ( ) . length === 0 && beforeText ( ) . length > 0 )
337338 const isImage = ( ) => isImageFile ( diff . file )
338339 const isAudio = ( ) => isAudioFile ( diff . file )
339340
@@ -422,6 +423,7 @@ export const SessionReview = (props: SessionReviewProps) => {
422423 if ( ! isImage ( ) ) return
423424 if ( imageSrc ( ) ) return
424425 if ( imageStatus ( ) !== "idle" ) return
426+ if ( isDeleted ( ) ) return
425427
426428 const reader = props . readFile
427429 if ( ! reader ) return
@@ -546,6 +548,11 @@ export const SessionReview = (props: SessionReviewProps) => {
546548 { i18n . t ( "ui.sessionReview.change.removed" ) }
547549 </ span >
548550 </ Match >
551+ < Match when = { isImage ( ) } >
552+ < span data-slot = "session-review-change" data-type = "modified" >
553+ { i18n . t ( "ui.sessionReview.change.modified" ) }
554+ </ span >
555+ </ Match >
549556 < Match when = { true } >
550557 < DiffChanges changes = { diff } />
551558 </ Match >
@@ -564,28 +571,51 @@ export const SessionReview = (props: SessionReviewProps) => {
564571 scheduleAnchors ( )
565572 } }
566573 >
567- < Dynamic
568- component = { diffComponent }
569- preloadedDiff = { diff . preloaded }
570- diffStyle = { diffStyle ( ) }
571- onRendered = { ( ) => {
572- props . onDiffRendered ?.( )
573- scheduleAnchors ( )
574- } }
575- enableLineSelection = { props . onLineComment != null }
576- onLineSelected = { handleLineSelected }
577- onLineSelectionEnd = { handleLineSelectionEnd }
578- selectedLines = { selectedLines ( ) }
579- commentedLines = { commentedLines ( ) }
580- before = { {
581- name : diff . file ! ,
582- contents : typeof diff . before === "string" ? diff . before : "" ,
583- } }
584- after = { {
585- name : diff . file ! ,
586- contents : typeof diff . after === "string" ? diff . after : "" ,
587- } }
588- />
574+ < Switch >
575+ < Match when = { isImage ( ) && imageSrc ( ) } >
576+ < div data-slot = "session-review-image-container" >
577+ < img data-slot = "session-review-image" src = { imageSrc ( ) } alt = { diff . file } />
578+ </ div >
579+ </ Match >
580+ < Match when = { isImage ( ) && isDeleted ( ) } >
581+ < div data-slot = "session-review-image-container" data-removed >
582+ < span data-slot = "session-review-image-placeholder" >
583+ { i18n . t ( "ui.sessionReview.change.removed" ) }
584+ </ span >
585+ </ div >
586+ </ Match >
587+ < Match when = { isImage ( ) && ! imageSrc ( ) } >
588+ < div data-slot = "session-review-image-container" >
589+ < span data-slot = "session-review-image-placeholder" >
590+ { imageStatus ( ) === "loading" ? "Loading..." : "Image" }
591+ </ span >
592+ </ div >
593+ </ Match >
594+ < Match when = { ! isImage ( ) } >
595+ < Dynamic
596+ component = { diffComponent }
597+ preloadedDiff = { diff . preloaded }
598+ diffStyle = { diffStyle ( ) }
599+ onRendered = { ( ) => {
600+ props . onDiffRendered ?.( )
601+ scheduleAnchors ( )
602+ } }
603+ enableLineSelection = { props . onLineComment != null }
604+ onLineSelected = { handleLineSelected }
605+ onLineSelectionEnd = { handleLineSelectionEnd }
606+ selectedLines = { selectedLines ( ) }
607+ commentedLines = { commentedLines ( ) }
608+ before = { {
609+ name : diff . file ! ,
610+ contents : typeof diff . before === "string" ? diff . before : "" ,
611+ } }
612+ after = { {
613+ name : diff . file ! ,
614+ contents : typeof diff . after === "string" ? diff . after : "" ,
615+ } }
616+ />
617+ </ Match >
618+ </ Switch >
589619
590620 < For each = { comments ( ) } >
591621 { ( comment ) => (
0 commit comments