diff --git a/src/renderer/features/shared/components/library-header.tsx b/src/renderer/features/shared/components/library-header.tsx index 46f62b8b..9bb9b833 100644 --- a/src/renderer/features/shared/components/library-header.tsx +++ b/src/renderer/features/shared/components/library-header.tsx @@ -1,5 +1,6 @@ -import { forwardRef, ReactNode, Ref, useState } from 'react'; -import { Group } from '@mantine/core'; +import { forwardRef, ReactNode, Ref, useCallback, useState } from 'react'; +import { Center, Group } from '@mantine/core'; +import { closeAllModals, openModal } from '@mantine/modals'; import { AutoTextSize } from 'auto-text-size'; import clsx from 'clsx'; import { useTranslation } from 'react-i18next'; @@ -58,6 +59,35 @@ export const LibraryHeader = forwardRef( } }; + const openImage = useCallback(() => { + if (imageUrl && !isImageError) { + const fullSized = imageUrl.replace(/&?(size|width|height)=\d+/, ''); + + openModal({ + children: ( +
closeAllModals()} + > + cover +
+ ), + fullScreen: true, + }); + } + }, [imageUrl, isImageError]); + return (
-
+
openImage()} + onKeyDown={(event) => + ['Spacebar', ' ', 'Enter'].includes(event.key) && openImage() + } + > {imageUrl && !isImageError ? (