@@ -17,33 +17,35 @@ type TImage = {
1717
1818const ArticleImage : FC < TImage > = ( { styles, src, alt } ) => {
1919 const router = useRouter ( ) ;
20-
2120 const { locale } = router as TRouter ;
2221 const currentLocale = locale === 'ru' ? 'ru' : 'en' ;
2322 const data = imageModuleData [ currentLocale ] ;
2423 const { zoomTitle, pinTitle, unpinTitle, newWindowTitle } = data ;
2524 const [ { setZoomedImage, setPinnedImage } , { pinnedImage } ] =
2625 useImageModule ( ) ;
2726
27+ const strapiBase = process . env . NEXT_PUBLIC_STRAPI ?? '' ;
28+ const imageSrc = src . includes ( strapiBase ) ? src : `${ strapiBase } ${ src } ` ;
29+
2830 const handleZoom = useCallback ( ( ) => {
29- setZoomedImage ( src ) ;
30- } , [ src ] ) ;
31+ setZoomedImage ( imageSrc ) ;
32+ } , [ imageSrc ] ) ;
3133
3234 const handleTogglePin = useCallback ( ( ) => {
33- setPinnedImage ( pinnedImage === src ? undefined : src ) ;
34- } , [ pinnedImage , src ] ) ;
35+ setPinnedImage ( pinnedImage === imageSrc ? undefined : imageSrc ) ;
36+ } , [ pinnedImage , imageSrc ] ) ;
3537
3638 const handleOpenInNewWindow = useCallback ( ( ) => {
37- window . open ( src ) ;
38- } , [ src ] ) ;
39+ window . open ( imageSrc ) ;
40+ } , [ imageSrc ] ) ;
3941
4042 return (
4143 < div className = { styles . image } >
4244 < div className = { styles . imageActions } >
4345 < div className = { styles . zoom } onClick = { handleZoom } title = { zoomTitle } />
4446 < div
4547 className = { cn ( styles . pin , {
46- [ styles . unpin ] : pinnedImage === src ,
48+ [ styles . unpin ] : pinnedImage === imageSrc ,
4749 } ) }
4850 onClick = { handleTogglePin }
4951 title = { pinnedImage ? unpinTitle : pinTitle }
@@ -59,7 +61,7 @@ const ArticleImage: FC<TImage> = ({ styles, src, alt }) => {
5961 height = { 0 }
6062 sizes = "100vw"
6163 style = { { width : 'inherit' , height : 'auto' } }
62- src = { src }
64+ src = { imageSrc }
6365 alt = { alt }
6466 onClick = { handleZoom }
6567 data-cy = "zoom-trigger"
0 commit comments