feat(reader): Read entry points — TagCard icon, TagsView route, SeriesManageView button
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,11 @@
|
|||||||
icon="mdi-book-open-page-variant"
|
icon="mdi-book-open-page-variant"
|
||||||
title="Manage series" @click.stop="$emit('manage', card.id)"
|
title="Manage series" @click.stop="$emit('manage', card.id)"
|
||||||
/>
|
/>
|
||||||
|
<v-icon
|
||||||
|
v-if="card.kind === 'series'"
|
||||||
|
class="fc-tagcard__edit" size="14" icon="mdi-book-open"
|
||||||
|
title="Read series" @click.stop="$emit('read', card.id)"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-else
|
v-else
|
||||||
@@ -49,7 +54,7 @@
|
|||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
|
|
||||||
const props = defineProps({ card: { type: Object, required: true } })
|
const props = defineProps({ card: { type: Object, required: true } })
|
||||||
const emit = defineEmits(['open', 'rename', 'manage'])
|
const emit = defineEmits(['open', 'rename', 'manage', 'read'])
|
||||||
|
|
||||||
const editing = ref(false)
|
const editing = ref(false)
|
||||||
const draft = ref('')
|
const draft = ref('')
|
||||||
|
|||||||
@@ -3,6 +3,13 @@
|
|||||||
<div class="fc-series__head">
|
<div class="fc-series__head">
|
||||||
<span class="fc-series__name">{{ store.series?.name || 'Series' }}</span>
|
<span class="fc-series__name">{{ store.series?.name || 'Series' }}</span>
|
||||||
<span class="fc-series__count">{{ store.pages.length }} page(s)</span>
|
<span class="fc-series__count">{{ store.pages.length }} page(s)</span>
|
||||||
|
<v-btn
|
||||||
|
v-if="store.pages.length > 0"
|
||||||
|
size="small" variant="tonal" color="accent"
|
||||||
|
prepend-icon="mdi-book-open"
|
||||||
|
class="fc-series__read"
|
||||||
|
@click="$router.push({ name: 'series-read', params: { tagId: store.tagId } })"
|
||||||
|
>Read</v-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="fc-series__body">
|
<div class="fc-series__body">
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<div class="fc-tags__grid">
|
<div class="fc-tags__grid">
|
||||||
<TagCard
|
<TagCard
|
||||||
v-for="c in store.cards" :key="c.id" :card="c"
|
v-for="c in store.cards" :key="c.id" :card="c"
|
||||||
@open="openTag" @rename="onRename" @manage="onManage"
|
@open="openTag" @rename="onRename" @manage="onManage" @read="onRead"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -101,6 +101,10 @@ function openTag(tagId) {
|
|||||||
function onManage(id) {
|
function onManage(id) {
|
||||||
router.push({ name: 'series-manage', params: { tagId: id } })
|
router.push({ name: 'series-manage', params: { tagId: id } })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onRead(id) {
|
||||||
|
router.push({ name: 'series-read', params: { tagId: id } })
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user