Added drag to scroll container

This commit is contained in:
Sebastian Seedorf
2022-08-16 22:03:36 +02:00
parent a08478e504
commit 1522962edd
10 changed files with 96 additions and 30 deletions

View File

@@ -6,7 +6,8 @@ import styles from "./GroupBox.module.css"
import {EntitySpan} from "../EntitySpan/EntitySpan";
import {useGroups} from "../../contexts/GroupProvider";
import {calculateInputs} from "../../../src/calculateInputs";
import {uniquify} from "../../../src/utils";
import {fixedEncodeURIComponent, uniquify} from "../../../src/utils";
import Link from "next/link";
interface Props {
group: Group
@@ -81,6 +82,7 @@ const GroupBoxBase: FC<Props> = ({ group }) => {
>
{name}
</h3>
<Link href={`./visualize/${fixedEncodeURIComponent(group.name)}`}>👁</Link>
<button
className={styles.quit}
onBlur={() => setDeleteConfirm(false)}

View File

@@ -0,0 +1,10 @@
.container {
width: 100vw;
height: 100vh;
}
.inner {
padding: 2em;
width: fit-content;
height: fit-content;
}

View File

@@ -0,0 +1,25 @@
import {FC, PropsWithChildren, useEffect, useRef} from "react";
import IndianaDragScoll from "react-indiana-drag-scroll";
import styles from './ScrollContainer.module.css'
export const ScrollContainer: FC<PropsWithChildren> = ({children}) => {
const container = useRef<HTMLDivElement>(null);
useEffect(() => {
if (container.current) {
container.current.oncontextmenu = e => e.preventDefault()
}
}, []);
return <IndianaDragScoll
className={styles.container}
buttons={[2]}
innerRef={container}
hideScrollbars={false}
activationDistance={5}
>
<div className={styles.inner}>
{children}
</div>
</IndianaDragScoll>
}