diff --git a/README.md b/README.md index 75b3ef77..c847fb17 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ services: VITE_DEFAULT_INVIDIOUS_INSTANCE: "https://invidious.materialio.us" # URL TO RYD + # Leave blank to disable completely. VITE_DEFAULT_RETURNYTDISLIKES_INSTANCE: "https://returnyoutubedislikeapi.com" # URL to your proxied instance of Materialious diff --git a/materialious/src/.d.ts b/materialious/src/.d.ts new file mode 100644 index 00000000..3a8ede95 --- /dev/null +++ b/materialious/src/.d.ts @@ -0,0 +1 @@ +declare module 'virtual:pwa-info'; \ No newline at end of file diff --git a/materialious/src/routes/watch/[slug]/+page.ts b/materialious/src/routes/watch/[slug]/+page.ts index 544ee4a4..9a667984 100644 --- a/materialious/src/routes/watch/[slug]/+page.ts +++ b/materialious/src/routes/watch/[slug]/+page.ts @@ -10,7 +10,7 @@ import type { PlaylistPage } from '$lib/Api/model'; import { phaseDescription } from '$lib/misc'; import { error } from '@sveltejs/kit'; import { get } from 'svelte/store'; -import { authStore, playerProxyVideosStore, returnYtDislikesStore } from '../../../store'; +import { authStore, playerProxyVideosStore, returnYTDislikesInstanceStore, returnYtDislikesStore } from '../../../store'; export async function load({ params, url }) { let video; @@ -60,11 +60,12 @@ export async function load({ params, url }) { comments = null; } - let returnYTDislikes; - try { - returnYTDislikes = get(returnYtDislikesStore) ? await getDislikes(params.slug) : null; - } catch { - returnYTDislikes = null; + let returnYTDislikes = null; + const returnYTDislikesInstance = get(returnYTDislikesInstanceStore); + if (returnYTDislikesInstance && returnYTDislikesInstance !== "") { + try { + returnYTDislikes = get(returnYtDislikesStore) ? await getDislikes(params.slug) : null; + } catch { } } return { diff --git a/materialious/src/store.ts b/materialious/src/store.ts index cd04da63..ff329409 100644 --- a/materialious/src/store.ts +++ b/materialious/src/store.ts @@ -3,7 +3,7 @@ import type { DataConnection } from 'peerjs'; import { persisted } from 'svelte-persisted-store'; import { writable, type Writable } from 'svelte/store'; -export const returnYTDislikesInstanceStore = persisted( +export const returnYTDislikesInstanceStore: Writable = persisted( 'returnYTDislikesInstance', import.meta.env.VITE_DEFAULT_RETURNYTDISLIKES_INSTANCE ); diff --git a/materialious/tsconfig.json b/materialious/tsconfig.json index 695fd87f..be94989f 100644 --- a/materialious/tsconfig.json +++ b/materialious/tsconfig.json @@ -10,10 +10,20 @@ "sourceMap": true, "strict": true, "moduleResolution": "bundler", - "types": ["vidstack/svelte"] - } + "types": [ + "vidstack/svelte" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.d.ts" + ], + "exclude": [ + "node_modules", + "dist" + ] // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias // // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes // from the referenced tsconfig.json - TypeScript does not merge them in -} +} \ No newline at end of file