aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenimarru <[email protected]>2024-01-06 18:37:27 +0100
committerKenimarru <[email protected]>2024-01-06 18:37:27 +0100
commitea9e56893c4dd5e7a6d96e26f6fdd6080d030160 (patch)
tree9f74ed2ef14c91e71ff9dbef8346f42c068cfac4
parentv0.2.3 (diff)
downloadhiruku-ea9e56893c4dd5e7a6d96e26f6fdd6080d030160.tar.xz
hiruku-ea9e56893c4dd5e7a6d96e26f6fdd6080d030160.zip
v0.2.4
-rw-r--r--components/Stream.vue32
-rw-r--r--package-lock.json4
-rw-r--r--package.json2
-rw-r--r--pages/e/[id]/[episode]/index.vue7
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