songs remove complicated params that don't work

This commit is contained in:
2026-02-06 10:28:32 -08:00
parent 4b58d71b7c
commit 0faf98ee80
3 changed files with 30 additions and 149 deletions

View File

@@ -1,27 +1,24 @@
import type { SongFilters } from "$lib/db/client-db";
import { db, ensureSeeded, getSongsWithFilters } from "$lib/db/client-db";
import type { PageLoad } from "./$types";
import { LoadSearchParamsSchema } from "./schema";
import { SearchParamsSchema } from "./schema";
export const load: PageLoad = async ({ url, fetch, depends }) => {
depends("clientdb:songs");
const parsed = LoadSearchParamsSchema.safeParse(
const parsed = SearchParamsSchema.safeParse(
Object.fromEntries(url.searchParams.entries()),
);
const filters: SongFilters = {};
if (parsed.success) {
if (parsed.data.q) filters.songName = parsed.data.q;
if (parsed.data.song) filters.songName = parsed.data.song;
if (parsed.data.artist) filters.artistName = parsed.data.artist;
if (parsed.data.anime) filters.animeName = parsed.data.anime;
if (parsed.data.type && parsed.data.type.length > 0)
filters.songTypes = parsed.data.type;
if (parsed.data.gpm !== undefined)
filters.globalPercentMin = parsed.data.gpm;
if (parsed.data.gpx !== undefined)
filters.globalPercentMax = parsed.data.gpx;
if (parsed.data.cat !== undefined) filters.category = parsed.data.cat;
}
// Client-only DB: on the server `db` is null, so return [] and let hydration re-run load in browser.