diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 2c6cc1912c..d04ad818fb 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -3,6 +3,3 @@ contact_links: - name: Discord url: https://discord.gg/HQgCbd6E75 about: Ask questions, get help troubleshooting, and join the Abs community here. - - name: Matrix - url: https://matrix.to/#/#audiobookshelf:matrix.org - about: Ask questions, get help troubleshooting, and join the Abs community here. diff --git a/.gitignore b/.gitignore index 9ddb1a7074..ca3768ba3b 100644 --- a/.gitignore +++ b/.gitignore @@ -15,8 +15,9 @@ /.nyc_output/ /ffmpeg* /ffprobe* +/unicode* sw.* .DS_STORE .idea/* -tailwind.compiled.css \ No newline at end of file +tailwind.compiled.css diff --git a/build/debian/DEBIAN/preinst b/build/debian/DEBIAN/preinst index c4692ed340..e30bc490c1 100644 --- a/build/debian/DEBIAN/preinst +++ b/build/debian/DEBIAN/preinst @@ -2,7 +2,6 @@ set -e set -o pipefail -FFMPEG_INSTALL_DIR="/usr/lib/audiobookshelf-ffmpeg" DEFAULT_DATA_DIR="/usr/share/audiobookshelf" CONFIG_PATH="/etc/default/audiobookshelf" DEFAULT_PORT=13378 @@ -46,25 +45,6 @@ add_group() { fi } -install_ffmpeg() { - echo "Starting FFMPEG Install" - - WGET="wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz --output-document=ffmpeg-git-amd64-static.tar.xz" - - if ! cd "$FFMPEG_INSTALL_DIR"; then - echo "Creating ffmpeg install dir at $FFMPEG_INSTALL_DIR" - mkdir "$FFMPEG_INSTALL_DIR" - chown -R 'audiobookshelf:audiobookshelf' "$FFMPEG_INSTALL_DIR" - cd "$FFMPEG_INSTALL_DIR" - fi - - $WGET - tar xvf ffmpeg-git-amd64-static.tar.xz --strip-components=1 --no-same-owner - rm ffmpeg-git-amd64-static.tar.xz - - echo "Good to go on Ffmpeg... hopefully" -} - setup_config() { if [ -f "$CONFIG_PATH" ]; then echo "Existing config found." @@ -83,8 +63,6 @@ setup_config() { config_text="METADATA_PATH=$DEFAULT_DATA_DIR/metadata CONFIG_PATH=$DEFAULT_DATA_DIR/config -FFMPEG_PATH=$FFMPEG_INSTALL_DIR/ffmpeg -FFPROBE_PATH=$FFMPEG_INSTALL_DIR/ffprobe PORT=$DEFAULT_PORT HOST=$DEFAULT_HOST" @@ -101,5 +79,3 @@ add_group 'audiobookshelf' '' add_user 'audiobookshelf' '' 'audiobookshelf' 'audiobookshelf user-daemon' '/bin/false' setup_config - -install_ffmpeg diff --git a/client/components/app/BookShelfToolbar.vue b/client/components/app/BookShelfToolbar.vue index 54450164ce..7584de1412 100644 --- a/client/components/app/BookShelfToolbar.vue +++ b/client/components/app/BookShelfToolbar.vue @@ -84,11 +84,6 @@ - - @@ -23,6 +24,9 @@ export default { computed: { name() { return this.author.name + }, + numBooks() { + return this.author.numBooks } }, methods: {}, @@ -33,9 +37,9 @@ export default { \ No newline at end of file + diff --git a/client/components/cards/Book3d.vue b/client/components/cards/Book3d.vue deleted file mode 100644 index 9a21e1f88a..0000000000 --- a/client/components/cards/Book3d.vue +++ /dev/null @@ -1,254 +0,0 @@ - - - - - \ No newline at end of file diff --git a/client/components/cards/GenreSearchCard.vue b/client/components/cards/GenreSearchCard.vue new file mode 100644 index 0000000000..73e8bbacf8 --- /dev/null +++ b/client/components/cards/GenreSearchCard.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/client/components/cards/ItemSearchCard.vue b/client/components/cards/ItemSearchCard.vue index bfcac8f0d8..ca74f1b7be 100644 --- a/client/components/cards/ItemSearchCard.vue +++ b/client/components/cards/ItemSearchCard.vue @@ -2,15 +2,9 @@
-

