feat(pages): create chapter index page
just a page that lists each chapter and its summary
This commit is contained in:
parent
c9229b6c59
commit
b2ca5a13a1
31
pages/story/[id]/chapters.vue
Normal file
31
pages/story/[id]/chapters.vue
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<script lang="ts" setup>
|
||||||
|
import { storyMiddleware } from "~/lib/client/middleware";
|
||||||
|
import { IStory } from "~/models/stories";
|
||||||
|
|
||||||
|
definePageMeta({
|
||||||
|
middleware: [storyMiddleware],
|
||||||
|
});
|
||||||
|
const rtr = useRoute();
|
||||||
|
const { data: story, error } = await useApiFetch<IStory>(
|
||||||
|
`/story/${rtr.params.id}`,
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<a-list :data-source="story.chapters">
|
||||||
|
<template #renderItem="{ item, index }">
|
||||||
|
<a-list-item>
|
||||||
|
<a-list-item-meta>
|
||||||
|
<template #title>
|
||||||
|
<b>
|
||||||
|
<nuxt-link :to="`/story/${story._id}/${index + 1}`">
|
||||||
|
{{ item.title || "Untitled" }}
|
||||||
|
</nuxt-link>
|
||||||
|
</b>
|
||||||
|
</template>
|
||||||
|
</a-list-item-meta>
|
||||||
|
<div v-html="item.summary"></div>
|
||||||
|
</a-list-item>
|
||||||
|
</template>
|
||||||
|
</a-list>
|
||||||
|
</template>
|
Loading…
x
Reference in New Issue
Block a user