mirror of https://github.com/kiwix/libkiwix.git
Add fallback if metadata (title, description, language, tags)
This provides a workaround the crash happening because of missing metadata. Language div is set to be hidden if no language data is found
This commit is contained in:
parent
843d315b93
commit
9c047844c0
|
@ -67,7 +67,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function getInnerHtml(node, query) {
|
function getInnerHtml(node, query) {
|
||||||
return node.querySelector(query).innerHTML;
|
const queryNode = node.querySelector(query);
|
||||||
|
return queryNode != null ? queryNode.innerHTML : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateBookHtml(book, sort = false) {
|
function generateBookHtml(book, sort = false) {
|
||||||
|
@ -103,6 +104,7 @@
|
||||||
if (sort) {
|
if (sort) {
|
||||||
divTag.setAttribute('data-idx', bookOrderMap.get(id));
|
divTag.setAttribute('data-idx', bookOrderMap.get(id));
|
||||||
}
|
}
|
||||||
|
const languageAttr = language != '' ? '' : 'style="background-color: transparent"';
|
||||||
divTag.innerHTML = `<a class="book__link" href="${root}${link}" data-hover="Preview">
|
divTag.innerHTML = `<a class="book__link" href="${root}${link}" data-hover="Preview">
|
||||||
<div class="book__wrapper">
|
<div class="book__wrapper">
|
||||||
<div class="book__icon"><img class="book__icon--image" src="${root}${iconUrl}"></div>
|
<div class="book__icon"><img class="book__icon--image" src="${root}${iconUrl}"></div>
|
||||||
|
@ -111,7 +113,7 @@
|
||||||
${downloadLink ? `<div class="book__download"><span data-link="${downloadLink}">Download ${humanFriendlyZimSize ? ` - ${humanFriendlyZimSize}</span></div>`: ''}` : ''}
|
${downloadLink ? `<div class="book__download"><span data-link="${downloadLink}">Download ${humanFriendlyZimSize ? ` - ${humanFriendlyZimSize}</span></div>`: ''}` : ''}
|
||||||
</div>
|
</div>
|
||||||
<div class="book__description" title="${description}">${description}</div>
|
<div class="book__description" title="${description}">${description}</div>
|
||||||
<div class="book__languageTag">${language.substr(0, 2).toUpperCase()}</div>
|
<div class="book__languageTag" ${languageAttr}>${language.substr(0, 2).toUpperCase()}</div>
|
||||||
<div class="book__tags"><div class="book__tags--wrapper">${tagHtml}</div></div>
|
<div class="book__tags"><div class="book__tags--wrapper">${tagHtml}</div></div>
|
||||||
</div></div></a>`;
|
</div></div></a>`;
|
||||||
return divTag;
|
return divTag;
|
||||||
|
|
Loading…
Reference in New Issue