Make full-screen the default action

This commit is contained in:
viktorstrate
2021-05-18 16:41:46 +02:00
parent b60c15c700
commit 1791ef1b5c
5 changed files with 34 additions and 15 deletions

View File

@@ -49,12 +49,8 @@ const PhotoOverlay = styled.div<{ active: boolean }>`
${({ active }) => ${({ active }) =>
active && active &&
` `
border: 4px solid rgba(65, 131, 196, 0.6); outline: 4px solid rgba(65, 131, 196, 0.6);
outline-offset: -4px;
& ${HoverIcon} {
top: -4px !important;
left: -4px !important;
}
`} `}
` `
@@ -87,6 +83,13 @@ const FavoriteIcon = styled(HoverIcon)`
opacity: ${({ favorite }) => (favorite ? '0.8' : '0.2')} !important; opacity: ${({ favorite }) => (favorite ? '0.8' : '0.2')} !important;
` `
const SidebarIcon = styled(HoverIcon)`
margin: 10px !important;
position: absolute;
top: 0;
right: 0;
`
const VideoThumbnailIcon = styled(Icon)` const VideoThumbnailIcon = styled(Icon)`
color: rgba(255, 255, 255, 0.8); color: rgba(255, 255, 255, 0.8);
position: absolute; position: absolute;
@@ -152,7 +155,7 @@ export const MediaThumbnail = ({
minWidth: `clamp(124px, ${minWidth}px, 100% - 8px)`, minWidth: `clamp(124px, ${minWidth}px, 100% - 8px)`,
}} }}
onClick={() => { onClick={() => {
selectImage() clickPresent()
}} }}
> >
<div <div
@@ -165,10 +168,11 @@ export const MediaThumbnail = ({
</div> </div>
<PhotoOverlay active={active}> <PhotoOverlay active={active}>
{videoIcon} {videoIcon}
<HoverIcon <SidebarIcon
name="expand" name="info"
onClick={() => { onClick={(e: MouseEvent) => {
clickPresent() e.stopPropagation()
selectImage()
}} }}
/> />
{heartIcon} {heartIcon}

View File

@@ -81,6 +81,11 @@ const PhotoGallery = ({
toggleFavoriteAction({ toggleFavoriteAction({
media, media,
markFavorite, markFavorite,
}).then(() => {
dispatchMedia({
type: 'selectImage',
index,
})
}) })
}} }}
clickPresent={() => { clickPresent={() => {

View File

@@ -27,7 +27,7 @@ export const toggleFavoriteAction = ({
media: PhotoGalleryProps_Media media: PhotoGalleryProps_Media
markFavorite: MutationFunction<markMediaFavorite, markMediaFavoriteVariables> markFavorite: MutationFunction<markMediaFavorite, markMediaFavoriteVariables>
}) => { }) => {
markFavorite({ return markFavorite({
variables: { variables: {
mediaId: media.id, mediaId: media.id,
favorite: !media.favorite, favorite: !media.favorite,

View File

@@ -49,10 +49,12 @@ const PresentMedia = ({
return ( return (
<div {...otherProps}> <div {...otherProps}>
<StyledPhoto <StyledPhoto
key={`${media.id}-thumb`}
src={media.thumbnail?.url} src={media.thumbnail?.url}
data-testid="present-img-thumbnail" data-testid="present-img-thumbnail"
/> />
<StyledPhoto <StyledPhoto
key={`${media.id}-highres`}
style={{ display: 'none' }} style={{ display: 'none' }}
src={media.highRes?.url} src={media.highRes?.url}
data-testid="present-img-highres" data-testid="present-img-highres"

View File

@@ -71,9 +71,8 @@ const TimelineGroupAlbum = ({
mediaState, mediaState,
dispatchMedia, dispatchMedia,
}: TimelineGroupAlbumProps) => { }: TimelineGroupAlbumProps) => {
const { media, mediaTotal, album } = mediaState.timelineGroups[ const { media, mediaTotal, album } =
dateIndex mediaState.timelineGroups[dateIndex].groups[albumIndex]
].groups[albumIndex]
const [markFavorite] = useMarkFavoriteMutation() const [markFavorite] = useMarkFavoriteMutation()
@@ -105,6 +104,15 @@ const TimelineGroupAlbum = ({
toggleFavoriteAction({ toggleFavoriteAction({
media, media,
markFavorite, markFavorite,
}).then(() => {
dispatchMedia({
type: 'selectImage',
index: {
album: albumIndex,
date: dateIndex,
media: index,
},
})
}) })
}} }}
active={media.id === getActiveTimelineImage({ mediaState })?.id} active={media.id === getActiveTimelineImage({ mediaState })?.id}