diff options
| author | Kenimarru <[email protected]> | 2024-01-06 18:37:27 +0100 |
|---|---|---|
| committer | Kenimarru <[email protected]> | 2024-01-06 18:37:27 +0100 |
| commit | ea9e56893c4dd5e7a6d96e26f6fdd6080d030160 (patch) | |
| tree | 9f74ed2ef14c91e71ff9dbef8346f42c068cfac4 | |
| parent | v0.2.3 (diff) | |
| download | hiruku-ea9e56893c4dd5e7a6d96e26f6fdd6080d030160.tar.xz hiruku-ea9e56893c4dd5e7a6d96e26f6fdd6080d030160.zip | |
v0.2.4
| -rw-r--r-- | components/Stream.vue | 32 | ||||
| -rw-r--r-- | package-lock.json | 4 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rw-r--r-- | pages/e/[id]/[episode]/index.vue | 7 |
4 files changed, 42 insertions, 3 deletions
diff --git a/components/Stream.vue b/components/Stream.vue new file mode 100644 index 0000000..393174d --- /dev/null +++ b/components/Stream.vue @@ -0,0 +1,32 @@ +<template> + <section class="space-y-4"> + <section class="flex flex-col"> + <h2 class="text-secondary text-2xl font-semibold">{{ information.stream.info.title }}</h2> + <p class="text-primary">Episode {{ information.stream.info.episode }}</p> + </section> + <section class="grid grid-cols-1 md:grid-cols-2 gap-2 md:gap-4"> + <iframe :src="information.stream.plyr.main" frameborder="0" class="w-full h-auto md:h-96 rounded-sm" /> + <div class="flex flex-col gap-2"> + <h2 class="text-secondary text-2xl font-semibold">Episodes</h2> + <div class="flex flex-col w-full h-80 overflow-y-auto gap-2 pr-2"> + <NuxtLink :to="`/e/${id}/${episode.id}`" v-for="episode in information.episodes.episodes" class="bg-sub rounded-sm py-2 px-4"> + <h6 class="text-secondary text-lg font-semibold">{{ episode.title }}</h6> + <p class="text-primary">Episode {{ episode.number }}</p> + </NuxtLink> + </div> + </div> + </section> + </section> +</template> + +<script setup> +const { id, episode } = defineProps(["id", "episode"]); +const { data: information } = await useAsyncData("information", async () => { + const [episodes, stream] = await Promise.all([ + $fetch("https://api.amvstr.me/api/v2/episode/" + id), + $fetch("https://api.amvstr.me/api/v2/stream/" + episode) + ]); + + return { episodes, stream } +}); +</script>
\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6d7ca7f..b800644 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "hiruki", - "version": "0.2.3", + "version": "0.2.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "hiruki", - "version": "0.2.3", + "version": "0.2.4", "hasInstallScript": true, "devDependencies": { "@nuxt/image": "^1.1.0", diff --git a/package.json b/package.json index 85a07a0..6380b22 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hiruki", - "version": "0.2.3", + "version": "0.2.4", "private": true, "type": "module", "scripts": { diff --git a/pages/e/[id]/[episode]/index.vue b/pages/e/[id]/[episode]/index.vue new file mode 100644 index 0000000..3884f40 --- /dev/null +++ b/pages/e/[id]/[episode]/index.vue @@ -0,0 +1,7 @@ +<template> + <Stream :id="id" :episode="episode" /> +</template> + +<script setup> +const { id, episode } = useRoute().params +</script>
\ No newline at end of file |