Add formatted display for seconds played and duration
This commit is contained in:
1 parent
2d7fc08a3e
commit
011a8c6d56
1 file changed
+21
-1
@@ -28,6 +28,14 @@ const {
|
|||||||
secondsPlayed,
|
secondsPlayed,
|
||||||
duration,
|
duration,
|
||||||
} = usePlayer()
|
} = usePlayer()
|
||||||
|
|
||||||
|
const secondsPlayedFormatted = computed(() =>
|
||||||
|
new Date(secondsPlayed.value * 1000).toISOString().slice(14, 19),
|
||||||
|
)
|
||||||
|
|
||||||
|
const durationFormatted = computed(() =>
|
||||||
|
new Date(duration.value * 1000).toISOString().slice(14, 19),
|
||||||
|
)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -65,12 +73,14 @@ const {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="slider">
|
<div class="slider">
|
||||||
|
<p>{{ secondsPlayedFormatted }}</p>
|
||||||
<RangeSlider
|
<RangeSlider
|
||||||
:model-value="secondsPlayed"
|
:model-value="secondsPlayed"
|
||||||
@update:model-value="(v) => (secondsPlayed = v ?? 0)"
|
@update:model-value="(v) => (secondsPlayed = v ?? 0)"
|
||||||
:max="duration"
|
:max="duration"
|
||||||
dont-update-immediately
|
dont-update-immediately
|
||||||
/>
|
/>
|
||||||
|
<p>{{ durationFormatted }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="misc-btns"></div>
|
<div class="misc-btns"></div>
|
||||||
@@ -80,6 +90,7 @@ const {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@use "@/styles/variables" as *;
|
@use "@/styles/variables" as *;
|
||||||
|
@use "@/styles/util" as *;
|
||||||
|
|
||||||
#width-fixer {
|
#width-fixer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -137,8 +148,8 @@ const {
|
|||||||
|
|
||||||
.controls {
|
.controls {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.8rem;
|
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
|
||||||
.btns,
|
.btns,
|
||||||
@@ -152,6 +163,15 @@ const {
|
|||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.slider {
|
||||||
|
gap: 12px;
|
||||||
|
|
||||||
|
& p {
|
||||||
|
@include fontSize(15px);
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|||||||
Reference in new issue
Block a user