aboutsummaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-29 23:44:08 +0000
committerFuwn <[email protected]>2026-05-29 23:44:08 +0000
commit49879c43ebd9f36ec19f4c02fa2b121314126286 (patch)
treebbf1e42eba5996640ffcc7f44d07245cdf2c5e5c /src/routes
parentchore(biome): scope linting to remove Svelte false positives (diff)
downloaddue.moe-49879c43ebd9f36ec19f4c02fa2b121314126286.tar.xz
due.moe-49879c43ebd9f36ec19f4c02fa2b121314126286.zip
style: apply biome autofixes and resolve remaining lint findingsHEADmain
Auto-fixed cosmetic findings (import ordering, obj["k"]->obj.k, optional chaining, template literals, Date.now, parseInt radix, useless ternaries/ switch cases). Resolved the non-autofixable rest by hand: - Senpy: static-only class -> object literal (no this/static reliance). - app.html: var global shim -> window.global = window (keeps the shim, drops the unused-var flag). - biome-ignore with rationale for the logout document.cookie clear and the holodule scrape non-null assertion. Verified: biome check 0 diagnostics, svelte-check 0/0, 24/24 unit tests.
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/+layout.svelte78
-rw-r--r--src/routes/+page.svelte14
-rw-r--r--src/routes/anilist-badges-easter-event-2025/+page.svelte2
-rw-r--r--src/routes/api/animeschedule/oauth/callback/+server.ts2
-rw-r--r--src/routes/api/authentication/log-out/+server.ts2
-rw-r--r--src/routes/api/badges/+server.ts23
-rw-r--r--src/routes/api/myanimelist/oauth/callback/+server.ts2
-rw-r--r--src/routes/api/notifications/subscribe/+server.ts2
-rw-r--r--src/routes/api/oauth/callback/+server.ts2
-rw-r--r--src/routes/api/oauth/refresh/+server.ts2
-rw-r--r--src/routes/api/preferences/pin/+server.ts2
-rw-r--r--src/routes/completed/+page.svelte12
-rw-r--r--src/routes/events/+page.svelte2
-rw-r--r--src/routes/events/group/[group]/+page.svelte10
-rw-r--r--src/routes/events/groups/+page.svelte6
-rw-r--r--src/routes/feeds/activity-notifications/+server.ts9
-rw-r--r--src/routes/girls/+page.svelte2
-rw-r--r--src/routes/hololive/[[stream]]/+page.svelte12
-rw-r--r--src/routes/schedule/+page.svelte12
-rw-r--r--src/routes/settings/+page.svelte13
-rw-r--r--src/routes/tools/+page.svelte2
-rw-r--r--src/routes/tools/[tool]/+page.svelte30
-rw-r--r--src/routes/updates/+page.svelte6
-rw-r--r--src/routes/user/+page.svelte8
-rw-r--r--src/routes/user/[user]/+page.svelte36
-rw-r--r--src/routes/user/[user]/+page.ts2
-rw-r--r--src/routes/user/[user]/badges/+page.svelte53
-rw-r--r--src/routes/user/[user]/badges/+page.ts2
28 files changed, 172 insertions, 176 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index a35fee29..f58bff4d 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -1,47 +1,47 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
-import type { SubsPleaseEpisode } from "$lib/Media/Anime/Airing/Subtitled/subsPlease";
+import { onDestroy, onMount } from "svelte";
+import { browser } from "$app/environment";
import { env } from "$env/dynamic/public";
import { userIdentity as getUserIdentity } from "$lib/Data/AniList/identity";
-import { onDestroy, onMount } from "svelte";
+import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
+import type { SubsPleaseEpisode } from "$lib/Media/Anime/Airing/Subtitled/subsPlease";
import userIdentity from "$stores/identity";
import settings from "$stores/settings";
-import { browser } from "$app/environment";
-import HeadTitle from "$lib/Home/HeadTitle.svelte";
import "../app.css";
-import { get, readable, type Readable } from "svelte/store";
-import { navigating } from "$app/stores";
-import { onNavigate } from "$app/navigation";
-import NotificationsProvider from "$lib/Notification/NotificationsProvider.svelte";
-import Root from "$lib/Home/Root.svelte";
-import root from "$lib/Utility/root";
-import { addMessages, init, locale as i18nLocale, locales } from "svelte-i18n";
-import english from "$lib/Locale/english";
-import japanese from "$lib/Locale/japanese";
-import type { LocaleDictionary } from "$lib/Locale/layout";
-import locale from "$stores/locale";
-import Skeleton from "$lib/Loading/Skeleton.svelte";
-import subsPlease from "$stores/subsPlease";
-import Dropdown from "$lib/Layout/Dropdown.svelte";
+import { injectAnalytics } from "@vercel/analytics/sveltekit";
import { injectSpeedInsights } from "@vercel/speed-insights/sveltekit";
-import subtitles from "$lib/Data/Static/subtitles.json";
-import settingsSyncPulled from "$stores/settingsSyncPulled";
-import settingsSyncTimes from "$stores/settingsSyncTimes";
+import Lenis from "lenis";
+import localforage from "localforage";
+import { get, type Readable, readable } from "svelte/store";
+import { addMessages, locale as i18nLocale, init, locales } from "svelte-i18n";
+import { dev } from "$app/environment";
+import { onNavigate } from "$app/navigation";
+import { navigating } from "$app/stores";
import Announcement from "$lib/Announcement.svelte";
-import Message from "$lib/Loading/Message.svelte";
-import { requestNotifications } from "$lib/Utility/notifications";
-import { database as userDatabase } from "$lib/Database/IDB/user";
-import CommandPalette from "$lib/CommandPalette/CommandPalette.svelte";
import { track } from "$lib/analytics";
import { defaultActions } from "$lib/CommandPalette/actions";
import { authActions } from "$lib/CommandPalette/authActions";
+import CommandPalette from "$lib/CommandPalette/CommandPalette.svelte";
import { syncActions } from "$lib/CommandPalette/syncActions";
import { toggleActions } from "$lib/CommandPalette/toggleActions";
+import subtitles from "$lib/Data/Static/subtitles.json";
+import { database as userDatabase } from "$lib/Database/IDB/user";
+import Root from "$lib/Home/Root.svelte";
+import Dropdown from "$lib/Layout/Dropdown.svelte";
+import Message from "$lib/Loading/Message.svelte";
+import Skeleton from "$lib/Loading/Skeleton.svelte";
+import english from "$lib/Locale/english";
+import japanese from "$lib/Locale/japanese";
+import type { LocaleDictionary } from "$lib/Locale/layout";
+import NotificationsProvider from "$lib/Notification/NotificationsProvider.svelte";
import { toolsAsCommandPaletteActions } from "$lib/Tools/tools";
-import localforage from "localforage";
-import { dev } from "$app/environment";
-import { injectAnalytics } from "@vercel/analytics/sveltekit";
-import Lenis from "lenis";
+import { requestNotifications } from "$lib/Utility/notifications";
+import root from "$lib/Utility/root";
+import locale from "$stores/locale";
+import settingsSyncPulled from "$stores/settingsSyncPulled";
+import settingsSyncTimes from "$stores/settingsSyncTimes";
+import subsPlease from "$stores/subsPlease";
import "lenis/dist/lenis.css";
import lenisStore from "$stores/lenis";
import type { LayoutData } from "./$types";
@@ -53,9 +53,8 @@ export let data: LayoutData;
let isHeaderVisible = true;
let previousScrollPosition = 0;
-let notificationInterval: ReturnType<typeof setInterval> | undefined =
- undefined;
-let lenis: Lenis | undefined = undefined;
+let notificationInterval: ReturnType<typeof setInterval> | undefined;
+let lenis: Lenis | undefined;
let isMenuOpen = false;
addMessages("en", english as unknown as LocaleDictionary);
@@ -74,7 +73,7 @@ const navigationOrder = [
];
const previousPage: Readable<string | null> = readable(null, (set) => {
const unsubscribe = navigating.subscribe(($navigating) => {
- if ($navigating && $navigating.from)
+ if ($navigating?.from)
set($navigating.from.url.pathname as unknown as null);
});
@@ -83,7 +82,7 @@ const previousPage: Readable<string | null> = readable(null, (set) => {
$: way = data.url.includes("/user")
? 200
- : $previousPage && $previousPage.includes("/user")
+ : $previousPage?.includes("/user")
? -200
: navigationOrder.indexOf(data.url) >
navigationOrder.indexOf($previousPage ?? "/")
@@ -116,7 +115,10 @@ onNavigate((navigation) => {
? 1
: -1;
- document.documentElement.style.setProperty("--vt-direction", String(direction));
+ document.documentElement.style.setProperty(
+ "--vt-direction",
+ String(direction),
+ );
return new Promise((resolve) => {
(
@@ -238,13 +240,13 @@ onMount(async () => {
(response) => {
if (response.ok)
response.json().then((data) => {
- if (data && data.configuration) {
+ if (data?.configuration) {
console.log("Pulled remote configuration");
settings.set(data.configuration);
settingsSyncPulled.set(true);
settingsSyncTimes.set({
lastPull: new Date(),
- lastPush: new Date(data.updated_at + "Z"),
+ lastPush: new Date(`${data.updated_at}Z`),
});
}
});
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 218bc8d5..074619cb 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,17 +1,17 @@
<script lang="ts">
import type { Component } from "svelte";
+import { onDestroy, onMount } from "svelte";
import { browser } from "$app/environment";
+import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Landing from "$lib/Landing.svelte";
+import LandingHero from "$lib/LandingHero.svelte";
import Spacer from "$lib/Layout/Spacer.svelte";
-import { onDestroy, onMount } from "svelte";
-import userIdentity from "$stores/identity.js";
-import settings from "$stores/settings";
import ListTitle from "$lib/List/ListTitle.svelte";
-import HeadTitle from "$lib/Home/HeadTitle.svelte";
-import { createHeightObserver } from "$lib/Utility/html.js";
import Skeleton from "$lib/Loading/Skeleton.svelte";
+import { createHeightObserver } from "$lib/Utility/html.js";
+import userIdentity from "$stores/identity.js";
import locale from "$stores/locale.js";
-import Landing from "$lib/Landing.svelte";
-import LandingHero from "$lib/LandingHero.svelte";
+import settings from "$stores/settings";
import stateBin, { hydrateStateBin } from "$stores/stateBin.js";
import type { PageData } from "./$types";
diff --git a/src/routes/anilist-badges-easter-event-2025/+page.svelte b/src/routes/anilist-badges-easter-event-2025/+page.svelte
index b9c1295d..ecf74a47 100644
--- a/src/routes/anilist-badges-easter-event-2025/+page.svelte
+++ b/src/routes/anilist-badges-easter-event-2025/+page.svelte
@@ -22,7 +22,7 @@ onMount(() => {
const urlParameters = new URLSearchParams(window.location.search);
const pageParameter = urlParameters.get("page");
- if (pageParameter) page = parseInt(pageParameter) || 0;
+ if (pageParameter) page = parseInt(pageParameter, 10) || 0;
});
const updatePage = (to: number | undefined = undefined) => {
diff --git a/src/routes/api/animeschedule/oauth/callback/+server.ts b/src/routes/api/animeschedule/oauth/callback/+server.ts
index 294abc05..677aff68 100644
--- a/src/routes/api/animeschedule/oauth/callback/+server.ts
+++ b/src/routes/api/animeschedule/oauth/callback/+server.ts
@@ -1,6 +1,6 @@
-import { callback } from "$lib/Utility/oauth.js";
import { env } from "$env/dynamic/private";
import { env as env2 } from "$env/dynamic/public";
+import { callback } from "$lib/Utility/oauth.js";
export const GET = async ({ url, cookies }) =>
callback({
diff --git a/src/routes/api/authentication/log-out/+server.ts b/src/routes/api/authentication/log-out/+server.ts
index c04fa5c5..8623dfd1 100644
--- a/src/routes/api/authentication/log-out/+server.ts
+++ b/src/routes/api/authentication/log-out/+server.ts
@@ -1,5 +1,5 @@
-import root from "$lib/Utility/root.js";
import { redirect } from "@sveltejs/kit";
+import root from "$lib/Utility/root.js";
export const GET = ({ cookies }) => {
cookies.delete("user", { path: "/" });
diff --git a/src/routes/api/badges/+server.ts b/src/routes/api/badges/+server.ts
index 46b98cbc..2673273c 100644
--- a/src/routes/api/badges/+server.ts
+++ b/src/routes/api/badges/+server.ts
@@ -1,20 +1,20 @@
+import { Schema } from "effect";
import { safeUserIdentity } from "$lib/Data/AniList/identity";
-import { decodeAuthCookieOrNull } from "$lib/Effect/authCookie";
-import { decodeRequestJsonOrThrow } from "$lib/Effect/requestBody";
import {
- removeAllUserBadges,
- removeUserBadge,
- updateUserBadge,
- getUserBadges,
addUserBadge,
type Badge,
type BadgeInput,
+ getUserBadges,
+ incrementClickCount,
migrateCategory,
+ removeAllUserBadges,
+ removeUserBadge,
setShadowHidden,
setShadowHiddenBadge,
- incrementClickCount,
+ updateUserBadge,
} from "$lib/Database/SB/User/badges";
-import { Schema } from "effect";
+import { decodeAuthCookieOrNull } from "$lib/Effect/authCookie";
+import { decodeRequestJsonOrThrow } from "$lib/Effect/requestBody";
import { appOrigin, appOriginHeaders } from "$lib/Utility/appOrigin";
import privilegedUser from "$lib/Utility/privilegedUser";
@@ -118,7 +118,7 @@ export const PUT = async ({ cookies, url, request }) => {
.map(async (badge) => {
await updateUserBadge(identity.id, badge.id as number, {
...badge,
- hidden:
+ hidden: !(
allBadges
.filter(
(badge) =>
@@ -130,8 +130,7 @@ export const PUT = async ({ cookies, url, request }) => {
badge.category === (url.searchParams.get("category") || ""),
).length /
2
- ? false
- : true,
+ ),
});
}),
);
@@ -144,7 +143,7 @@ export const PUT = async ({ cookies, url, request }) => {
await setShadowHiddenBadge(
Number(url.searchParams.get("shadowHideBadge")),
- url.searchParams.get("status") === "true" ? false : true,
+ url.searchParams.get("status") !== "true",
);
return await badges(Number(url.searchParams.get("id")));
diff --git a/src/routes/api/myanimelist/oauth/callback/+server.ts b/src/routes/api/myanimelist/oauth/callback/+server.ts
index 57a5fbe4..0fe774d9 100644
--- a/src/routes/api/myanimelist/oauth/callback/+server.ts
+++ b/src/routes/api/myanimelist/oauth/callback/+server.ts
@@ -1,6 +1,6 @@
-import { callback } from "$lib/Utility/oauth.js";
import { env } from "$env/dynamic/private";
import { env as env2 } from "$env/dynamic/public";
+import { callback } from "$lib/Utility/oauth.js";
export const GET = async ({ url, cookies }) =>
callback({
diff --git a/src/routes/api/notifications/subscribe/+server.ts b/src/routes/api/notifications/subscribe/+server.ts
index 203470e0..51dbf340 100644
--- a/src/routes/api/notifications/subscribe/+server.ts
+++ b/src/routes/api/notifications/subscribe/+server.ts
@@ -1,8 +1,8 @@
+import { Schema } from "effect";
import { safeUserIdentity } from "$lib/Data/AniList/identity";
import { setUserSubscription } from "$lib/Database/SB/User/notifications";
import { decodeAuthCookieOrNull } from "$lib/Effect/authCookie";
import { decodeRequestJsonOrThrow } from "$lib/Effect/requestBody";
-import { Schema } from "effect";
const unauthorised = new Response("Unauthorised", { status: 401 });
diff --git a/src/routes/api/oauth/callback/+server.ts b/src/routes/api/oauth/callback/+server.ts
index c5faa859..96990bf0 100644
--- a/src/routes/api/oauth/callback/+server.ts
+++ b/src/routes/api/oauth/callback/+server.ts
@@ -1,6 +1,6 @@
-import { callback } from "$lib/Utility/oauth.js";
import { env } from "$env/dynamic/private";
import { env as env2 } from "$env/dynamic/public";
+import { callback } from "$lib/Utility/oauth.js";
export const GET = async ({ url, cookies }) =>
callback({
diff --git a/src/routes/api/oauth/refresh/+server.ts b/src/routes/api/oauth/refresh/+server.ts
index 13e7ab09..d9e33f51 100644
--- a/src/routes/api/oauth/refresh/+server.ts
+++ b/src/routes/api/oauth/refresh/+server.ts
@@ -1,6 +1,6 @@
+import { redirect } from "@sveltejs/kit";
import { env } from "$env/dynamic/private";
import { env as env2 } from "$env/dynamic/public";
-import { redirect } from "@sveltejs/kit";
export const GET = async ({ url, cookies }) => {
const formData = new FormData();
diff --git a/src/routes/api/preferences/pin/+server.ts b/src/routes/api/preferences/pin/+server.ts
index b69a8142..118dd5ba 100644
--- a/src/routes/api/preferences/pin/+server.ts
+++ b/src/routes/api/preferences/pin/+server.ts
@@ -1,6 +1,6 @@
import { safeUserIdentity } from "$lib/Data/AniList/identity";
-import { decodeAuthCookieOrNull } from "$lib/Effect/authCookie";
import { toggleHololiveStreamPinning } from "$lib/Database/SB/User/preferences";
+import { decodeAuthCookieOrNull } from "$lib/Effect/authCookie";
import { appOriginHeaders } from "$lib/Utility/appOrigin";
const unauthorised = new Response("Unauthorised", { status: 401 });
diff --git a/src/routes/completed/+page.svelte b/src/routes/completed/+page.svelte
index 3720bf60..78cb1614 100644
--- a/src/routes/completed/+page.svelte
+++ b/src/routes/completed/+page.svelte
@@ -1,15 +1,15 @@
<script lang="ts">
import type { Component } from "svelte";
-import Spacer from "$lib/Layout/Spacer.svelte";
import { onDestroy, onMount } from "svelte";
-import userIdentity from "$stores/identity.js";
-import settings from "$stores/settings";
-import ListTitle from "$lib/List/ListTitle.svelte";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
-import { createHeightObserver } from "$lib/Utility/html.js";
+import Landing from "$lib/Landing.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
+import ListTitle from "$lib/List/ListTitle.svelte";
import Skeleton from "$lib/Loading/Skeleton.svelte";
+import { createHeightObserver } from "$lib/Utility/html.js";
+import userIdentity from "$stores/identity.js";
import locale from "$stores/locale.js";
-import Landing from "$lib/Landing.svelte";
+import settings from "$stores/settings";
import stateBin, { hydrateStateBin } from "$stores/stateBin.js";
import type { PageData } from "./$types";
diff --git a/src/routes/events/+page.svelte b/src/routes/events/+page.svelte
index 0474852b..4fa734bd 100644
--- a/src/routes/events/+page.svelte
+++ b/src/routes/events/+page.svelte
@@ -1,6 +1,6 @@
<script>
-import Spacer from "$lib/Layout/Spacer.svelte";
import Event from "$lib/Events/Event.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
import Message from "$lib/Loading/Message.svelte";
import root from "$lib/Utility/root";
diff --git a/src/routes/events/group/[group]/+page.svelte b/src/routes/events/group/[group]/+page.svelte
index 34db0fae..f7ca8769 100644
--- a/src/routes/events/group/[group]/+page.svelte
+++ b/src/routes/events/group/[group]/+page.svelte
@@ -1,12 +1,12 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
-import type { Group as GroupType } from "$lib/Database/SB/groups.js";
+import { onMount } from "svelte";
import type { Event as EventType } from "$lib/Database/SB/events.js";
+import type { Group as GroupType } from "$lib/Database/SB/groups.js";
+import Event from "$lib/Events/Event.svelte";
+import Group from "$lib/Events/Group.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
import Message from "$lib/Loading/Message.svelte";
import root from "$lib/Utility/root";
-import { onMount } from "svelte";
-import Group from "$lib/Events/Group.svelte";
-import Event from "$lib/Events/Event.svelte";
import locale from "$stores/locale";
import type { PageData } from "./$types";
diff --git a/src/routes/events/groups/+page.svelte b/src/routes/events/groups/+page.svelte
index 198c637b..f0c0f44b 100644
--- a/src/routes/events/groups/+page.svelte
+++ b/src/routes/events/groups/+page.svelte
@@ -1,10 +1,10 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
+import { onMount } from "svelte";
import type { Group as GroupType } from "$lib/Database/SB/groups";
+import Group from "$lib/Events/Group.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
import Message from "$lib/Loading/Message.svelte";
import root from "$lib/Utility/root";
-import { onMount } from "svelte";
-import Group from "$lib/Events/Group.svelte";
import locale from "$stores/locale";
let groupsResponse: Promise<Response>;
diff --git a/src/routes/feeds/activity-notifications/+server.ts b/src/routes/feeds/activity-notifications/+server.ts
index 70b24a20..64ba3fdc 100644
--- a/src/routes/feeds/activity-notifications/+server.ts
+++ b/src/routes/feeds/activity-notifications/+server.ts
@@ -1,15 +1,12 @@
import {
- notifications,
type Notification,
+ notifications,
} from "$lib/Data/AniList/notifications";
import { siteUrl } from "$lib/Utility/appOrigin";
import root from "$lib/Utility/root";
const htmlEncode = (input: string) => {
- return input.replace(
- /[\u00A0-\u9999<>&]/g,
- (i) => "&#" + i.charCodeAt(0) + ";",
- );
+ return input.replace(/[\u00A0-\u9999<>&]/g, (i) => `&#${i.charCodeAt(0)};`);
};
const render = (
@@ -82,7 +79,7 @@ export const GET = async ({ url }) => {
if (notification === null) {
token = (
await (await fetch(root(`/api/oauth/refresh?token=${refresh}`))).json()
- )["access_token"];
+ ).access_token;
notification = await notifications(token as string);
}
diff --git a/src/routes/girls/+page.svelte b/src/routes/girls/+page.svelte
index e45dad4d..b07a1bcc 100644
--- a/src/routes/girls/+page.svelte
+++ b/src/routes/girls/+page.svelte
@@ -1,7 +1,7 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
import Senpy from "$lib/Data/senpy";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
import Message from "$lib/Loading/Message.svelte";
import Skeleton from "$lib/Loading/Skeleton.svelte";
import root from "$lib/Utility/root";
diff --git a/src/routes/hololive/[[stream]]/+page.svelte b/src/routes/hololive/[[stream]]/+page.svelte
index 250ce22a..38969b45 100644
--- a/src/routes/hololive/[[stream]]/+page.svelte
+++ b/src/routes/hololive/[[stream]]/+page.svelte
@@ -1,15 +1,15 @@
<script lang="ts">
import { onMount } from "svelte";
+import { parseScheduleHtml } from "$lib/Data/hololive";
+import { typeSchedule } from "$lib/Hololive/hololive";
+import Lives from "$lib/Hololive/Lives.svelte";
+import HeadTitle from "$lib/Home/HeadTitle.svelte";
import Message from "$lib/Loading/Message.svelte";
import Skeleton from "$lib/Loading/Skeleton.svelte";
-import HeadTitle from "$lib/Home/HeadTitle.svelte";
-import { parseScheduleHtml } from "$lib/Data/hololive";
import proxy from "$lib/Utility/proxy";
-import locale from "$stores/locale";
import root from "$lib/Utility/root";
import identity from "$stores/identity";
-import Lives from "$lib/Hololive/Lives.svelte";
-import { typeSchedule } from "$lib/Hololive/hololive";
+import locale from "$stores/locale";
import type { PageData } from "./$types";
export let data: PageData;
@@ -35,7 +35,7 @@ const getPinnedStreams = () => {
fetch(root(`/api/preferences?id=${$identity.id}`)).then((response) => {
if (response.ok)
response.json().then((data) => {
- if (data && data.pinned_hololive_streams)
+ if (data?.pinned_hololive_streams)
streams = data.pinned_hololive_streams;
setSchedule();
diff --git a/src/routes/schedule/+page.svelte b/src/routes/schedule/+page.svelte
index 9dcda20a..d6708a3e 100644
--- a/src/routes/schedule/+page.svelte
+++ b/src/routes/schedule/+page.svelte
@@ -1,19 +1,19 @@
<script lang="ts">
-import RateLimitedError from "$lib/Error/RateLimited.svelte";
import { onMount } from "svelte";
-import { parseOrDefault } from "$lib/Utility/parameters";
import { browser } from "$app/environment";
import type { Media } from "$lib/Data/AniList/media";
import { scheduleMediaListCollection } from "$lib/Data/AniList/schedule";
-import { season } from "$lib/Media/Anime/season";
+import RateLimitedError from "$lib/Error/RateLimited.svelte";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import { season } from "$lib/Media/Anime/season";
+import { parseOrDefault } from "$lib/Utility/parameters";
// import Crunchyroll from '$lib/Schedule/Crunchyroll.svelte';
import "$lib/Schedule/container.css";
-import Days from "$lib/Schedule/Days.svelte";
-import Skeleton from "$lib/Loading/Skeleton.svelte";
import Message from "$lib/Loading/Message.svelte";
-import subsPlease from "$stores/subsPlease";
+import Skeleton from "$lib/Loading/Skeleton.svelte";
+import Days from "$lib/Schedule/Days.svelte";
import locale from "$stores/locale";
+import subsPlease from "$stores/subsPlease";
import type { PageData } from "./$types";
export let data: PageData;
diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte
index f9a2ee87..79642944 100644
--- a/src/routes/settings/+page.svelte
+++ b/src/routes/settings/+page.svelte
@@ -1,18 +1,17 @@
<script lang="ts">
+import LogInRestricted from "$lib/Error/LogInRestricted.svelte";
+import HeadTitle from "$lib/Home/HeadTitle.svelte";
import Spacer from "$lib/Layout/Spacer.svelte";
-
import Attributions from "$lib/Settings/Categories/Attributions.svelte";
-import HeadTitle from "$lib/Home/HeadTitle.svelte";
-import Display from "$lib/Settings/Categories/Display.svelte";
+import Cache from "$lib/Settings/Categories/Cache.svelte";
import Calculation from "$lib/Settings/Categories/Calculation.svelte";
import Debug from "$lib/Settings/Categories/Debug.svelte";
-import Cache from "$lib/Settings/Categories/Cache.svelte";
+import Display from "$lib/Settings/Categories/Display.svelte";
+import RssFeeds from "$lib/Settings/Categories/RSSFeeds.svelte";
+import SettingSync from "$lib/Settings/Categories/SettingSync.svelte";
import Category from "$lib/Settings/Category.svelte";
import tooltip from "$lib/Tooltip/tooltip";
import locale from "$stores/locale.js";
-import LogInRestricted from "$lib/Error/LogInRestricted.svelte";
-import SettingSync from "$lib/Settings/Categories/SettingSync.svelte";
-import RssFeeds from "$lib/Settings/Categories/RSSFeeds.svelte";
import type { PageData } from "./$types";
export let data: PageData;
diff --git a/src/routes/tools/+page.svelte b/src/routes/tools/+page.svelte
index 3589fa9f..27604874 100644
--- a/src/routes/tools/+page.svelte
+++ b/src/routes/tools/+page.svelte
@@ -1,6 +1,6 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
import Picker from "$lib/Tools/Picker.svelte";
import { tools } from "$lib/Tools/tools.js";
import root from "$lib/Utility/root";
diff --git a/src/routes/tools/[tool]/+page.svelte b/src/routes/tools/[tool]/+page.svelte
index b74952a5..1778752f 100644
--- a/src/routes/tools/[tool]/+page.svelte
+++ b/src/routes/tools/[tool]/+page.svelte
@@ -1,26 +1,26 @@
<script lang="ts">
-import Hayai from "./../../../lib/Tools/Hayai.svelte";
-import UmaMusumeBirthdays from "./../../../lib/Tools/UmaMusumeBirthdays.svelte";
-import ActivityHistory from "$lib/Tools/ActivityHistory/Tool.svelte";
-import Wrapped from "$lib/Tools/Wrapped/Tool.svelte";
-import EpisodeDiscussionCollector from "$lib/Tools/EpisodeDiscussionCollector.svelte";
-import CharacterBirthdays from "$lib/Tools/Birthdays.svelte";
-import SequelSpy from "$lib/Tools/SequelSpy/Tool.svelte";
+import { onMount } from "svelte";
+import { goto } from "$app/navigation";
import { closest } from "$lib/Error/path";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Popup from "$lib/Layout/Popup.svelte";
+import ActivityHistory from "$lib/Tools/ActivityHistory/Tool.svelte";
+import CharacterBirthdays from "$lib/Tools/Birthdays.svelte";
+import BirthdaysTemplate from "$lib/Tools/BirthdaysTemplate.svelte";
+import EpisodeDiscussionCollector from "$lib/Tools/EpisodeDiscussionCollector.svelte";
+import Likes from "$lib/Tools/Likes.svelte";
+import Picker from "$lib/Tools/Picker.svelte";
import RandomFollower from "$lib/Tools/RandomFollower.svelte";
+import SequelCatcher from "$lib/Tools/SequelCatcher/Tool.svelte";
+import SequelSpy from "$lib/Tools/SequelSpy/Tool.svelte";
+import Tracker from "$lib/Tools/Tracker/Tool.svelte";
// import DumpProfile from '$lib/Tools/DumpProfile.svelte';
import { tools } from "$lib/Tools/tools.js";
-import { onMount } from "svelte";
-import { goto } from "$app/navigation";
-import Picker from "$lib/Tools/Picker.svelte";
-import Likes from "$lib/Tools/Likes.svelte";
+import Wrapped from "$lib/Tools/Wrapped/Tool.svelte";
import root from "$lib/Utility/root.js";
-import Popup from "$lib/Layout/Popup.svelte";
-import SequelCatcher from "$lib/Tools/SequelCatcher/Tool.svelte";
-import Tracker from "$lib/Tools/Tracker/Tool.svelte";
-import BirthdaysTemplate from "$lib/Tools/BirthdaysTemplate.svelte";
import locale from "$stores/locale";
+import Hayai from "./../../../lib/Tools/Hayai.svelte";
+import UmaMusumeBirthdays from "./../../../lib/Tools/UmaMusumeBirthdays.svelte";
import type { PageData } from "./$types";
export let data: PageData;
diff --git a/src/routes/updates/+page.svelte b/src/routes/updates/+page.svelte
index 71a6d2e3..357a5906 100644
--- a/src/routes/updates/+page.svelte
+++ b/src/routes/updates/+page.svelte
@@ -1,16 +1,16 @@
<script lang="ts">
+import { onDestroy, onMount } from "svelte";
import { browser } from "$app/environment";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
import Skeleton from "$lib/Loading/Skeleton.svelte";
import { createHeightObserver } from "$lib/Utility/html";
import root from "$lib/Utility/root";
-import { onDestroy, onMount } from "svelte";
import locale from "$stores/locale";
let feed:
| { items: { title: string; link: string; content: string }[] }
| null
- | undefined = undefined;
+ | undefined;
let novelFeed:
| {
data: {
@@ -22,7 +22,7 @@ let novelFeed:
}[];
};
}
- | undefined = undefined;
+ | undefined;
let startTime: number;
let mangaEndTime: number;
let novelEndTime: number;
diff --git a/src/routes/user/+page.svelte b/src/routes/user/+page.svelte
index 3fdf1dc6..dc75802f 100644
--- a/src/routes/user/+page.svelte
+++ b/src/routes/user/+page.svelte
@@ -1,13 +1,13 @@
<script lang="ts">
+import localforage from "localforage";
+import { onMount } from "svelte";
import { browser } from "$app/environment";
import { goto } from "$app/navigation";
-import type { UserIdentity } from "$lib/Data/AniList/identity";
-import { onMount } from "svelte";
+import { page } from "$app/stores";
import { env } from "$env/dynamic/public";
+import type { UserIdentity } from "$lib/Data/AniList/identity";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
import root from "$lib/Utility/root";
-import { page } from "$app/stores";
-import localforage from "localforage";
onMount(async () => {
if (browser) {
diff --git a/src/routes/user/[user]/+page.svelte b/src/routes/user/[user]/+page.svelte
index bfcdd87b..771683ad 100644
--- a/src/routes/user/[user]/+page.svelte
+++ b/src/routes/user/[user]/+page.svelte
@@ -1,27 +1,27 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
-import settings from "$stores/settings";
-import ParallaxImage from "../../../lib/Image/ParallaxImage.svelte";
-import { typeSchedule, type ParseResult } from "$lib/Hololive/hololive";
-import HeadTitle from "$lib/Home/HeadTitle.svelte";
-import Message from "$lib/Loading/Message.svelte";
-import { estimatedDayReading } from "$lib/Media/Manga/time";
-import Skeleton from "$lib/Loading/Skeleton.svelte";
-import root from "$lib/Utility/root";
-import locale from "$stores/locale";
+import SvelteMarkdown from "@humanspeak/svelte-markdown";
import { onMount } from "svelte";
+import { graphql } from "$houdini";
+import { parseScheduleHtml } from "$lib/Data/hololive";
import authorisedUsers from "$lib/Data/Static/authorised.json";
-import tooltip from "$lib/Tooltip/tooltip";
import AnimeRateLimited from "$lib/Error/AnimeRateLimited.svelte";
-import identity from "$stores/identity";
+import { type ParseResult, typeSchedule } from "$lib/Hololive/hololive";
+import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
+import Message from "$lib/Loading/Message.svelte";
+import Skeleton from "$lib/Loading/Skeleton.svelte";
+import MarkdownLink from "$lib/MarkdownLink.svelte";
+import { estimatedDayReading } from "$lib/Media/Manga/time";
import SettingHint from "$lib/Settings/SettingHint.svelte";
+import LinkedTooltip from "$lib/Tooltip/LinkedTooltip.svelte";
+import tooltip from "$lib/Tooltip/tooltip";
import proxy from "$lib/Utility/proxy";
-import { parseScheduleHtml } from "$lib/Data/hololive";
+import root from "$lib/Utility/root";
+import identity from "$stores/identity";
+import locale from "$stores/locale";
+import settings from "$stores/settings";
import type { Preferences } from "../../../graphql/$types";
-import SvelteMarkdown from "@humanspeak/svelte-markdown";
-import MarkdownLink from "$lib/MarkdownLink.svelte";
-import LinkedTooltip from "$lib/Tooltip/LinkedTooltip.svelte";
-import { graphql } from "$houdini";
+import ParallaxImage from "../../../lib/Image/ParallaxImage.svelte";
import type { PageData } from "./$types";
export let data: PageData;
@@ -118,7 +118,7 @@ const setBadgeWallCSSQuery = graphql(`
$: userData = data.userData;
let error = false;
-let schedule: ParseResult | undefined = undefined;
+let schedule: ParseResult | undefined;
let draggedCategory: string | null = null;
let draggedOverCategory: string | null = null;
diff --git a/src/routes/user/[user]/+page.ts b/src/routes/user/[user]/+page.ts
index 6ec3c845..2af22d1d 100644
--- a/src/routes/user/[user]/+page.ts
+++ b/src/routes/user/[user]/+page.ts
@@ -1,6 +1,6 @@
+import type { LoadEvent } from "@sveltejs/kit";
import { load_Profile } from "$houdini";
import { user } from "$lib/Data/AniList/user";
-import type { LoadEvent } from "@sveltejs/kit";
export const load = async (event: LoadEvent) => {
const username = event.params.user as string;
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index 77770498..dc43fc08 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -1,35 +1,35 @@
<script lang="ts">
-import Spacer from "$lib/Layout/Spacer.svelte";
-import AWC from "./../../../../lib/User/BadgeWall/AWC.svelte";
-import { user, type User } from "$lib/Data/AniList/user";
-import type { Badge } from "../../../../graphql/$types";
import { onDestroy, onMount } from "svelte";
+import { get } from "svelte/store";
+import { browser } from "$app/environment";
+import { page } from "$app/stores";
+import { activityText } from "$lib/Data/AniList/activity";
+import { type User, user } from "$lib/Data/AniList/user";
+import authorisedJson from "$lib/Data/Static/authorised.json";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
+import Dropdown from "$lib/Layout/Dropdown.svelte";
+import Popup from "$lib/Layout/Popup.svelte";
+import Spacer from "$lib/Layout/Spacer.svelte";
+import Message from "$lib/Loading/Message.svelte";
+import Skeleton from "$lib/Loading/Skeleton.svelte";
+import SettingHint from "$lib/Settings/SettingHint.svelte";
+import BadgePreview from "$lib/User/BadgeWall/BadgePreview.svelte";
+import proxy from "$lib/Utility/proxy";
import {
databaseTimeToDate,
dateToInputTime,
inputTimeToDatabaseTime,
} from "$lib/Utility/time";
-import proxy from "$lib/Utility/proxy";
-import locale from "$stores/locale";
-import { get } from "svelte/store";
-import Skeleton from "$lib/Loading/Skeleton.svelte";
-import Message from "$lib/Loading/Message.svelte";
-import Dropdown from "$lib/Layout/Dropdown.svelte";
-import { activityText } from "$lib/Data/AniList/activity";
-import SettingHint from "$lib/Settings/SettingHint.svelte";
-import Popup from "$lib/Layout/Popup.svelte";
-import { page } from "$app/stores";
-import { browser } from "$app/environment";
-import BadgePreview from "$lib/User/BadgeWall/BadgePreview.svelte";
-import authorisedJson from "$lib/Data/Static/authorised.json";
import identity from "$stores/identity";
+import locale from "$stores/locale";
+import type { Badge } from "../../../../graphql/$types";
+import AWC from "./../../../../lib/User/BadgeWall/AWC.svelte";
import "$lib/User/BadgeWall/badges.css";
+import localforage from "localforage";
+import { graphql } from "$houdini";
import Badges from "$lib/User/BadgeWall/Badges.svelte";
import type { IndexedBadge } from "$lib/User/BadgeWall/badge";
-import { graphql } from "$houdini";
import type { Preferences } from "../../../../graphql/$types";
-import localforage from "localforage";
import type { PageData } from "./$types";
export let data: PageData;
@@ -190,10 +190,10 @@ let error: null | string;
let awcPromise: Promise<Response>;
let confirmDelete = 0;
let confirmPrune = 0;
-let selectedBadge: IndexedBadge | undefined = undefined;
+let selectedBadge: IndexedBadge | undefined;
let loadError: string | null = null;
const isId = /^\d+$/.test(data.username);
-let importImages: ImportImage[] | undefined = undefined;
+let importImages: ImportImage[] | undefined;
let importLinks = false;
let importCategory = "";
let importReplies = false;
@@ -228,7 +228,7 @@ onMount(async () => {
badger = isId
? {
- id: parseInt(data.username),
+ id: parseInt(data.username, 10),
name: "User",
}
: await user(data.username);
@@ -379,10 +379,9 @@ const groupBadges = (badges: IndexedBadge[]) => {
return Object.entries(groupedBadges)
.sort((a, b) => a[1].length - b[1].length)
.sort((a, b) => {
- const pinnedCategories =
- preferences && preferences.pinned_badge_wall_categories
- ? preferences.pinned_badge_wall_categories
- : ([] as string[]);
+ const pinnedCategories = preferences?.pinned_badge_wall_categories
+ ? preferences.pinned_badge_wall_categories
+ : ([] as string[]);
const aIndex = pinnedCategories.indexOf(a[0]);
const bIndex = pinnedCategories.indexOf(b[0]);
@@ -410,7 +409,7 @@ const parsePost = async () => {
if (type !== "activity") return null;
- let text = await activityText(parseInt(id), importReplies);
+ let text = await activityText(parseInt(id, 10), importReplies);
const images: ImportImage[] = [];
diff --git a/src/routes/user/[user]/badges/+page.ts b/src/routes/user/[user]/badges/+page.ts
index a14c0a6a..573b7d90 100644
--- a/src/routes/user/[user]/badges/+page.ts
+++ b/src/routes/user/[user]/badges/+page.ts
@@ -1,6 +1,6 @@
+import type { LoadEvent } from "@sveltejs/kit";
import { load_BadgeWallUser } from "$houdini";
import { user } from "$lib/Data/AniList/user";
-import type { LoadEvent } from "@sveltejs/kit";
export const load = async (event: LoadEvent) => {
const username = event.params.user as string;