{{ title }}

-

- -

- -

{{ $getString('LabelByAuthor', [authorName]) }}

-

- -

+

{{ title }}

+

{{ subtitle }}

+

{{ $getString('LabelByAuthor', [authorName]) }}

@@ -21,10 +15,7 @@ export default { libraryItem: { type: Object, default: () => {} - }, - search: String, - matchKey: String, - matchText: String + } }, data() { return {} @@ -58,23 +49,6 @@ export default { authorName() { if (this.isPodcast) return this.mediaMetadata.author || 'Unknown' return this.mediaMetadata.authorName || 'Unknown' - }, - matchHtml() { - if (!this.matchText || !this.search) return '' - - // This used to highlight the part of the search found - // but with removing commas periods etc this is no longer plausible - const html = this.matchText - - if (this.matchKey === 'episode') return `

${this.$strings.LabelEpisode}: ${html}

` - if (this.matchKey === 'tags') return `

${this.$strings.LabelTags}: ${html}

` - if (this.matchKey === 'subtitle') return `

${html}

` - if (this.matchKey === 'authors') this.$getString('LabelByAuthor', [html]) - if (this.matchKey === 'isbn') return `

ISBN: ${html}

` - if (this.matchKey === 'asin') return `

ASIN: ${html}

` - if (this.matchKey === 'series') return `

${this.$strings.LabelSeries}: ${html}

` - if (this.matchKey === 'narrators') return `

${this.$strings.LabelNarrator}: ${html}

` - return `${html}` } }, methods: {}, diff --git a/client/components/cards/LazySeriesCard.vue b/client/components/cards/LazySeriesCard.vue index ff7d2a87a1..1479d18981 100644 --- a/client/components/cards/LazySeriesCard.vue +++ b/client/components/cards/LazySeriesCard.vue @@ -81,16 +81,16 @@ export default { return this.store.getters['user/getSizeMultiplier'] }, seriesId() { - return this.series ? this.series.id : '' + return this.series?.id || '' }, title() { - return this.series ? this.series.name : '' + return this.series?.name || '' }, nameIgnorePrefix() { - return this.series ? this.series.nameIgnorePrefix : '' + return this.series?.nameIgnorePrefix || '' }, displayTitle() { - if (this.sortingIgnorePrefix) return this.nameIgnorePrefix || this.title + if (this.sortingIgnorePrefix) return this.nameIgnorePrefix || this.title || '\u00A0' return this.title || '\u00A0' }, displaySortLine() { @@ -110,13 +110,13 @@ export default { } }, books() { - return this.series ? this.series.books || [] : [] + return this.series?.books || [] }, addedAt() { - return this.series ? this.series.addedAt : 0 + return this.series?.addedAt || 0 }, totalDuration() { - return this.series ? this.series.totalDuration : 0 + return this.series?.totalDuration || 0 }, seriesBookProgress() { return this.books @@ -161,7 +161,7 @@ export default { return this.bookshelfView == constants.BookshelfView.DETAIL }, rssFeed() { - return this.series ? this.series.rssFeed : null + return this.series?.rssFeed } }, methods: { diff --git a/client/components/cards/NarratorSearchCard.vue b/client/components/cards/NarratorSearchCard.vue index d5d1dbbd26..00909c752a 100644 --- a/client/components/cards/NarratorSearchCard.vue +++ b/client/components/cards/NarratorSearchCard.vue @@ -5,6 +5,7 @@

{{ narrator }}

+

{{ $getString('LabelXBooks', [numBooks]) }}

@@ -12,7 +13,8 @@ \ No newline at end of file + diff --git a/client/components/modals/ChaptersModal.vue b/client/components/modals/ChaptersModal.vue index 4c00563929..be98a63f68 100644 --- a/client/components/modals/ChaptersModal.vue +++ b/client/components/modals/ChaptersModal.vue @@ -1,8 +1,8 @@