1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-24 20:36:40 +07:00

added check for layers

This commit is contained in:
Fedor Katurov 2022-08-01 22:22:40 +07:00
parent cb1940586c
commit 4dc9e34957
2 changed files with 15 additions and 4 deletions

View file

@ -8,6 +8,8 @@ import React, {
useState,
} from "react";
import { useWindowSize } from "~/hooks/dom/useWindowSize";
import styles from "./styles.module.scss";
interface LoginSceneProps {}
@ -55,6 +57,7 @@ const layers: Layer[] = [
const LoginScene: FC<LoginSceneProps> = memo(() => {
const ref = useRef<HTMLDivElement>(null);
const [loaded, setLoaded] = useState(false);
const { isMobile } = useWindowSize();
const onMouseMove = useCallback(
(event: MouseEvent): any => {
@ -67,9 +70,13 @@ const LoginScene: FC<LoginSceneProps> = memo(() => {
const shift = event.pageX / middle / 2 - 0.5;
layers.map((it, index) => {
document.getElementById(
`LoginScene__${index}`,
)?.style.transform = `translate(${shift * it.velocity * 200}px, 0)`;
const target = document.getElementById(`LoginScene__${index}`);
if (target) {
target.style.transform = `translate(${shift *
it.velocity *
200}px, 0)`;
}
});
},
[ref],
@ -80,6 +87,10 @@ const LoginScene: FC<LoginSceneProps> = memo(() => {
return () => document.removeEventListener("mousemove", onMouseMove);
}, []);
if (isMobile) {
return null;
}
return (
<div className={styles.scene} ref={ref}>
<svg

File diff suppressed because one or more lines are too long