From d74790c3a0b30f128668d44fff84858eed673d5b Mon Sep 17 00:00:00 2001 From: Zerebos Date: Sat, 23 May 2026 22:32:17 -0400 Subject: [PATCH] Make it build --- src-tauri/tauri.conf.json | 2 +- src/hooks.client.ts | 11 +++++---- {static => src/lib/assets}/robots.txt | 0 src/lib/state/downloads.svelte.ts | 18 +++++++++++--- src/lib/state/extensions.svelte.ts | 6 ++++- src/lib/state/library.svelte.ts | 6 ++++- src/lib/state/reader.svelte.ts | 24 +++++++++++++++---- src/lib/state/series.svelte.ts | 6 ++++- src/routes/+layout.ts | 2 +- src/routes/+page.svelte | 3 ++- src/routes/downloads/+page.svelte | 11 ++++++++- src/routes/extensions/+page.svelte | 4 +++- src/routes/library/+page.svelte | 3 ++- .../reader/[mangaId]/[chapterId]/+page.svelte | 5 +++- src/routes/series/[mangaId]/+page.svelte | 3 ++- svelte.config.js | 2 +- 16 files changed, 82 insertions(+), 24 deletions(-) rename {static => src/lib/assets}/robots.txt (100%) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 18a2d48..d5fa275 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -4,7 +4,7 @@ "version": "0.9.4", "identifier": "io.github.MokuProject.Moku", "build": { - "frontendDist": "../dist", + "frontendDist": "../build", "beforeBuildCommand": "pnpm build" }, "app": { diff --git a/src/hooks.client.ts b/src/hooks.client.ts index 168dc85..0193555 100644 --- a/src/hooks.client.ts +++ b/src/hooks.client.ts @@ -43,10 +43,10 @@ async function resolvePlatformAdapter() { const {TauriAdapter} = await import('$lib/platform-adapters/tauri'); return new TauriAdapter(); } - if (isCapacitor()) { - const {CapacitorAdapter} = await import('$lib/platform-adapters/capacitor'); - return new CapacitorAdapter(); - } + // if (isCapacitor()) { + // const {CapacitorAdapter} = await import('$lib/platform-adapters/capacitor'); + // return new CapacitorAdapter(); + // } const {WebAdapter} = await import('$lib/platform-adapters/web'); return new WebAdapter(); } @@ -73,7 +73,8 @@ async function boot() { initHistoryState(), ]); - appState.platform = isTauri() ? 'tauri' : isCapacitor() ? 'capacitor' : 'web'; + // appState.platform = isTauri() ? 'tauri' : isCapacitor() ? 'capacitor' : 'web'; + appState.platform = isTauri() ? 'tauri' : 'web'; appState.version = await platformAdapter.getVersion(); const legacyAuth = loadSavedAuth(); diff --git a/static/robots.txt b/src/lib/assets/robots.txt similarity index 100% rename from static/robots.txt rename to src/lib/assets/robots.txt diff --git a/src/lib/state/downloads.svelte.ts b/src/lib/state/downloads.svelte.ts index 65f994b..e9d90be 100644 --- a/src/lib/state/downloads.svelte.ts +++ b/src/lib/state/downloads.svelte.ts @@ -5,12 +5,24 @@ export const downloadsState = $state({ error: null as string | null, }) -export const activeDownloads = $derived( +const activeDownloadsValue = $derived( downloadsState.items.filter(d => d.state === 'downloading') ) -export const queuedDownloads = $derived( +const queuedDownloadsValue = $derived( downloadsState.items.filter(d => d.state === 'queued') ) -export const downloadCount = $derived(downloadsState.items.length) +const downloadCountValue = $derived(downloadsState.items.length) + +export function activeDownloads() { + return activeDownloadsValue +} + +export function queuedDownloads() { + return queuedDownloadsValue +} + +export function downloadCount() { + return downloadCountValue +} diff --git a/src/lib/state/extensions.svelte.ts b/src/lib/state/extensions.svelte.ts index cffc018..8569e97 100644 --- a/src/lib/state/extensions.svelte.ts +++ b/src/lib/state/extensions.svelte.ts @@ -20,7 +20,7 @@ export const extensionsState = $state({ browseHasMore: false, }); -export const filteredExtensions = $derived.by(() => { +const filteredExtensionsValue = $derived.by(() => { let result = extensionsState.items; if (extensionsState.filter.installed) { @@ -36,3 +36,7 @@ export const filteredExtensions = $derived.by(() => { return result; }); + +export function filteredExtensions() { + return filteredExtensionsValue; +} diff --git a/src/lib/state/library.svelte.ts b/src/lib/state/library.svelte.ts index 1959d26..bb704bd 100644 --- a/src/lib/state/library.svelte.ts +++ b/src/lib/state/library.svelte.ts @@ -22,7 +22,7 @@ export const libraryState = $state({ selected: new Set(), }); -export const filteredItems = $derived.by(() => { +const filteredItemsValue = $derived.by(() => { let result = libraryState.items; result = result.filter(m => !shouldHideNsfw(m, settingsState)); @@ -55,3 +55,7 @@ export const filteredItems = $derived.by(() => { return libraryState.sortDesc ? sorted.reverse() : sorted; }); + +export function filteredItems() { + return filteredItemsValue; +} diff --git a/src/lib/state/reader.svelte.ts b/src/lib/state/reader.svelte.ts index 315d14c..548e0c8 100644 --- a/src/lib/state/reader.svelte.ts +++ b/src/lib/state/reader.svelte.ts @@ -34,17 +34,33 @@ export const readerState = $state({ fullscreen: false, }); -export const currentPageData = $derived( +const currentPageDataValue = $derived( readerState.pages[readerState.currentPage] ?? null ); -export const progress = $derived( +const progressValue = $derived( readerState.pages.length > 0 ? (readerState.currentPage + 1) / readerState.pages.length : 0 ); -export const hasPrev = $derived(readerState.currentPage > 0); -export const hasNext = $derived( +const hasPrevValue = $derived(readerState.currentPage > 0); +const hasNextValue = $derived( readerState.currentPage < readerState.pages.length - 1 ); + +export function currentPageData() { + return currentPageDataValue; +} + +export function progress() { + return progressValue; +} + +export function hasPrev() { + return hasPrevValue; +} + +export function hasNext() { + return hasNextValue; +} diff --git a/src/lib/state/series.svelte.ts b/src/lib/state/series.svelte.ts index 5088649..5639dbb 100644 --- a/src/lib/state/series.svelte.ts +++ b/src/lib/state/series.svelte.ts @@ -17,7 +17,7 @@ export const seriesState = $state({ chapterSortDesc: true, }) -export const filteredChapters = $derived.by(() => { +const filteredChaptersValue = $derived.by(() => { let result = seriesState.chapters if (seriesState.chapterFilter.unread) { @@ -34,3 +34,7 @@ export const filteredChapters = $derived.by(() => { const sorted = [...result].sort((a, b) => a.chapterNumber - b.chapterNumber) return seriesState.chapterSortDesc ? sorted.reverse() : sorted }) + +export function filteredChapters() { + return filteredChaptersValue +} diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts index 784e857..7a857d3 100644 --- a/src/routes/+layout.ts +++ b/src/routes/+layout.ts @@ -1,2 +1,2 @@ export const ssr = false -export const prerender = true +// export const prerender = true diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 8b2e52a..5c1d4ee 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -2,11 +2,12 @@ import { onMount } from 'svelte' import { BookOpen, Books, ClockCounterClockwise, DownloadSimple } from 'phosphor-svelte' import { loadLibrary } from '$lib/request-manager/manga' - import { downloadCount } from '$lib/state/downloads.svelte' + import { downloadCount as getDownloadCount } from '$lib/state/downloads.svelte' import { historyState, initHistoryState } from '$lib/state/history.svelte' import { libraryState } from '$lib/state/library.svelte' const recentHistory = $derived(historyState.history.slice(0, 8)) + const downloadCount = $derived(getDownloadCount()) const stats = $derived.by(() => [ { diff --git a/src/routes/downloads/+page.svelte b/src/routes/downloads/+page.svelte index 56ad628..90944da 100644 --- a/src/routes/downloads/+page.svelte +++ b/src/routes/downloads/+page.svelte @@ -2,10 +2,19 @@ import { onMount } from 'svelte' import { ArrowsClockwise, DownloadSimple, TrashSimple, XCircle } from 'phosphor-svelte' import { clearDownloads, dequeueDownload, loadDownloads } from '$lib/request-manager/downloads' - import { activeDownloads, downloadCount, downloadsState, queuedDownloads } from '$lib/state/downloads.svelte' + import { + activeDownloads as getActiveDownloads, + downloadCount as getDownloadCount, + downloadsState, + queuedDownloads as getQueuedDownloads, + } from '$lib/state/downloads.svelte' let busy = $state(false) + const activeDownloads = $derived(getActiveDownloads()) + const queuedDownloads = $derived(getQueuedDownloads()) + const downloadCount = $derived(getDownloadCount()) + onMount(async () => { await loadDownloads() }) diff --git a/src/routes/extensions/+page.svelte b/src/routes/extensions/+page.svelte index 7c81e09..a30f6da 100644 --- a/src/routes/extensions/+page.svelte +++ b/src/routes/extensions/+page.svelte @@ -7,10 +7,12 @@ uninstallExtension, updateExtension, } from '$lib/request-manager/extensions' - import { extensionsState, filteredExtensions } from '$lib/state/extensions.svelte' + import { extensionsState, filteredExtensions as getFilteredExtensions } from '$lib/state/extensions.svelte' let busyIds = $state([]) + const filteredExtensions = $derived(getFilteredExtensions()) + const languageOptions = $derived.by(() => { const values: string[] = [] for (const extension of extensionsState.items) { diff --git a/src/routes/library/+page.svelte b/src/routes/library/+page.svelte index 21c5d88..6e8387e 100644 --- a/src/routes/library/+page.svelte +++ b/src/routes/library/+page.svelte @@ -2,7 +2,7 @@ import { onMount } from 'svelte' import { Funnel, ArrowsDownUp, SquaresFour, ListBullets, X } from 'phosphor-svelte' import { loadLibrary } from '$lib/request-manager/manga' - import { libraryState, filteredItems } from '$lib/state/library.svelte' + import { libraryState, filteredItems as getFilteredItems } from '$lib/state/library.svelte' import type { LibrarySortOption } from '$lib/state/library.svelte' import type { MangaStatus } from '$lib/server-adapters/types' import MangaCard from '$lib/ui/manga/MangaCard.svelte' @@ -46,6 +46,7 @@ return count }) + const filteredItems = $derived(getFilteredItems()) const hasResults = $derived(filteredItems.length > 0) onMount(async () => { diff --git a/src/routes/reader/[mangaId]/[chapterId]/+page.svelte b/src/routes/reader/[mangaId]/[chapterId]/+page.svelte index c20036b..6005365 100644 --- a/src/routes/reader/[mangaId]/[chapterId]/+page.svelte +++ b/src/routes/reader/[mangaId]/[chapterId]/+page.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation' import { page } from '$app/stores' import { ArrowArcLeft, CaretLeft, CaretRight, Columns, List, MagnifyingGlass, SpinnerGap, TextAlignRight } from 'phosphor-svelte' - import { currentPageData, progress, readerState } from '$lib/state/reader.svelte' + import { currentPageData as getCurrentPageData, progress as getProgress, readerState } from '$lib/state/reader.svelte' import { ensureReaderSession } from '$lib/core/reader/chapterLoader' import { getAdjacentChapters, goToNextReaderPage, goToPreviousReaderPage, setCurrentReaderPage } from '$lib/core/reader/navigation' import { createReaderKeyHandler } from '$lib/core/reader/readerKeybinds' @@ -16,6 +16,9 @@ let routeError = $state(null) let requestVersion = 0 + const currentPageData = $derived(getCurrentPageData()) + const progress = $derived(getProgress()) + const mangaId = $derived($page.params.mangaId ?? '') const chapterId = $derived($page.params.chapterId ?? '') const chapterNeighbors = $derived.by(() => getAdjacentChapters()) diff --git a/src/routes/series/[mangaId]/+page.svelte b/src/routes/series/[mangaId]/+page.svelte index 8fb6be1..89b504d 100644 --- a/src/routes/series/[mangaId]/+page.svelte +++ b/src/routes/series/[mangaId]/+page.svelte @@ -3,13 +3,14 @@ import { BookOpen, DownloadSimple, Circle, CheckCircle } from 'phosphor-svelte' import type { Chapter } from '$lib/types/chapter' import { markRead } from '$lib/request-manager/chapters' - import { filteredChapters, seriesState } from '$lib/state/series.svelte' + import { filteredChapters as getFilteredChapters, seriesState } from '$lib/state/series.svelte' import { readerState } from '$lib/state/reader.svelte' import Thumbnail from '$lib/ui/manga/Thumbnail.svelte' import type { PageData } from './$types' let { data }: { data: PageData } = $props() + const filteredChapters = $derived(getFilteredChapters()) const totalCount = $derived(seriesState.chapters.length) const readCount = $derived(seriesState.chapters.filter(ch => ch.read).length) const downloadedCount = $derived(seriesState.chapters.filter(ch => ch.downloaded).length) diff --git a/svelte.config.js b/svelte.config.js index 377bf32..ddf69ab 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -15,7 +15,7 @@ const config = { kit: { adapter, files: { - assets: 'static', + assets: 'src/lib/assets', }, }, };