@@ -10,17 +10,19 @@ import {
1010 visuallyHidden ,
1111} from '@guardian/source/foundations' ;
1212import { Hide , Link } from '@guardian/source/react-components' ;
13- import { StarRating } from '@guardian/source-development-kitchen/react-components' ;
13+ import { StarRating as SourceStarRating } from '@guardian/source-development-kitchen/react-components' ;
1414import { useEffect , useState } from 'react' ;
1515import type { ArticleFormat } from '../lib/articleFormat' ;
1616import type { ImageForLightbox } from '../types/content' ;
1717import { LightboxCaption } from './LightboxCaption' ;
1818import { LightboxLoader } from './LightboxLoader' ;
1919import { Picture } from './Picture' ;
20+ import { StarRating } from './StarRating/StarRating' ;
2021
2122type Props = {
2223 format : ArticleFormat ;
2324 images : ImageForLightbox [ ] ;
25+ isInStarRatingVariant ?: boolean ;
2426} ;
2527
2628const liStyles = css `
@@ -46,7 +48,7 @@ const imageStyles = (orientation: 'landscape' | 'portrait') => {
4648 case 'portrait' : {
4749 return css `
4850 img {
49- ${ baseImgStyles }
51+ ${ baseImgStyles } ;
5052 width: auto ;
5153 max- width: 100%;
5254 height: 100vh;
@@ -60,7 +62,7 @@ const imageStyles = (orientation: 'landscape' | 'portrait') => {
6062 default : {
6163 return css `
6264 img {
63- ${ baseImgStyles }
65+ ${ baseImgStyles } ;
6466 width: 100%;
6567 height: auto ;
6668 max- height: 100vh;
@@ -128,6 +130,12 @@ const figureStyles = css`
128130 }
129131` ;
130132
133+ const starRatingMarginStyles = css `
134+ margin- botto m: ${ space [ 2 ] } px;
135+ ${ from . tablet } {
136+ margin- botto m: ${ space [ 3 ] } px;
137+ }
138+ ` ;
131139const Selection = ( {
132140 countOfImages,
133141 initialPosition = 1 ,
@@ -173,7 +181,11 @@ const Selection = ({
173181 ) ;
174182} ;
175183
176- export const LightboxImages = ( { format, images } : Props ) => {
184+ export const LightboxImages = ( {
185+ format,
186+ images,
187+ isInStarRatingVariant,
188+ } : Props ) => {
177189 const [ loaded , setLoaded ] = useState ( new Set < number > ( ) ) ;
178190
179191 useEffect ( ( ) => {
@@ -231,7 +243,7 @@ export const LightboxImages = ({ format, images }: Props) => {
231243 < h2
232244 css = { css `
233245 width: 100%;
234- ${ headlineLight24 }
246+ ${ headlineLight24 } ;
235247 color : ${ palette . neutral [ 100 ] } ;
236248 margin- botto m: ${ space [ 1 ] } px;
237249 ${ from . tablet } {
@@ -243,9 +255,16 @@ export const LightboxImages = ({ format, images }: Props) => {
243255 </ h2 >
244256 ) }
245257
246- {
247- /* TODO : Remove this star rating once the starRatingVariant testing is complete and new designs are merged (eta Jan 2026)*/
248- typeof image . starRating === 'number' && (
258+ { ! isUndefined ( image . starRating ) &&
259+ ( isInStarRatingVariant ? (
260+ < div css = { starRatingMarginStyles } >
261+ < StarRating
262+ size = "medium"
263+ rating = { image . starRating }
264+ useAlternativeTheme = { true }
265+ />
266+ </ div >
267+ ) : (
249268 < div
250269 css = { css `
251270 dis play: inline-block;
@@ -260,13 +279,13 @@ export const LightboxImages = ({ format, images }: Props) => {
260279 }
261280 ` }
262281 >
263- < StarRating
282+ < SourceStarRating
264283 size = "medium"
265284 rating = { image . starRating }
266285 />
267286 </ div >
268- )
269- }
287+ ) ) }
288+
270289 < Hide from = "tablet" >
271290 < Selection
272291 countOfImages = { images . length }
0 commit comments