mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	add support for showing chapter duration in chapters modal
This commit is contained in:
		
							parent
							
								
									ce961f90ba
								
							
						
					
					
						commit
						48431b1c35
					
				| @ -1,11 +1,11 @@ | |||||||
| <template> | <template> | ||||||
|   <modals-modal v-model="show" name="chapters" :width="500" :height="'unset'"> |   <modals-modal v-model="show" name="chapters" :width="500" :height="'unset'"> | ||||||
|     <div ref="container" class="w-full rounded-lg bg-primary box-shadow-md overflow-y-auto overflow-x-hidden" style="max-height: 80vh"> |     <div ref="container" class="w-full rounded-lg bg-primary box-shadow-md overflow-y-auto overflow-x-hidden" style="max-height: 80vh"> | ||||||
|       <template v-for="chap in chapters"> |       <template v-for="(chap, index) in chapters"> | ||||||
|         <div :key="chap.id" :id="`chapter-row-${chap.id}`" class="flex items-center px-6 py-3 justify-start cursor-pointer hover:bg-bg relative" :class="chap.id === currentChapterId ? 'bg-yellow-400 bg-opacity-10' : chap.end <= currentChapterStart ? 'bg-success bg-opacity-5' : 'bg-opacity-20'" @click="clickChapter(chap)"> |         <div :key="chap.id" :id="`chapter-row-${chap.id}`" class="flex items-center px-6 py-3 justify-start cursor-pointer hover:bg-bg relative" :class="chap.id === currentChapterId ? 'bg-yellow-400 bg-opacity-10' : chap.end <= currentChapterStart ? 'bg-success bg-opacity-5' : 'bg-opacity-20'" @click="clickChapter(chap)"> | ||||||
|           {{ chap.title }} |           {{ chap.title }} | ||||||
|           <span class="flex-grow" /> |           <span class="flex-grow" /> | ||||||
|           <span class="font-mono text-sm text-gray-300">{{ $secondsToTimestamp(chap.start) }}</span> |           <span class="font-mono text-sm text-gray-300">{{ $secondsToTimestamp(chap.start) }} ({{$secondsToTimestamp(timeToNextChapter(index, chapters))}})</span> | ||||||
| 
 | 
 | ||||||
|           <div v-show="chap.id === currentChapterId" class="w-0.5 h-full absolute top-0 left-0 bg-yellow-400" /> |           <div v-show="chap.id === currentChapterId" class="w-0.5 h-full absolute top-0 left-0 bg-yellow-400" /> | ||||||
|         </div> |         </div> | ||||||
| @ -55,6 +55,12 @@ export default { | |||||||
|     clickChapter(chap) { |     clickChapter(chap) { | ||||||
|       this.$emit('select', chap) |       this.$emit('select', chap) | ||||||
|     }, |     }, | ||||||
|  |     timeToNextChapter(index,chapters) { | ||||||
|  |       if (index + 1 == chapters.length) { | ||||||
|  |         return chapters[index].end - chapters[index].start | ||||||
|  |       } | ||||||
|  |       return chapters[index+1].start - chapters[index].start | ||||||
|  |     }, | ||||||
|     scrollToChapter() { |     scrollToChapter() { | ||||||
|       if (!this.currentChapterId) return |       if (!this.currentChapterId) return | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user