From 89ca5094a55b7a884482cd4f42fc1fbb11cf382b Mon Sep 17 00:00:00 2001 From: FireMasterK <20838718+FireMasterK@users.noreply.github.com> Date: Wed, 12 Jan 2022 04:52:15 +0000 Subject: [PATCH] Add support for hour, minute and second time paterns. Closes #706 --- src/components/Player.vue | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/components/Player.vue b/src/components/Player.vue index 9592293b..c1df5bde 100644 --- a/src/components/Player.vue +++ b/src/components/Player.vue @@ -188,7 +188,25 @@ export default { videoEl.setAttribute("poster", this.video.thumbnailUrl); if (this.$route.query.t) { - videoEl.currentTime = this.$route.query.t; + const time = this.$route.query.t; + let start = 0; + if (/^[\d]*$/g.test(time)) { + start = time; + } else { + const hours = /([\d]*)h/gi.exec(time)?.[1]; + const minutes = /([\d]*)m/gi.exec(time)?.[1]; + const seconds = /([\d]*)s/gi.exec(time)?.[1]; + if (hours) { + start += parseInt(hours) * 60 * 60; + } + if (minutes) { + start += parseInt(minutes) * 60; + } + if (seconds) { + start += parseInt(seconds); + } + } + videoEl.currentTime = start; } else if (window.db) { var tx = window.db.transaction("watch_history", "readonly"); var store = tx.objectStore("watch_history");