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