diff --git a/src/database/queries/ChapterQueries.ts b/src/database/queries/ChapterQueries.ts
index 8e78f8a3..8a0bc0ad 100644
--- a/src/database/queries/ChapterQueries.ts
+++ b/src/database/queries/ChapterQueries.ts
@@ -11,8 +11,12 @@ const db = SQLite.openDatabase('lnreader.db');
export const insertChapters = async (
novelId: number,
- chapters: ChapterItem[],
+ chapters?: ChapterItem[],
) => {
+ if (!chapters?.length) {
+ return;
+ }
+
let insertChaptersQuery = `
INSERT INTO chapters (
chapterUrl, chapterName, releaseDate,
diff --git a/src/screens/novel/components/JumpToChapterModal.js b/src/screens/novel/components/JumpToChapterModal.js
index 0afb9a7b..7ad7f4dd 100644
--- a/src/screens/novel/components/JumpToChapterModal.js
+++ b/src/screens/novel/components/JumpToChapterModal.js
@@ -83,14 +83,14 @@ const JumpToChapterModal = ({
{item.chapterName}
- {item.releaseDate && (
+ {item?.releaseDate ? (
{item.releaseDate}
- )}
+ ) : null}
);
};
diff --git a/src/screens/reader/components/ChapterDrawer.js b/src/screens/reader/components/ChapterDrawer.js
index 1543ec56..113a8c19 100644
--- a/src/screens/reader/components/ChapterDrawer.js
+++ b/src/screens/reader/components/ChapterDrawer.js
@@ -104,9 +104,9 @@ const ChapterDrawer = ({ state: st, navigation }) => {
{item.chapterName}
- {item?.releaseDate && (
+ {item?.releaseDate ? (
{item.releaseDate}
- )}
+ ) : null}
);
@@ -183,6 +183,7 @@ const ChapterDrawer = ({ state: st, navigation }) => {
});
}
};
+
return (
{getString('common.chapters')}
@@ -238,8 +239,8 @@ const createStylesheet = (theme, insets) => {
margin: 4,
marginLeft: 0,
marginRight: 16,
- borderTopRightRadius: 50,
- borderBottomRightRadius: 50,
+ borderRadius: 50,
+ // borderBottomRightRadius: 50,
overflow: 'hidden',
minHeight: 48,
},
diff --git a/src/sources/en/fastnovel.js b/src/sources/en/fastnovel.js
index 08ebb6cb..7d0f9695 100644
--- a/src/sources/en/fastnovel.js
+++ b/src/sources/en/fastnovel.js
@@ -1,6 +1,7 @@
import { fetchHtml } from '@utils/fetch/fetch';
import * as cheerio from 'cheerio';
+const sourceId = 3;
const baseUrl = 'https://fastnovel.net';
const searchUrl = 'https://fastnovel.net/search/';
@@ -20,7 +21,7 @@ const popularNovels = async page => {
const novelUrl = loadedCheerio(this).find('a').attr('href').substring(1);
const novel = {
- sourceId: 3,
+ sourceId,
novelName,
novelCover,
novelUrl,
@@ -40,7 +41,7 @@ const parseNovelAndChapters = async novelUrl => {
const loadedCheerio = cheerio.load(body);
let novel = {
- sourceId: 3,
+ sourceId,
sourceName: 'FastNovel',
url,
novelUrl,
@@ -112,7 +113,7 @@ const parseChapter = async (novelUrl, chapterUrl) => {
let chapterText = loadedCheerio('#chapter-body').html();
const chapter = {
- sourceId: 3,
+ sourceId,
novelUrl,
chapterUrl,
chapterName,
@@ -137,7 +138,7 @@ const searchNovels = async searchTerm => {
const novelUrl = loadedCheerio(this).find('a').attr('href').substring(1);
const novel = {
- sourceId: 3,
+ sourceId,
novelName,
novelCover,
novelUrl,
diff --git a/src/sources/en/foxaholic.js b/src/sources/en/foxaholic.js
index ecc4a7ed..355f4e32 100644
--- a/src/sources/en/foxaholic.js
+++ b/src/sources/en/foxaholic.js
@@ -1,5 +1,7 @@
import { fetchHtml } from '@utils/fetch/fetch';
import * as cheerio from 'cheerio';
+
+const sourceId = 22;
const baseUrl = 'https://foxaholic.com/';
const popularNovels = async page => {
diff --git a/src/sources/multisrc/madara/MadaraScraper.js b/src/sources/multisrc/madara/MadaraScraper.js
index ad370653..7f231e04 100644
--- a/src/sources/multisrc/madara/MadaraScraper.js
+++ b/src/sources/multisrc/madara/MadaraScraper.js
@@ -61,7 +61,7 @@ class MadaraScraper {
async parseNovelAndChapters(novelUrl) {
const url = `${this.baseUrl}${this.path.novel}/${novelUrl}/`;
- const body = await fetchHtml({ url, sourceId });
+ const body = await fetchHtml({ url, sourceId: this.sourceId });
let loadedCheerio = cheerio.load(body);
@@ -134,8 +134,10 @@ class MadaraScraper {
sourceId: this.sourceId,
});
} else {
- const data = await fetch(url + 'ajax/chapters/', { method: 'POST' });
- html = await data.text();
+ html = await fetchHtml({
+ url: url + 'ajax/chapters/',
+ init: { method: 'POST' },
+ });
}
if (html !== '0') {
@@ -212,13 +214,13 @@ class MadaraScraper {
async searchNovels(searchTerm) {
const url = `${this.baseUrl}?s=${searchTerm}&post_type=wp-manga`;
+ let sourceId = this.sourceId;
const body = await fetchHtml({ url, sourceId });
const loadedCheerio = cheerio.load(body);
let novels = [];
- let sourceId = this.sourceId;
loadedCheerio('.c-tabs-item__content').each(function () {
const novelName = loadedCheerio(this).find('.post-title').text().trim();