Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
bb3d808e
Unverified
Commit
bb3d808e
authored
Nov 10, 2025
by
Simon
Committed by
GitHub
Nov 10, 2025
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: allow closing image preview via backdrop click (#5243)
parent
6fc0ef7c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
5 deletions
+5
-5
PreviewImageDialog.tsx
web/src/components/PreviewImageDialog.tsx
+5
-5
No files found.
web/src/components/PreviewImageDialog.tsx
View file @
bb3d808e
...
@@ -40,9 +40,10 @@ function PreviewImageDialog({ open, onOpenChange, imgUrls, initialIndex = 0 }: P
...
@@ -40,9 +40,10 @@ function PreviewImageDialog({ open, onOpenChange, imgUrls, initialIndex = 0 }: P
onOpenChange
(
false
);
onOpenChange
(
false
);
};
};
// Prevent closing when clicking on the image
const
handleBackdropClick
=
(
event
:
React
.
MouseEvent
<
HTMLDivElement
>
)
=>
{
const
handleImageClick
=
(
event
:
React
.
MouseEvent
)
=>
{
if
(
event
.
target
===
event
.
currentTarget
)
{
event
.
stopPropagation
();
handleClose
();
}
};
};
// Return early if no images provided
// Return early if no images provided
...
@@ -71,12 +72,11 @@ function PreviewImageDialog({ open, onOpenChange, imgUrls, initialIndex = 0 }: P
...
@@ -71,12 +72,11 @@ function PreviewImageDialog({ open, onOpenChange, imgUrls, initialIndex = 0 }: P
</
div
>
</
div
>
{
/* Image container */
}
{
/* Image container */
}
<
div
className=
"w-full h-full flex items-center justify-center p-4 sm:p-8 overflow-auto"
>
<
div
className=
"w-full h-full flex items-center justify-center p-4 sm:p-8 overflow-auto"
onClick=
{
handleBackdropClick
}
>
<
img
<
img
src=
{
imgUrls
[
safeIndex
]
}
src=
{
imgUrls
[
safeIndex
]
}
alt=
{
`Preview image ${safeIndex + 1} of ${imgUrls.length}`
}
alt=
{
`Preview image ${safeIndex + 1} of ${imgUrls.length}`
}
className=
"max-w-full max-h-full object-contain select-none"
className=
"max-w-full max-h-full object-contain select-none"
onClick=
{
handleImageClick
}
draggable=
{
false
}
draggable=
{
false
}
loading=
"eager"
loading=
"eager"
decoding=
"async"
decoding=
"async"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment