Skip to content

Commit

Permalink
Handle duplicate image when closing lightbox as well
Browse files Browse the repository at this point in the history
  • Loading branch information
artemiomorales committed Jul 12, 2024
1 parent 5d911ec commit 2e81998
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 2 deletions.
4 changes: 3 additions & 1 deletion packages/block-library/src/image/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ function block_core_image_render_lightbox( $block_content, $block ) {
'data-wp-context',
wp_json_encode(
array(
'animationId' => uniqid(),
'uploadedSrc' => $img_uploaded_src,
'figureClassNames' => $figure_class_names,
'figureStyles' => $figure_styles,
Expand All @@ -215,7 +216,8 @@ function block_core_image_render_lightbox( $block_content, $block ) {
// contain a caption, and we don't want to trigger the lightbox when the
// caption is clicked.
$p->set_attribute( 'data-wp-on-async--click', 'actions.showLightbox' );
$p->set_attribute( 'data-wp-class--hide', 'state.overlayOpened' );
$p->set_attribute( 'data-wp-class--hide', 'state.contentImageHide' );
$p->set_attribute( 'data-wp-class--show', 'state.contentImageShow' );

$body_content = $p->get_updated_html();

Expand Down
18 changes: 17 additions & 1 deletion packages/block-library/src/image/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@
box-sizing: border-box;

&.hide {
opacity: 0;
visibility: hidden;
}

&.show {
animation: show-content-image 0.4s;
}
}

Expand Down Expand Up @@ -323,6 +327,18 @@
}
}

@keyframes show-content-image {
0% {
visibility: hidden;
}
99% {
visibility: hidden;
}
100% {
visibility: visible;
}
}

@keyframes turn-on-visibility {
0% {
opacity: 0;
Expand Down
14 changes: 14 additions & 0 deletions packages/block-library/src/image/view.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,20 @@ const { state, actions, callbacks } = store(
) }; object-fit:cover;`
);
},
get contentImageHide() {
const ctx = getContext();
return (
state.overlayEnabled &&
state.currentImage.animationId === ctx.animationId
);
},
get contentImageShow() {
const ctx = getContext();
return (
! state.overlayEnabled &&
state.currentImage.animationId === ctx.animationId
);
},
},
actions: {
showLightbox() {
Expand Down

0 comments on commit 2e81998

Please sign in to comment.