Filters Redesign (#658)

* Add XCheckboxFilter

* Fix madara typo

* Change the branch name in config

* Add typing for madara popoularnovels filters

* Add preview and refactor PluginWrapper

* Add preview HTML sanitize and other improv.

* Web improvements + sanitizeHTML

* Add dark mode

* Add git run less to compile less

* Add less.js to remove the need for compiling less
This commit is contained in:
Marcin Majewski
2023-12-27 15:49:46 +01:00
committed by GitHub
parent 9cdace3460
commit d7a76063bf
170 changed files with 94169 additions and 80752 deletions
+7 -4
View File
@@ -3,6 +3,7 @@ import { languages } from "@libs/languages";
import path from "path";
import { PluginList } from "@typings/types";
import { Plugin, isPlugin } from "@typings/plugin";
import { Filters } from "@libs/filterInputs";
const root = path.dirname(require?.main?.filename || "");
export const all_plugins = (): PluginList => {
@@ -43,18 +44,20 @@ export const all_plugins = (): PluginList => {
const getPlugin = async (
requirePath: string
): Promise<Plugin.PluginBase | null> => {
console.log("loading plugin", requirePath);
const plugin = await require(requirePath).default;
console.log(plugin);
if (isPlugin(plugin)) return plugin;
console.log("Not a plugin!");
return null;
};
export const getFilter = async (
pluginRequirePath: string
) => (await getPlugin(pluginRequirePath))?.filters;
export const getFilter = async (pluginRequirePath: string) =>
(await getPlugin(pluginRequirePath))?.filters;
export const popularNovels = async (
pluginRequirePath: string,
options: Plugin.PopularNovelsOptions
options: Plugin.PopularNovelsOptions<Filters>
) => (await getPlugin(pluginRequirePath))?.popularNovels(1, options);
export const searchNovels = async (