Files
librodrome/app/components/song/SongBadges.vue
Yvv 7ea19e2247
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Viewer PDF.js mode livre avec signets, fix hydratation SSR
- Viewer PDF.js mode livre : double page côte à côte, navigation prev/next visuelle et clavier
- Panneau signets (outline) avec tout déplier/replier, highlight du spread courant
- Page 1 = couverture seule, puis paires 2-3, 4-5, etc.
- Navigation clavier : flèches, espace, Home/End
- Redimensionnement auto des canvas au resize
- Fix hydratation SSR : bookData.init() sans await dans ChapterHeader et SongBadges
- BookPdfReader : iframe vers /pdfjs/viewer.html au lieu du viewer natif
- Script postinstall pour copier pdf.min.mjs depuis node_modules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:16:47 +01:00

24 lines
601 B
Vue

<template>
<div v-if="songs.length > 0" class="flex flex-wrap gap-1">
<span
v-for="song in songs"
:key="song.id"
class="inline-flex items-center gap-1 rounded-full border border-primary/20 bg-primary/10 px-2.5 py-1 text-xs font-medium text-primary/80"
>
<div class="i-lucide-music h-2.5 w-2.5" />
{{ song.title }}
</span>
</div>
</template>
<script setup lang="ts">
const props = defineProps<{
chapterSlug: string
}>()
const bookData = useBookData()
bookData.init()
const songs = computed(() => bookData.getChapterSongs(props.chapterSlug))
</script>