refactor: image preview plugin (#3457)

This commit is contained in:
Alex Yang
2023-07-29 00:18:28 -07:00
committed by GitHub
parent be3909370e
commit 52809a2783
18 changed files with 129 additions and 45 deletions
@@ -0,0 +1,22 @@
import { atom } from 'jotai';
export const previewBlockIdAtom = atom<string | null>(null);
export const hasAnimationPlayedAtom = atom<boolean | null>(true);
previewBlockIdAtom.onMount = set => {
const callback = (event: MouseEvent) => {
const target = event.target as HTMLElement | null;
if (target?.tagName === 'IMG') {
const imageBlock = target.closest('affine-image');
if (imageBlock) {
const blockId = imageBlock.getAttribute('data-block-id');
if (!blockId) return;
set(blockId);
}
}
};
window.addEventListener('dblclick', callback);
return () => {
window.removeEventListener('dblclick', callback);
};
};