Files
lnreader-plugins/plugins/russian/renovels.broken.ts
T
nyagami e602df44c8 Full TS for Plugins (#538)
* remove lang, descrription in plugin script

* remove languages import

* Update README.md

* fix: missing lang

* clean: remove description

* feat(Add Sources) (#15)

* add many sources

* add showToast

* feat(Add Source): (#16)

* add source

* remove descriptions

* Early Novel & Fast Novel (#1)

* some more plugin

* plugin

* try something new

* yes

* try yes

* genres is plural

* fastnovel full fix

* testings

* early check

* earlynovel fixed

* showToast check

* earlynovel done

* fastnovel fixe

* again

* showToasts again

* fix for fastnovel

* done

* for pr

* Update freenovelupdates.js

* MTL Reader and MTL Novel (#2)

* first

* test

* wops

* mtlreaders

* ok

* for PR

* Nitro Scans and Novel Hold (#3)

* start feature

* more feature

* something

* eslint

* yes

* maybe

* wa

* asdasd

* amazing

* change it up

* for pr

* WPmangastream and Novelfull (#4) (#17)

* source generation

* fix json parse error

* update plguins

* delete fetchApi, nobleMTL (.js)

* delete showToast.js

* Typescript Support (#18)

* Initial TS Config

* Initial TS Config

* Fix most errors

* Fix test webserver

* Fix webserver isPlugin not working

* Fix typos

* Add check if plugins have all the fields

* Move exports.protected to the bottom of the plugin

* Change username, reponame and branchname

* Fix no exports error

* Fix type

* Fix typo in tsc_fix

* Remove const from exports to not re-define consts

* Readd const becuause exports may not exist.

* Fix plugins to work in-app

* Fix NobleMTL

* Remove fix_ts.ts

* Change template.ts

* delete cheerio_space

* move api into ./testweb

* remove js dir

* remove js dir (again)

* remove ./js (again)

* init multisrc generator (test)

* remove module.exports in libs

* madara generator

* update template

* rename generator, TS for hako

* fix icon url for madara

* fix icon for madara (again)

* update Readme, nodemon

* export default for all libs

* fix madara novelurl

* update: pluginId, name, filename for madara

* feat: check same id error

* update: precommit, fix: require.default

* Revert "update: precommit, fix: require.default"

This reverts commit c642c5c72241f13eccfe417210c22272c4739ffa.

* Port all plugins to ts (#19)

- fix cheerio
- remove export default
- fix spelling

* update template

* add multisrc noveltl, update generator param, fix web search

* fix undefined id for Snailulitka

* add rulate multisrc, fix max length textarea

* add readwn multisrc

* delete: erolate and rulate are in multisrc

* Change broken extension and show error on commit for those files (#20)

* Change to .broken.ts and show error on commit for those files

* remove novelStatus

* fix: wrong id in github action

* remove mangastream multisrc

* update icon for readwn multisrc

---------

Co-authored-by: K1ngfish3r <trulyihu@gmail.com>
Co-authored-by: Marcin Majewski <skilletssgames@gmail.com>
2023-08-17 08:49:45 +05:30

933 lines
56 KiB
TypeScript

import dayjs from "dayjs";
import { fetchApi } from "@libs/fetch";
import { NovelStatus } from "@libs/novelStatus";
import { FilterInputs } from "@libs/filterInputs";
import { Chapter, Novel, Plugin } from "@typings/plugin";
export const id = "ReN";
export const name = "Renovels";
export const site = "https://renovels.org";
export const version = "1.0.0";
export const icon = "src/ru/renovels/icon.png";
const baseUrl = site;
export const popularNovels: Plugin.popularNovels = async function (
page,
{ showLatestNovels, filters }
) {
let url = baseUrl + "/api/search/catalog/?count=30&ordering=";
url += filters?.order ? filters?.order?.replace("+", "") : "-";
url += showLatestNovels ? "chapter_date" : filters?.sort || "rating";
if (filters?.type?.length) {
url += filters.type.map((i) => `&types=${i}`).join("");
}
if (filters?.statuss?.length) {
url += filters?.statuss.map((i) => `&status=${i}`).join("");
}
if (filters?.genres?.length) {
url += filters.genres.map((i) => `&genres=${i}`).join("");
}
if (filters?.categories?.length) {
url += filters.categories.map((i) => `&categories=${i}`).join("");
}
url += "&page=" + page;
const result = await fetchApi(url);
let body = await result.json();
let novels: Novel.Item[] = [];
body.content.forEach((novel) =>
novels.push({
name: novel.rus_name,
cover:
baseUrl + (novel.img?.high || novel.img?.mid || novel.img.low),
url: baseUrl + "/novel/" + novel.dir,
})
);
return novels;
};
export const parseNovelAndChapters: Plugin.parseNovelAndChapters =
async function (novelUrl) {
let novelID = novelUrl.split("/")[4];
const result = await fetchApi(baseUrl + "/api/titles/" + novelID);
let body = await result.json();
let novel: Novel.instance = {
url: novelUrl,
name: body.content.rus_name,
summary: body.content.description,
cover:
baseUrl +
(body.content.img?.high ||
body.content.img?.mid ||
body.content.img.low),
status:
body.content.status.name === "Продолжается"
? NovelStatus.Ongoing
: NovelStatus.Completed,
};
let tags = []
.concat(body.content.genres, body.content.categories, [])
.map((item) => item.name);
if (tags.length > 0) {
novel.genres = tags.join(", ");
}
let all = (body.content.count_chapters / 100 + 1) ^ 0;
let chapters: Chapter.Item[] = [];
for (let i = 0; i < all; i++) {
let chapterResult = await fetchApi(
baseUrl +
"/api/titles/chapters/?branch_id=" +
body.content.branches[0].id +
"&count=100&page=" +
(i + 1)
);
let volumes = await chapterResult.json();
volumes.content.forEach((chapter) => {
if (!chapter.is_paid || chapter.is_bought) {
chapters.push({
name: `Том ${chapter.tome} Глава ${chapter.chapter} ${chapter.name}`?.trim(),
releaseTime: dayjs(chapter.upload_date).format("LLL"),
url: `${baseUrl}/novel/${novelID}/${chapter.id}/`,
});
}
});
}
novel.chapters = chapters.reverse();
return novel;
};
export const parseChapter: Plugin.parseChapter = async function (chapterUrl) {
let url = baseUrl + "/api/titles/chapters/" + chapterUrl.split("/")[5];
const result = await fetchApi(url);
const body = await result.json();
return body.content.content;
};
export const searchNovels: Plugin.searchNovels = async function (searchTerm) {
const url = `${baseUrl}/api/search/?query=${searchTerm}&count=100&field=titles`;
const result = await fetchApi(url);
let body = await result.json();
let novels: Novel.Item[] = [];
body.content.forEach((novel) =>
novels.push({
name: novel.rus_name,
cover:
baseUrl + (novel.img?.high || novel.img?.mid || novel.img.low),
url: baseUrl + "/novel/" + novel.dir,
})
);
return novels;
};
export const filters = [
{
key: "sort",
label: "Сортировка",
values: [
{ label: "Рейтинг", value: "rating" },
{ label: "Просмотры", value: "views" },
{ label: "Лайкам", value: "votes" },
{ label: "Дате добавления", value: "id" },
{ label: "Дате обновления", value: "chapter_date" },
{ label: "Количество глав", value: "count_chapters" },
],
inputType: FilterInputs.Picker,
},
{
key: "order",
label: "Порядок",
values: [
{ label: "По убыванию", value: "-" }, // desc
{ label: "По возрастанию", value: "+" }, // asc
],
inputType: FilterInputs.Picker,
},
{
key: "type",
label: "Тип",
values: [
{ label: "Авторское", value: "1" },
{ label: "Другое", value: "7" },
{ label: "Запад", value: "5" },
{ label: "Китай", value: "4" },
{ label: "Корея", value: "3" },
{ label: "Фанфики", value: "6" },
{ label: "Япония", value: "2" },
],
inputType: FilterInputs.Checkbox,
},
{
key: "statuss",
label: "Статус тайтла",
values: [
{ label: "Закончен", value: "0" },
{ label: "Продолжается", value: "1" },
{ label: "Заморожен", value: "2" },
{ label: "Нет переводчика", value: "3" },
{ label: "Анонс", value: "4" },
{ label: "Лицензировано", value: "5" },
],
inputType: FilterInputs.Checkbox,
},
{
key: "genres",
label: "Жанры",
values: [
{ label: "Боевик", value: "112" },
{ label: "Война", value: "123" },
{ label: "Детектив", value: "114" },
{ label: "Драма", value: "125" },
{ label: "Историческая проза", value: "115" },
{ label: "ЛитРПГ", value: "109" },
{ label: "Любовные романы", value: "116" },
{ label: "Мистика", value: "103" },
{ label: "Научная фантастика", value: "121" },
{ label: "Повседневность", value: "128" },
{ label: "Подростковая проза", value: "113" },
{ label: "Политический роман", value: "119" },
{ label: "Попаданцы", value: "108" },
{ label: "Поэзия", value: "105" },
{ label: "Разное", value: "111" },
{ label: "РеалРПГ", value: "117" },
{ label: "Романтика", value: "126" },
{ label: "Современная проза", value: "102" },
{ label: "Современная фантастика", value: "127" },
{ label: "Спорт", value: "122" },
{ label: "Трагедия", value: "129" },
{ label: "Триллер", value: "110" },
{ label: "Триллер и саспенс", value: "124" },
{ label: "Ужасы", value: "106" },
{ label: "Фантастика", value: "101" },
{ label: "Фанфик", value: "107" },
{ label: "Фьюжн роман", value: "120" },
{ label: "Фэнтези", value: "100" },
{ label: "Эротика", value: "118" },
{ label: "Юмор", value: "104" },
],
inputType: FilterInputs.Checkbox,
},
{
key: "categories",
label: "Категории",
values: [
{ label: "[Награжденная работа]", value: "648" },
{ label: "18+", value: "423" },
{ label: "Абьюзеры", value: "663" },
{ label: "Авантюристы", value: "436" },
{ label: "Автоматоны", value: "593" },
{ label: "Агрессивные персонажи", value: "502" },
{ label: "Ад", value: "569" },
{ label: "Адаптация в радиопостановку", value: "581" },
{ label: "Академия", value: "153" },
{ label: "Актеры озвучки", value: "627" },
{ label: "Активный главный герой", value: "251" },
{ label: "Алхимия", value: "233" },
{ label: "Альтернативная история", value: "147" },
{ label: "Альтернативный мир", value: "156" },
{ label: "Амнезия/Потеря памяти", value: "344" },
{ label: "Анабиоз", value: "685" },
{ label: "Ангелы", value: "183" },
{ label: "Андрогинные персонажи", value: "321" },
{ label: "Андроиды", value: "203" },
{ label: "Анти-магия", value: "533" },
{ label: "Антигерой", value: "432" },
{ label: "Антикварный магазин", value: "623" },
{ label: "Антисоциальный главный герой", value: "613" },
{ label: "Антиутопия", value: "142" },
{ label: "Апатичный протагонист", value: "157" },
{ label: "Апокалипсис", value: "402" },
{ label: "Аранжированный брак", value: "375" },
{ label: "Армия", value: "639" },
{ label: "Артефакты", value: "234" },
{ label: "Артисты", value: "523" },
{ label: "Банды", value: "630" },
{ label: "БДСМ", value: "699" },
{ label: "Бедный главный герой", value: "398" },
{ label: "Безжалостный главный герой", value: "261" },
{ label: "Беззаботный главный герой", value: "438" },
{ label: "Безусловная любовь", value: "679" },
{ label: "Беременность", value: "250" },
{ label: "Бесполый главный герой", value: "325" },
{ label: "Бессмертные", value: "368" },
{ label: "Бесстрашный протагонист", value: "656" },
{ label: "Бесстыдный главный герой", value: "352" },
{ label: "Бесчестный главный герой", value: "716" },
{ label: "Библиотека", value: "428" },
{ label: "Бизнес-литература", value: "121" },
{ label: "Бизнесмен", value: "769" },
{ label: "Биочип", value: "238" },
{ label: "Бисексуальный главный герой", value: "773" },
{ label: "Близнецы", value: "263" },
{ label: "Боги", value: "317" },
{ label: "Богини", value: "439" },
{ label: "Боевая академия", value: "450" },
{ label: "Боевая фантастика", value: "149" },
{ label: "Боевое фэнтези", value: "104" },
{ label: "Боевые духи", value: "433" },
{ label: "Боевые соревнования", value: "493" },
{ label: "Божественная защита", value: "421" },
{ label: "Божественные силы", value: "327" },
{ label: "Борьба за власть", value: "599" },
{ label: "Брак", value: "446" },
{ label: "Брак по расчету", value: "188" },
{ label: "Братский комплекс", value: "159" },
{ label: "Братство", value: "487" },
{ label: "Братья и сестры", value: "577" },
{ label: "Буддизм", value: "745" },
{ label: "Быстрая культивация", value: "366" },
{ label: "Быстрообучаемый", value: "324" },
{ label: "Валькирии", value: "692" },
{ label: "Вампиры", value: "360" },
{ label: "Ваншот", value: "702" },
{ label: "Ведьмы", value: "281" },
{ label: "Вежливый главный герой", value: "379" },
{ label: "Верные подчиненные", value: "328" },
{ label: "Взрослый главный герой", value: "295" },
{ label: "Видит то, чего не видят другие", value: "671" },
{ label: "Виртуальная реальность", value: "401" },
{ label: "Владелец магазина", value: "681" },
{ label: "Внезапная сила", value: "455" },
{ label: "Внезапное богатство", value: "765" },
{ label: "Внешний вид отличается от факт", value: "419" },
{ label: "Военные Летописи", value: "743" },
{ label: "Возвращение из другого мира", value: "696" },
{ label: "Войны", value: "181" },
{ label: "Вокалоид", value: "701" },
{ label: "Волшебники/Волшебницы", value: "539" },
{ label: "Волшебные звери", value: "308" },
{ label: "Воображаемый друг", value: "651" },
{ label: "Воры", value: "414" },
{ label: "Воскрешение", value: "199" },
{ label: "Враги становятся возлюбленными", value: "498" },
{ label: "Враги становятся союзниками", value: "562" },
{ label: "Врата в другой мир", value: "609" },
{ label: "Врачи", value: "376" },
{ label: "Временной парадокс", value: "275" },
{ label: "Всемогущий главный герой", value: "169" },
{ label: "Вторжение на землю", value: "198" },
{ label: "Второй шанс", value: "231" },
{ label: "Вуайеризм", value: "790" },
{ label: "Выживание", value: "380" },
{ label: "Высокомерные персонажи", value: "361" },
{ label: "Гадание", value: "595" },
{ label: "Гарем рабов", value: "777" },
{ label: "Гг - женщина", value: "186" },
{ label: "Гг - мужчина", value: "166" },
{ label: "Гг силен с самого начала", value: "171" },
{ label: "Геймеры", value: "392" },
{ label: "Генералы", value: "326" },
{ label: "Генетические модификации", value: "657" },
{ label: "Гениальный главный герой", value: "617" },
{ label: "Герои", value: "285" },
{ label: "Героиня — сорванец", value: "583" },
{ label: "Героическая фантастика", value: "140" },
{ label: "Героическое фэнтези", value: "107" },
{ label: "Герой влюбляется первым", value: "187" },
{ label: "Гетерохромия", value: "570" },
{ label: "Гильдии", value: "411" },
{ label: "Гипнотизм", value: "755" },
{ label: "Главный герой — бог", value: "547" },
{ label: "Главный герой — гуманоид", value: "636" },
{ label: "Главный герой — наполовину чел", value: "445" },
{ label: "Главный герой — отец", value: "792" },
{ label: "Главный герой — раб", value: "780" },
{ label: "Главный герой — ребенок", value: "488" },
{ label: "Главный герой — рубака", value: "476" },
{ label: "Главный герой влюбляется первы", value: "683" },
{ label: "Главный герой играет роль", value: "472" },
{ label: "Главный герой носит очки", value: "672" },
{ label: "Главный герой пацифист", value: "698" },
{ label: "Гладиаторы", value: "603" },
{ label: "Глуповатый главный герой", value: "385" },
{ label: "Гоблины", value: "586" },
{ label: "Големы", value: "620" },
{ label: "Гомункул", value: "789" },
{ label: "Горничные", value: "459" },
{ label: "Городское фэнтези", value: "105" },
{ label: "Госпиталь", value: "800" },
{ label: "Готовка", value: "302" },
{ label: "Гриндинг", value: "393" },
{ label: "Дао Компаньон", value: "462" },
{ label: "Даосизм", value: "760" },
{ label: "Дварфы", value: "323" },
{ label: "Двойная личность", value: "642" },
{ label: "Двойник", value: "601" },
{ label: "Дворецкий", value: "660" },
{ label: "Дворяне", value: "168" },
{ label: "Дворянство/Аристократия", value: "437" },
{ label: "Девушки-монстры", value: "669" },
{ label: "Демоническая техника культивац", value: "722" },
{ label: "Демоны", value: "152" },
{ label: "Денежный долг", value: "783" },
{ label: "Депрессия", value: "555" },
{ label: "Детектив", value: "116" },
{ label: "Детективы", value: "612" },
{ label: "Детская литература", value: "123" },
{ label: "Дискриминация", value: "162" },
{ label: "Добыча денег в приоритете", value: "396" },
{ label: "Документальная проза", value: "122" },
{ label: "Долгая разлука", value: "307" },
{ label: "Домашние дела", value: "290" },
{ label: "Домогательство", value: "470" },
{ label: "Драконы", value: "303" },
{ label: "Драконьи всадники", value: "607" },
{ label: "Древние времена", value: "221" },
{ label: "Древний Китай", value: "374" },
{ label: "Дружба", value: "217" },
{ label: "Друзья детства", value: "282" },
{ label: "Друзья становятся врагами", value: "567" },
{ label: "Друиды", value: "497" },
{ label: "Дух лисы", value: "784" },
{ label: "Духи/призраки", value: "172" },
{ label: "Духовный советник", value: "435" },
{ label: "Душевность", value: "633" },
{ label: "Души", value: "254" },
{ label: "Европейская атмосфера", value: "521" },
{ label: "Ёкаи", value: "575" },
{ label: "Есть аниме-адаптация", value: "154" },
{ label: "Есть видеоигра по мотивам", value: "552" },
{ label: "Есть манга", value: "155" },
{ label: "Есть манхва-адаптация", value: "517" },
{ label: "Есть маньхуа-адаптация", value: "388" },
{ label: "Есть сериал-адаптация", value: "492" },
{ label: "Есть фильм", value: "173" },
{ label: "Женища-наставник", value: "505" },
{ label: "Жесткая, двуличная личность", value: "346" },
{ label: "Жестокие персонажи", value: "503" },
{ label: "Жестокое обращение с ребенком", value: "654" },
{ label: "Жестокость", value: "245" },
{ label: "Животноводство", value: "754" },
{ label: "Животные черты", value: "528" },
{ label: "Жизнь в квартире", value: "606" },
{ label: "Жрицы", value: "615" },
{ label: "Заботливый главный герой", value: "288" },
{ label: "Забывчивый главный герой", value: "628" },
{ label: "Заговоры", value: "289" },
{ label: "Закалка тела", value: "362" },
{ label: "Законники", value: "756" },
{ label: "Замкнутый главный герой", value: "589" },
{ label: "Запечатанная сила", value: "430" },
{ label: "Застенчивые персонажи", value: "508" },
{ label: "Звери", value: "237" },
{ label: "Звери-компаньоны", value: "301" },
{ label: "Злой протагонист", value: "243" },
{ label: "Злые боги", value: "504" },
{ label: "Злые организации", value: "563" },
{ label: "Злые религии", value: "734" },
{ label: "Знаменитости", value: "473" },
{ label: "Знаменитый главный герой", value: "531" },
{ label: "Знания современного мира", value: "297" },
{ label: "Зомби", value: "409" },
{ label: "Игра на выживание", value: "274" },
{ label: "Игривый протагонист", value: "717" },
{ label: "Игровая система рейтинга", value: "391" },
{ label: "Игровые элементы", value: "266" },
{ label: "Игрушки (18+)", value: "676" },
{ label: "Из грязи в князи", value: "416" },
{ label: "Из женщины в мужчину", value: "709" },
{ label: "Из мужчины в женщину", value: "715" },
{ label: "Из полного в худого", value: "767" },
{ label: "Из слабого в сильного", value: "202" },
{ label: "Извращенный главный герой", value: "434" },
{ label: "Изгои", value: "534" },
{ label: "Изменение расы", value: "664" },
{ label: "Изменения внешнего вида", value: "300" },
{ label: "Изменения личности", value: "219" },
{ label: "Изнасилование", value: "229" },
{ label: "Изображения жестокости", value: "355" },
{ label: "ИИ", value: "235" },
{ label: "Империи", value: "748" },
{ label: "Инвалидность", value: "684" },
{ label: "Индустриализация", value: "292" },
{ label: "Инженер", value: "163" },
{ label: "Инцест", value: "525" },
{ label: "Искусственный интеллект", value: "236" },
{ label: "Исследования", value: "670" },
{ label: "Историческая проза", value: "119" },
{ label: "Исторические приключения", value: "120" },
{ label: "Исторический детектив", value: "117" },
{ label: "Исторический любовный роман", value: "138" },
{ label: "Историческое фэнтези", value: "110" },
{ label: "Каннибализм", value: "456" },
{ label: "Карточные игры", value: "682" },
{ label: "Киберпанк", value: "141" },
{ label: "Киберспорт", value: "686" },
{ label: "Кланы", value: "796" },
{ label: "Класс безработного", value: "735" },
{ label: "Клоны", value: "447" },
{ label: "Клубы", value: "216" },
{ label: "Книги", value: "427" },
{ label: "Книги навыков", value: "400" },
{ label: "Книжный червь", value: "519" },
{ label: "Коварство", value: "230" },
{ label: "Коллеги", value: "704" },
{ label: "Колледж/Университет", value: "726" },
{ label: "Кома", value: "776" },
{ label: "Командная работа", value: "496" },
{ label: "Комедийный оттенок", value: "582" },
{ label: "Комплекс неполноценности", value: "550" },
{ label: "Комплекс семейных отношений", value: "223" },
{ label: "Конкуренция", value: "746" },
{ label: "Контроль разума/сознания", value: "357" },
{ label: "Копейщик", value: "425" },
{ label: "Королевская битва", value: "797" },
{ label: "Королевская власть", value: "178" },
{ label: "Королевства", value: "259" },
{ label: "Короткий любовный роман", value: "136" },
{ label: "Коррупция", value: "457" },
{ label: "Космическая фантастика", value: "146" },
{ label: "Космические войны", value: "697" },
{ label: "Красивый герой", value: "226" },
{ label: "Крафт", value: "377" },
{ label: "Кризис личности", value: "640" },
{ label: "Кругосветное путешествие", value: "353" },
{ label: "Кудере", value: "506" },
{ label: "Кузены", value: "718" },
{ label: "Кузнец", value: "518" },
{ label: "Кукловоды", value: "501" },
{ label: "Куклы/марионетки", value: "624" },
{ label: "Культивация", value: "241" },
{ label: "Куннилингус", value: "667" },
{ label: "Легенды", value: "500" },
{ label: "Легкая жизнь", value: "644" },
{ label: "Ленивый главный герой", value: "621" },
{ label: "Лидерство", value: "494" },
{ label: "Лоли", value: "213" },
{ label: "Лотерея", value: "477" },
{ label: "Любовное фэнтези", value: "135" },
{ label: "Любовный треугольник", value: "218" },
{ label: "Любовь детства", value: "560" },
{ label: "Любовь с первого взгляда", value: "737" },
{ label: "Магические надписи", value: "453" },
{ label: "Магические печати", value: "369" },
{ label: "Магические технологии", value: "440" },
{ label: "Магия", value: "165" },
{ label: "Магия призыва", value: "418" },
{ label: "Мазохистские персонажи", value: "688" },
{ label: "Манипулятивные персонажи", value: "249" },
{ label: "Мания", value: "212" },
{ label: "Мастер на все руки", value: "466" },
{ label: "Мастурбация", value: "788" },
{ label: "Махо-сёдзё", value: "556" },
{ label: "Медицинские знания", value: "507" },
{ label: "Медленная романтическая линия", value: "232" },
{ label: "Медленное развитие на старте", value: "694" },
{ label: "Межпространственные путешестви", value: "404" },
{ label: "Менеджмент", value: "294" },
{ label: "Мертвый главный герой", value: "761" },
{ label: "Месть", value: "209" },
{ label: "Метаморфы", value: "335" },
{ label: "Меч и магия", value: "180" },
{ label: "Мечник", value: "647" },
{ label: "Мечты", value: "738" },
{ label: "Милая история", value: "725" },
{ label: "Милое дитя", value: "637" },
{ label: "Милый главный герой", value: "714" },
{ label: "Мировое дерево", value: "463" },
{ label: "Мистика", value: "151" },
{ label: "Мистический ореол вокруг семьи", value: "483" },
{ label: "Мифические звери", value: "491" },
{ label: "Мифология", value: "530" },
{ label: "Младшие братья", value: "785" },
{ label: "Младшие сестры", value: "527" },
{ label: "ММОРПГ (ЛитРПГ)", value: "395" },
{ label: "Множество перемещенных людей", value: "549" },
{ label: "Множество реальностей", value: "370" },
{ label: "Множество реинкарнированных лю", value: "330" },
{ label: "Модели", value: "678" },
{ label: "Молчаливый персонаж", value: "721" },
{ label: "Монстры", value: "192" },
{ label: "Мужская гей-пара", value: "706" },
{ label: "Мужчина-яндере", value: "267" },
{ label: "Музыка", value: "635" },
{ label: "Музыкальные группы", value: "634" },
{ label: "Мутации", value: "693" },
{ label: "Мутированные существа", value: "405" },
{ label: "Навык кражи", value: "662" },
{ label: "Навязчивая любовь", value: "206" },
{ label: "Наемники", value: "412" },
{ label: "Назойливый возлюбленный", value: "561" },
{ label: "Наивный главный герой", value: "189" },
{ label: "Наркотики", value: "689" },
{ label: "Нарциссический главный герой", value: "532" },
{ label: "Насилие сексуального характера", value: "774" },
{ label: "Наследование", value: "452" },
{ label: "Научная фантастика", value: "144" },
{ label: "Национализм", value: "406" },
{ label: "Не блещущий внешне главный гер", value: "415" },
{ label: "Не родные братья и сестры", value: "526" },
{ label: "Небеса", value: "568" },
{ label: "Небесное испытание", value: "367" },
{ label: "Негуманоидный главный герой", value: "659" },
{ label: "Недоверчивый главный герой", value: "546" },
{ label: "Недооцененный главный герой", value: "258" },
{ label: "Недоразумения", value: "309" },
{ label: "Неизлечимая болезнь", value: "196" },
{ label: "Некромант", value: "397" },
{ label: "Нелинейная история", value: "269" },
{ label: "Ненавистный главный герой", value: "548" },
{ label: "Ненадежный рассказчик", value: "277" },
{ label: "Нерезиденты", value: "772" },
{ label: "Нерешительный главный герой", value: "744" },
{ label: "Несерьезный главный герой", value: "384" },
{ label: "Несколько временных линий", value: "576" },
{ label: "Несколько гг", value: "268" },
{ label: "Несколько главных героев", value: "537" },
{ label: "Несколько идентичностей", value: "652" },
{ label: "Несколько личностей", value: "536" },
{ label: "Нетораре", value: "732" },
{ label: "Нетори", value: "514" },
{ label: "Неудачливый главный герой", value: "618" },
{ label: "Ниндзя", value: "441" },
{ label: "Новелла", value: "103" },
{ label: "Обещание из детства", value: "742" },
{ label: "Обманщик", value: "485" },
{ label: "Обмен телами", value: "214" },
{ label: "Обнаженка", value: "490" },
{ label: "Обольщение", value: "731" },
{ label: "Оборотни", value: "661" },
{ label: "Обратный гарем", value: "351" },
{ label: "Общество монстров", value: "329" },
{ label: "Обязательство", value: "602" },
{ label: "Огнестрельное оружие", value: "291" },
{ label: "Ограниченное время жизни", value: "194" },
{ label: "Одержимость", value: "512" },
{ label: "Одинокий главный герой", value: "394" },
{ label: "Одиночество", value: "306" },
{ label: "Одиночное проживание", value: "313" },
{ label: "Околосмертные переживания", value: "759" },
{ label: "Оммёдзи", value: "597" },
{ label: "Омоложение", value: "338" },
{ label: "Организованная преступность", value: "540" },
{ label: "Оргия", value: "775" },
{ label: "Орки", value: "331" },
{ label: "Освоение навыков", value: "336" },
{ label: "Основано на аниме", value: "605" },
{ label: "Основано на видео игре", value: "720" },
{ label: "Основано на визуальной новелле", value: "793" },
{ label: "Основано на песне", value: "700" },
{ label: "Основано на фильме", value: "604" },
{ label: "Осторожный главный герой", value: "240" },
{ label: "Отаку", value: "571" },
{ label: "Открытый космос", value: "264" },
{ label: "Отношения в сети", value: "727" },
{ label: "Отношения между людьми и нелюд", value: "311" },
{ label: "Отношения на расстоянии", value: "791" },
{ label: "Отношения Сенпай-Коухай", value: "572" },
{ label: "Отношения ученика и учителя", value: "515" },
{ label: "Отношения учитель-ученик", value: "429" },
{ label: "Отношения хозяин-слуга", value: "312" },
{ label: "Отомэ игра", value: "733" },
{ label: "Отсутствие здравого смысла", value: "645" },
{ label: "Отсутствие родителей", value: "625" },
{ label: "Офисный роман", value: "707" },
{ label: "Официанты", value: "703" },
{ label: "Охотники", value: "378" },
{ label: "Очаровательный главный герой", value: "687" },
{ label: "Падшее дворянство", value: "655" },
{ label: "Падшие ангелы", value: "565" },
{ label: "Пайзури", value: "665" },
{ label: "Паразиты", value: "591" },
{ label: "Параллельные миры", value: "207" },
{ label: "Парк", value: "265" },
{ label: "Парк развлечений", value: "632" },
{ label: "Пародия", value: "407" },
{ label: "Певцы/Певицы", value: "739" },
{ label: "Первая любовь", value: "729" },
{ label: "Первоисточник новеллы — манга", value: "611" },
{ label: "Первый раз", value: "787" },
{ label: "Перемещение в игровой мир", value: "588" },
{ label: "Перемещение в иной мир", value: "750" },
{ label: "Перерождение в ином мире", value: "751" },
{ label: "Переселение души/трансмиграция", value: "257" },
{ label: "Персонаж использует щит", value: "666" },
{ label: "Петля времени", value: "200" },
{ label: "Пираты", value: "771" },
{ label: "Писатели", value: "482" },
{ label: "Питомцы", value: "349" },
{ label: "Племенное общество", value: "381" },
{ label: "Повелитель демонов", value: "283" },
{ label: "Подземелья", value: "322" },
{ label: "Подростковая проза", value: "114" },
{ label: "Пожелания", value: "278" },
{ label: "Познание Дао", value: "443" },
{ label: "Покинутое дитя", value: "590" },
{ label: "Полигамия", value: "386" },
{ label: "Политика", value: "170" },
{ label: "Политический роман", value: "133" },
{ label: "Полиция", value: "764" },
{ label: "Полулюди", value: "420" },
{ label: "Популярный любовный интерес", value: "342" },
{ label: "Постапокалипсис", value: "145" },
{ label: "Постапокалиптика", value: "184" },
{ label: "Потерянные цивилизации", value: "749" },
{ label: "Похищения людей", value: "723" },
{ label: "Поэзия", value: "111" },
{ label: "Правонарушители", value: "713" },
{ label: "Прагматичный главный герой", value: "592" },
{ label: "Преданный любовный интерес", value: "225" },
{ label: "Предательство", value: "222" },
{ label: "Предвидение", value: "177" },
{ label: "Прекрасная героиня", value: "158" },
{ label: "Преступники", value: "736" },
{ label: "Преступность", value: "204" },
{ label: "Призванный герой", value: "262" },
{ label: "Призраки", value: "176" },
{ label: "Принуждение к отношениям", value: "643" },
{ label: "Принцессы", value: "795" },
{ label: "Притворная пара", value: "641" },
{ label: "Причудливые персонажи", value: "387" },
{ label: "Пришельцы/инопланетяне", value: "197" },
{ label: "Программист", value: "691" },
{ label: "Проклятия", value: "174" },
{ label: "Промывание мозгов", value: "578" },
{ label: "Пропуск времени", value: "256" },
{ label: "Пророчества", value: "499" },
{ label: "Проститутки", value: "786" },
{ label: "Прошлое играет большую роль", value: "320" },
{ label: "Прыжки между мирами", value: "741" },
{ label: "Психические силы", value: "359" },
{ label: "Психопаты", value: "270" },
{ label: "Публицистика", value: "124" },
{ label: "Путешествие во времени", value: "201" },
{ label: "Пытка", value: "280" },
{ label: "Рабы", value: "778" },
{ label: "Развитие личности", value: "125" },
{ label: "Развод", value: "758" },
{ label: "Разумные предметы", value: "286" },
{ label: "Расизм", value: "408" },
{ label: "Рассказ", value: "185" },
{ label: "Расторжения помолвки", value: "343" },
{ label: "Расы зооморфов", value: "315" },
{ label: "Реализм", value: "246" },
{ label: "Ревность", value: "730" },
{ label: "Редакторы", value: "705" },
{ label: "Реинкарнация", value: "372" },
{ label: "Реинкарнация в монстра", value: "310" },
{ label: "Реинкарнация в объект", value: "711" },
{ label: "Религии", value: "616" },
{ label: "Репортеры", value: "781" },
{ label: "Ресторан", value: "680" },
{ label: "Решительный главный герой", value: "242" },
{ label: "Робкий главный герой", value: "763" },
{ label: "Родитель одиночка", value: "708" },
{ label: "Родительский комплекс", value: "587" },
{ label: "Родословная", value: "239" },
{ label: "Романтическая эротика", value: "132" },
{ label: "Романтический подсюжет", value: "271" },
{ label: "Рост персонажа", value: "215" },
{ label: "Рыцари", value: "260" },
{ label: "Садистские персонажи", value: "674" },
{ label: "Самоотверженный главный герой", value: "747" },
{ label: "Самурай", value: "677" },
{ label: "Сборник коротких историй", value: "520" },
{ label: "Связанные сюжетные линии", value: "535" },
{ label: "Святые", value: "752" },
{ label: "Священники", value: "413" },
{ label: "Сдержанный главный герой", value: "762" },
{ label: "Секретные организации", value: "417" },
{ label: "Секреты", value: "626" },
{ label: "Секс рабы", value: "779" },
{ label: "Семейный конфликт", value: "757" },
{ label: "Семь добродетелей", value: "334" },
{ label: "Семь смертных грехов", value: "253" },
{ label: "Семья", value: "347" },
{ label: "Сёнэн-ай подсюжет", value: "690" },
{ label: "Серийные убийцы", value: "557" },
{ label: "Сестринский комплекс", value: "558" },
{ label: "Сила духа", value: "373" },
{ label: "Сила, требующая платы за польз", value: "579" },
{ label: "Сильная пара", value: "228" },
{ label: "Сильный в сильнейшего", value: "442" },
{ label: "Сильный любовный интерес", value: "273" },
{ label: "Синдром восьмиклассника", value: "211" },
{ label: "Сироты", value: "319" },
{ label: "Система уровней", value: "305" },
{ label: "Системный администратор", value: "538" },
{ label: "Сказка", value: "126" },
{ label: "Скрытие истинной личности", value: "451" },
{ label: "Скрытие истинных способностей", value: "348" },
{ label: "Скрытный главный герой", value: "252" },
{ label: "Скрытые способности", value: "247" },
{ label: "Скульпторы", value: "448" },
{ label: "Слабо выраженная романтическая", value: "318" },
{ label: "Слабый главный герой", value: "298" },
{ label: "Слепой главный герой", value: "794" },
{ label: "Слуги", value: "333" },
{ label: "Слэш", value: "131" },
{ label: "Смерть", value: "175" },
{ label: "Смерть близких", value: "444" },
{ label: "Собственнические персонажи", value: "227" },
{ label: "Современная проза", value: "150" },
{ label: "Современность", value: "167" },
{ label: "Современный любовный роман", value: "137" },
{ label: "Сожительство", value: "544" },
{ label: "Создание армии", value: "287" },
{ label: "Создание артефактов", value: "382" },
{ label: "Создание клана", value: "513" },
{ label: "Создание королевства", value: "293" },
{ label: "Создание навыков", value: "337" },
{ label: "Создание секты", value: "469" },
{ label: "Солдаты/военные", value: "193" },
{ label: "Сон", value: "622" },
{ label: "Состоятельные персонажи", value: "190" },
{ label: "Социальная иерархия по силе", value: "255" },
{ label: "Социальная фантастика", value: "148" },
{ label: "Социальные изгои", value: "542" },
{ label: "Спасение мира", value: "638" },
{ label: "Специальные способности", value: "179" },
{ label: "Спокойный главный герой", value: "160" },
{ label: "Справедливый главный герой", value: "719" },
{ label: "Средневековье", value: "296" },
{ label: "Ссорящаяся пара", value: "383" },
{ label: "Сталкеры", value: "710" },
{ label: "Старение", value: "299" },
{ label: "Стимпанк", value: "139" },
{ label: "Стоические персонажи", value: "509" },
{ label: "Стокгольмский синдром", value: "675" },
{ label: "Стратег", value: "495" },
{ label: "Стратегические битвы", value: "272" },
{ label: "Стратегия", value: "798" },
{ label: "Стрелки", value: "522" },
{ label: "Стрельба из лука", value: "461" },
{ label: "Студенческий совет", value: "551" },
{ label: "Судьба", value: "364" },
{ label: "Суккубы", value: "545" },
{ label: "Супер герои", value: "799" },
{ label: "Суровая подготовка", value: "356" },
{ label: "Таинственная болезнь", value: "195" },
{ label: "Таинственное прошлое", value: "358" },
{ label: "Тайная личность", value: "399" },
{ label: "Тайные отношения", value: "768" },
{ label: "Танцоры", value: "782" },
{ label: "Телохранители", value: "516" },
{ label: "Темное фэнтези", value: "106" },
{ label: "Тентакли", value: "712" },
{ label: "Террористы", value: "574" },
{ label: "Технологический разрыв", value: "658" },
{ label: "Тихие персонажи", value: "600" },
{ label: "Толстый главный герой", value: "389" },
{ label: "Торговцы", value: "489" },
{ label: "Травля/буллинг", value: "210" },
{ label: "Травник", value: "724" },
{ label: "Трагическое прошлое", value: "276" },
{ label: "Трансплантация воспоминаний", value: "449" },
{ label: "Триллер", value: "134" },
{ label: "Трудолюбивый главный герой", value: "164" },
{ label: "Тюрьма", value: "541" },
{ label: "Убийства", value: "205" },
{ label: "Убийцы", value: "345" },
{ label: "Убийцы драконов", value: "646" },
{ label: "Уверенный главный герой", value: "363" },
{ label: "Удачливый главный герой", value: "478" },
{ label: "Ужасы", value: "112" },
{ label: "Укротитель монстров", value: "422" },
{ label: "Умения из прошлой жизни", value: "371" },
{ label: "Умная пара", value: "554" },
{ label: "Умный главный герой", value: "161" },
{ label: "Уникальная техника Культивации", value: "350" },
{ label: "Уникальное оружие", value: "426" },
{ label: "Управление бизнесом", value: "403" },
{ label: "Управление временем", value: "279" },
{ label: "Управление кровью", value: "753" },
{ label: "Упрямый главный герой", value: "695" },
{ label: "Уродливый главный герой", value: "766" },
{ label: "Ускоренный рост", value: "390" },
{ label: "Усыновленные дети", value: "543" },
{ label: "Усыновленный главный герой", value: "486" },
{ label: "Уход за детьми", value: "474" },
{ label: "Учителя", value: "431" },
{ label: "Фамильяры", value: "596" },
{ label: "Фанатизм", value: "650" },
{ label: "Фантастические существа", value: "410" },
{ label: "Фантастический детектив", value: "115" },
{ label: "Фанфик", value: "113" },
{ label: "Фанфикшн", value: "464" },
{ label: "Фармацевт", value: "728" },
{ label: "Фарминг", value: "458" },
{ label: "Феи", value: "316" },
{ label: "Фелляция", value: "631" },
{ label: "Фемслэш", value: "127" },
{ label: "Фениксы", value: "454" },
{ label: "Фетиш груди", value: "559" },
{ label: "Философия", value: "208" },
{ label: "Фильмы", value: "479" },
{ label: "Флэшбэки", value: "585" },
{ label: "Фобии", value: "220" },
{ label: "Фольклор", value: "529" },
{ label: "Футанари", value: "619" },
{ label: "Футуристический сеттинг", value: "460" },
{ label: "Фэнтези мир", value: "244" },
{ label: "Хакеры", value: "475" },
{ label: "Харизматический герой", value: "467" },
{ label: "Хикикомори/Затворники", value: "524" },
{ label: "Хитроумный главный герой", value: "224" },
{ label: "Хозяин подземелий", value: "608" },
{ label: "Холодный главный герой", value: "354" },
{ label: "Хорошие отношения с семьей", value: "566" },
{ label: "Хранители могил", value: "191" },
{ label: "Целители", value: "465" },
{ label: "Цзянши", value: "740" },
{ label: "Цундэрэ", value: "510" },
{ label: "Чаты", value: "629" },
{ label: "Человеческое оружие", value: "580" },
{ label: "Честный главный герой", value: "341" },
{ label: "Читы", value: "339" },
{ label: "Шантаж", value: "584" },
{ label: "Шеф-повар", value: "340" },
{ label: "Шикигами", value: "598" },
{ label: "Школа только для девочек", value: "668" },
{ label: "Шота", value: "573" },
{ label: "Шоу-бизнес", value: "481" },
{ label: "Шпионский детектив", value: "118" },
{ label: "Шпионы", value: "614" },
{ label: "Эволюция", value: "304" },
{ label: "Эгоистичный главный герой", value: "594" },
{ label: "Эйдетическая память", value: "468" },
{ label: "Экзорсизм", value: "564" },
{ label: "Экономика", value: "553" },
{ label: "Эксгибиционизм", value: "673" },
{ label: "Эксперименты с людьми", value: "248" },
{ label: "Элементальная магия", value: "471" },
{ label: "Эльфы", value: "284" },
{ label: "Эмоционально слабый гг", value: "770" },
{ label: "Эпизодический", value: "649" },
{ label: "Эпическое фэнтези", value: "109" },
{ label: "Эротическая фантастика", value: "129" },
{ label: "Эротический фанфик", value: "128" },
{ label: "Эротическое фэнтези", value: "130" },
{ label: "Юмористическая фантастика", value: "143" },
{ label: "Юмористическое фэнтези", value: "108" },
{ label: "Юный любовный интерес", value: "511" },
{ label: "Яды", value: "484" },
{ label: "Языкастые персонажи", value: "480" },
{ label: "Языковой барьер", value: "182" },
{ label: "Яндере", value: "314" },
{ label: "Японские силы самообороны", value: "610" },
{ label: "Ярко выраженная романтика", value: "365" },
{ label: "R-15 Японское возрастное огр.", value: "332" },
{ label: "R-18", value: "424" },
],
inputType: FilterInputs.Checkbox,
},
];