From 939f5decad6de336ca5f1a567013bb902c1de456 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sun, 27 Sep 2020 11:23:17 +0200 Subject: [PATCH] Further cleanup --- src/routes/player/SeekBar.tsx | 16 +--------------- src/util/mouse/MousePosition.tsx | 4 ++++ src/util/mouse/getMousePosition.tsx | 12 ++++++++++++ 3 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 src/util/mouse/MousePosition.tsx create mode 100644 src/util/mouse/getMousePosition.tsx diff --git a/src/routes/player/SeekBar.tsx b/src/routes/player/SeekBar.tsx index 00b6db0..61913ae 100644 --- a/src/routes/player/SeekBar.tsx +++ b/src/routes/player/SeekBar.tsx @@ -1,5 +1,6 @@ import React, {MouseEvent, useCallback, useMemo, useState} from "react"; import {createUseStyles} from "react-jss"; +import {getMousePosition} from "../../util/mouse/getMousePosition"; import {useOffsetRef} from "../../util/offset/useOffsetRef"; import {PreviewBar} from "./PreviewBar"; @@ -10,21 +11,6 @@ interface Props { position: number, } -interface MousePosition { - absolute: number, - relative: number -} - -function getMousePosition(event: MouseEvent<HTMLDivElement>): MousePosition | null { - const position = event.clientX - event.currentTarget.offsetLeft; - const width = event.currentTarget.offsetWidth; - if (position > width) return null; - return { - absolute: position, - relative: position / width - }; -} - export function SeekBar({video, previewTrack, duration, position}: Props) { const classes = useStyles(); diff --git a/src/util/mouse/MousePosition.tsx b/src/util/mouse/MousePosition.tsx new file mode 100644 index 0000000..90ab954 --- /dev/null +++ b/src/util/mouse/MousePosition.tsx @@ -0,0 +1,4 @@ +export interface MousePosition { + absolute: number, + relative: number +} diff --git a/src/util/mouse/getMousePosition.tsx b/src/util/mouse/getMousePosition.tsx new file mode 100644 index 0000000..ded060c --- /dev/null +++ b/src/util/mouse/getMousePosition.tsx @@ -0,0 +1,12 @@ +import {MouseEvent} from "react"; +import {MousePosition} from "./MousePosition"; + +export function getMousePosition(event: MouseEvent<HTMLDivElement>): MousePosition | null { + const position = event.clientX - event.currentTarget.offsetLeft; + const width = event.currentTarget.offsetWidth; + if (position > width) return null; + return { + absolute: position, + relative: position / width + }; +} -- GitLab