mirror of
https://github.com/moku-project/Moku.git
synced 2026-06-14 01:39:56 -05:00
Chore: Port over SeriesDetail (WIP Panels)
This commit is contained in:
@@ -1,36 +1,37 @@
|
||||
import type { Extension, Source, Manga } from '$lib/types'
|
||||
import type { Extension, Source, Manga } from "$lib/types";
|
||||
|
||||
export const extensionsState = $state({
|
||||
items: [] as Extension[],
|
||||
sources: [] as Source[],
|
||||
loading: false,
|
||||
error: null as string | null,
|
||||
items: [] as Extension[],
|
||||
sources: [] as Source[],
|
||||
activeSource: null as Source | null,
|
||||
loading: false,
|
||||
error: null as string | null,
|
||||
|
||||
filter: {
|
||||
query: '',
|
||||
query: "",
|
||||
installed: false,
|
||||
language: 'all',
|
||||
language: "all",
|
||||
},
|
||||
|
||||
browseResults: [] as Manga[],
|
||||
browseLoading: false,
|
||||
browseError: null as string | null,
|
||||
browseError: null as string | null,
|
||||
browseHasMore: false,
|
||||
})
|
||||
});
|
||||
|
||||
export function filteredExtensions() {
|
||||
let result = extensionsState.items
|
||||
let result = extensionsState.items;
|
||||
|
||||
if (extensionsState.filter.installed) {
|
||||
result = result.filter(e => e.installed)
|
||||
result = result.filter(e => e.installed);
|
||||
}
|
||||
if (extensionsState.filter.language !== 'all') {
|
||||
result = result.filter(e => e.lang === extensionsState.filter.language)
|
||||
if (extensionsState.filter.language !== "all") {
|
||||
result = result.filter(e => e.lang === extensionsState.filter.language);
|
||||
}
|
||||
if (extensionsState.filter.query) {
|
||||
const q = extensionsState.filter.query.toLowerCase()
|
||||
result = result.filter(e => e.name.toLowerCase().includes(q))
|
||||
const q = extensionsState.filter.query.toLowerCase();
|
||||
result = result.filter(e => e.name.toLowerCase().includes(q));
|
||||
}
|
||||
|
||||
return result
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user