Fixing scanner inodes, select all fix, starting ebook reader

This commit is contained in:
Mark Cooper 2021-09-27 06:52:21 -05:00
parent 01fdca4bf9
commit 3e5338ec8e
21 changed files with 661 additions and 66 deletions

View file

@ -37,7 +37,9 @@
<div v-show="numAudiobooksSelected" class="absolute top-0 left-0 w-full h-full px-4 bg-primary flex items-center">
<h1 class="text-2xl px-4">{{ numAudiobooksSelected }} Selected</h1>
<ui-btn small class="text-sm mx-2" @click="toggleSelectAll">{{ isAllSelected ? 'Select None' : 'Select All' }}</ui-btn>
<ui-btn small class="text-sm mx-2" @click="toggleSelectAll"
>{{ isAllSelected ? 'Select None' : 'Select All' }}<span class="pl-2">({{ audiobooksShowing.length }})</span></ui-btn
>
<div class="flex-grow" />
@ -87,7 +89,8 @@ export default {
return this.$store.state.user.user.audiobooks || {}
},
audiobooksShowing() {
return this.$store.getters['audiobooks/getFiltered']()
// return this.$store.getters['audiobooks/getFiltered']()
return this.$store.getters['audiobooks/getEntitiesShowing']()
},
userCanUpdate() {
return this.$store.getters['user/getUserCanUpdate']

View file

@ -23,7 +23,7 @@
<template v-for="entity in shelf">
<cards-group-card v-if="showGroups" :key="entity.id" :width="bookCoverWidth" :group="entity" @click="clickGroup" />
<!-- <cards-book-3d :key="entity.id" v-else :width="100" :src="$store.getters['audiobooks/getBookCoverSrc'](entity.book)" /> -->
<cards-book-card v-else :key="entity.id" :show-volume-number="selectedSeries" :width="bookCoverWidth" :user-progress="userAudiobooks[entity.id]" :audiobook="entity" />
<cards-book-card v-else :key="entity.id" :show-volume-number="!!selectedSeries" :width="bookCoverWidth" :user-progress="userAudiobooks[entity.id]" :audiobook="entity" />
</template>
</div>
<div class="bookshelfDivider h-4 w-full absolute bottom-0 left-0 right-0 z-10" />

View file

@ -33,6 +33,10 @@
<p :style="{ fontSize: sizeMultiplier * 0.8 + 'rem' }">#{{ volumeNumber }}</p>
</div>
<!-- <div v-if="true && hasEbook" class="absolute rounded-lg bg-black bg-opacity-90 box-shadow-md" :style="{ bottom: 0.375 * sizeMultiplier + 'rem', right: 0.375 * sizeMultiplier + 'rem', padding: `${0.1 * sizeMultiplier}rem ${0.25 * sizeMultiplier}rem` }">
<p :style="{ fontSize: sizeMultiplier * 0.8 + 'rem' }">EBook</p>
</div> -->
<div v-show="!isSelectionMode" class="absolute bottom-0 left-0 h-1 shadow-sm max-w-full" :class="userIsRead ? 'bg-success' : 'bg-yellow-400'" :style="{ width: width * userProgressPercent + 'px' }"></div>
<ui-tooltip v-if="showError" :text="errorText" class="absolute bottom-4 left-0">
@ -78,6 +82,9 @@ export default {
audiobookId() {
return this.audiobook.id
},
hasEbook() {
return this.audiobook.numEbooks
},
isSelectionMode() {
return this.$store.getters['getNumAudiobooksSelected']
},

View file

@ -23,7 +23,7 @@
<template v-for="track in files">
<tr :key="track.path">
<td class="font-book pl-2">
{{ track.filename }}
{{ track.filename }}<span class="text-white text-opacity-50 pl-4">({{ track.ino }})</span>
</td>
<td class="font-mono">
{{ $bytesPretty(track.size) }}

View file

@ -21,7 +21,7 @@
<template v-for="file in files">
<tr :key="file.path">
<td class="font-book pl-2">
{{ file.path }}
{{ file.path }}<span class="text-white text-opacity-50 pl-4">({{ file.ino }})</span>
</td>
<td class="text-xs">
<p>{{ file.filetype }}</p>

View file

@ -27,7 +27,7 @@
<p>{{ track.index }}</p>
</td>
<td class="font-book">
{{ track.filename }}
{{ track.filename }}<span class="text-white text-opacity-50 pl-4">({{ track.ino }})</span>
</td>
<td class="font-mono">
{{ $bytesPretty(track.size) }}