Remove image zoom

This commit is contained in:
Bojan Mojsilovic 2023-09-15 15:00:18 +02:00
parent 8cdc3c695d
commit adad2473ce
2 changed files with 1 additions and 42 deletions

View File

@ -4,5 +4,4 @@
object-fit: cover;
border-radius: 8px;
z-index: 22;
cursor: pointer;
}

View File

@ -1,7 +1,5 @@
import { Component, JSX, onCleanup, onMount } from "solid-js";
import { Component, JSX } from "solid-js";
import styles from "./NoteImage.module.scss";
import mediumZoom from "medium-zoom";
import type { Zoom } from 'medium-zoom';
// @ts-ignore Bad types in nostr-tools
import { generatePrivateKey } from "nostr-tools";
@ -12,46 +10,8 @@ const NoteImage: Component<{
}> = (props) => {
const imgId = generatePrivateKey();
const imgRef = () => {
return document.getElementById(imgId)
};
let zoomRef: Zoom | undefined;
const klass = () => `${styles.noteImage} ${props.isDev ? 'redBorder' : ''}`;
const doZoom = (e: MouseEvent) => {
if (!e.target || (e.target as HTMLImageElement).id !== imgId) {
return;
}
zoomRef?.open();
};
const getZoom = () => {
const iRef = imgRef();
if (zoomRef || !iRef) {
return zoomRef;
}
zoomRef = mediumZoom(iRef, {
background: "var(--background-site)",
});
zoomRef.attach(iRef);
}
onMount(() => {
getZoom();
document.addEventListener('click', doZoom)
});
onCleanup(() => {
const iRef = imgRef();
iRef && zoomRef && zoomRef.detach(iRef);
document.removeEventListener('click', doZoom)
});
return <img id={imgId} src={props.src} class={klass()} onerror={props.onError} />;
}