Работа над opds
This commit is contained in:
@@ -68,6 +68,7 @@ class AuthorPage extends BasePage {
|
|||||||
const query = {
|
const query = {
|
||||||
author: req.query.author || '',
|
author: req.query.author || '',
|
||||||
series: req.query.series || '',
|
series: req.query.series || '',
|
||||||
|
all: req.query.all || '',
|
||||||
depth: 0,
|
depth: 0,
|
||||||
del: 0,
|
del: 0,
|
||||||
limit: 100
|
limit: 100
|
||||||
@@ -84,12 +85,18 @@ class AuthorPage extends BasePage {
|
|||||||
if (query.series) {
|
if (query.series) {
|
||||||
//книги по серии
|
//книги по серии
|
||||||
const bookList = await this.webWorker.getSeriesBookList(query.series);
|
const bookList = await this.webWorker.getSeriesBookList(query.series);
|
||||||
|
|
||||||
if (bookList.books) {
|
if (bookList.books) {
|
||||||
let books = JSON.parse(bookList.books);
|
let books = JSON.parse(bookList.books);
|
||||||
books = this.sortSeriesBooks(this.filterBooks(books, query));
|
const filtered = (query.all ? books : this.filterBooks(books, query));
|
||||||
|
const sorted = this.sortSeriesBooks(filtered);
|
||||||
|
|
||||||
|
for (const book of sorted) {
|
||||||
|
let title = `${book.serno ? `${book.serno}. `: ''}${book.title || 'Без названия'}`;
|
||||||
|
if (query.all) {
|
||||||
|
title = `${this.bookAuthor(book.author)} "${title}"`;
|
||||||
|
}
|
||||||
|
|
||||||
for (const book of books) {
|
|
||||||
const title = `${book.serno ? `${book.serno}. `: ''}${book.title || 'Без названия'}`;
|
|
||||||
entry.push(
|
entry.push(
|
||||||
this.makeEntry({
|
this.makeEntry({
|
||||||
id: book._uid,
|
id: book._uid,
|
||||||
@@ -98,6 +105,18 @@ class AuthorPage extends BasePage {
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (books.length > filtered.length) {
|
||||||
|
entry.push(
|
||||||
|
this.makeEntry({
|
||||||
|
id: 'all_series_books',
|
||||||
|
title: 'Все книги серии',
|
||||||
|
link: this.navLink({
|
||||||
|
href: `/${this.id}?author=${encodeURIComponent(query.author)}` +
|
||||||
|
`&series=${encodeURIComponent(query.series)}&all=1`}),
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (query.author && query.author[0] == '=') {
|
} else if (query.author && query.author[0] == '=') {
|
||||||
//книги по автору
|
//книги по автору
|
||||||
|
|||||||
Reference in New Issue
Block a user