Change url episode query param and update artplayer urls

This commit is contained in:
2025-08-24 22:52:11 +05:00
parent 2f735587c3
commit c2316a672d
5 changed files with 62 additions and 43 deletions

View File

@ -1,15 +1,29 @@
<script setup lang="ts">
import { Icon } from '@iconify/vue'
import type { RouteLocationNormalized } from 'vue-router'
import { updateUrlParameter } from '~/components/util/route'
const props = defineProps<Props>();
const route = useRoute()
const currentEpisode = computed(() => Number(route.query.episode as string))
</script>
<script lang="ts">
function changeEpisode(route: RouteLocationNormalized, props: Props, currentEpisode: number) {
let episodeOffset = 0
if (props.type == EpisodeChangeType.NEXT) {
episodeOffset = 1
}
if (props.type == EpisodeChangeType.PREVIOUS) {
episodeOffset = -1
}
updateUrlParameter(route, 'episode', String(currentEpisode + episodeOffset))
}
interface Props {
type: EpisodeChangeType;
}
const props = defineProps<Props>();
</script>
<script lang="ts">
export enum EpisodeChangeType {
NEXT = "mage:next-fill",
PREVIOUS = "mage:previous-fill",
@ -17,7 +31,7 @@ export enum EpisodeChangeType {
</script>
<template>
<UiButton variant="borderless" size="icon">
<UiButton v-on:click="changeEpisode(route, props, currentEpisode)" variant="borderless" size="icon">
<Icon :icon="props.type" class="size-5" />
</UiButton>
</template>