summaryrefslogtreecommitdiff
path: root/.svelte-kit
diff options
context:
space:
mode:
authorThomas Grothe <grothe.tr@gmail.com>2026-03-07 23:32:05 -0500
committerThomas Grothe <grothe.tr@gmail.com>2026-03-07 23:32:05 -0500
commitdbd1386a43ae9e7013809be2e0bd0e1c049059fc (patch)
tree22588cb21dfa1cc941e13031e73cb85cdfb7f402 /.svelte-kit
good startHEADmain
Diffstat (limited to '.svelte-kit')
-rw-r--r--.svelte-kit/ambient.d.ts326
-rw-r--r--.svelte-kit/generated/client/app.js41
-rw-r--r--.svelte-kit/generated/client/matchers.js1
-rw-r--r--.svelte-kit/generated/client/nodes/0.js1
-rw-r--r--.svelte-kit/generated/client/nodes/1.js1
-rw-r--r--.svelte-kit/generated/client/nodes/2.js1
-rw-r--r--.svelte-kit/generated/client/nodes/3.js1
-rw-r--r--.svelte-kit/generated/client/nodes/4.js1
-rw-r--r--.svelte-kit/generated/client/nodes/5.js1
-rw-r--r--.svelte-kit/generated/client/nodes/6.js1
-rw-r--r--.svelte-kit/generated/client/nodes/7.js1
-rw-r--r--.svelte-kit/generated/client/nodes/8.js1
-rw-r--r--.svelte-kit/generated/root.js3
-rw-r--r--.svelte-kit/generated/root.svelte68
-rw-r--r--.svelte-kit/generated/server/internal.js53
-rw-r--r--.svelte-kit/non-ambient.d.ts64
-rw-r--r--.svelte-kit/tsconfig.json55
-rw-r--r--.svelte-kit/types/route_meta_data.json27
-rw-r--r--.svelte-kit/types/src/routes/$types.d.ts24
-rw-r--r--.svelte-kit/types/src/routes/api/channel/[id]/$types.d.ts11
-rw-r--r--.svelte-kit/types/src/routes/api/playlist/$types.d.ts10
-rw-r--r--.svelte-kit/types/src/routes/api/related/[id]/$types.d.ts11
-rw-r--r--.svelte-kit/types/src/routes/api/search/$types.d.ts10
-rw-r--r--.svelte-kit/types/src/routes/api/trending/$types.d.ts10
-rw-r--r--.svelte-kit/types/src/routes/api/video/[id]/$types.d.ts11
-rw-r--r--.svelte-kit/types/src/routes/channel/[id]/$types.d.ts19
-rw-r--r--.svelte-kit/types/src/routes/playlists/$types.d.ts18
-rw-r--r--.svelte-kit/types/src/routes/playlists/[id]/$types.d.ts19
-rw-r--r--.svelte-kit/types/src/routes/search/$types.d.ts18
-rw-r--r--.svelte-kit/types/src/routes/subscriptions/$types.d.ts18
-rw-r--r--.svelte-kit/types/src/routes/watch/[id]/$types.d.ts19
31 files changed, 845 insertions, 0 deletions
diff --git a/.svelte-kit/ambient.d.ts b/.svelte-kit/ambient.d.ts
new file mode 100644
index 0000000..338b8ec
--- /dev/null
+++ b/.svelte-kit/ambient.d.ts
@@ -0,0 +1,326 @@
+
+// this file is generated — do not edit it
+
+
+/// <reference types="@sveltejs/kit" />
+
+/**
+ * This module provides access to environment variables that are injected _statically_ into your bundle at build time and are limited to _private_ access.
+ *
+ * | | Runtime | Build time |
+ * | ------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
+ * | Private | [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private) | [`$env/static/private`](https://svelte.dev/docs/kit/$env-static-private) |
+ * | Public | [`$env/dynamic/public`](https://svelte.dev/docs/kit/$env-dynamic-public) | [`$env/static/public`](https://svelte.dev/docs/kit/$env-static-public) |
+ *
+ * Static environment variables are [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env` at build time and then statically injected into your bundle at build time, enabling optimisations like dead code elimination.
+ *
+ * **_Private_ access:**
+ *
+ * - This module cannot be imported into client-side code
+ * - This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured)
+ *
+ * For example, given the following build time environment:
+ *
+ * ```env
+ * ENVIRONMENT=production
+ * PUBLIC_BASE_URL=http://site.com
+ * ```
+ *
+ * With the default `publicPrefix` and `privatePrefix`:
+ *
+ * ```ts
+ * import { ENVIRONMENT, PUBLIC_BASE_URL } from '$env/static/private';
+ *
+ * console.log(ENVIRONMENT); // => "production"
+ * console.log(PUBLIC_BASE_URL); // => throws error during build
+ * ```
+ *
+ * The above values will be the same _even if_ different values for `ENVIRONMENT` or `PUBLIC_BASE_URL` are set at runtime, as they are statically replaced in your code with their build time values.
+ */
+declare module '$env/static/private' {
+ export const SHELL: string;
+ export const npm_command: string;
+ export const COREPACK_ENABLE_AUTO_PIN: string;
+ export const WINDOWID: string;
+ export const COLORTERM: string;
+ export const XDG_SESSION_PATH: string;
+ export const TERM_PROGRAM_VERSION: string;
+ export const TMUX: string;
+ export const NODE: string;
+ export const LC_ADDRESS: string;
+ export const LC_NAME: string;
+ export const npm_config_local_prefix: string;
+ export const DESKTOP_SESSION: string;
+ export const LC_MONETARY: string;
+ export const GTK_MODULES: string;
+ export const XDG_SEAT: string;
+ export const PWD: string;
+ export const XDG_SESSION_DESKTOP: string;
+ export const LOGNAME: string;
+ export const XDG_SESSION_TYPE: string;
+ export const XAUTHORITY: string;
+ export const NoDefaultCurrentDirectoryInExePath: string;
+ export const XDG_GREETER_DATA_DIR: string;
+ export const CLAUDECODE: string;
+ export const MOTD_SHOWN: string;
+ export const HOME: string;
+ export const LC_PAPER: string;
+ export const LANG: string;
+ export const LS_COLORS: string;
+ export const npm_package_version: string;
+ export const VTE_VERSION: string;
+ export const XDG_SEAT_PATH: string;
+ export const npm_lifecycle_script: string;
+ export const NVM_DIR: string;
+ export const XDG_SESSION_CLASS: string;
+ export const TERM: string;
+ export const LC_IDENTIFICATION: string;
+ export const npm_package_name: string;
+ export const USER: string;
+ export const TMUX_PANE: string;
+ export const PAM_KWALLET5_LOGIN: string;
+ export const DISPLAY: string;
+ export const npm_lifecycle_event: string;
+ export const SHLVL: string;
+ export const GIT_EDITOR: string;
+ export const LC_TELEPHONE: string;
+ export const LC_MEASUREMENT: string;
+ export const XDG_VTNR: string;
+ export const XDG_SESSION_ID: string;
+ export const npm_config_user_agent: string;
+ export const OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: string;
+ export const npm_execpath: string;
+ export const LD_LIBRARY_PATH: string;
+ export const XDG_RUNTIME_DIR: string;
+ export const CLAUDE_CODE_ENTRYPOINT: string;
+ export const DEBUGINFOD_URLS: string;
+ export const npm_package_json: string;
+ export const LC_TIME: string;
+ export const CUDA_HOME: string;
+ export const GTK3_MODULES: string;
+ export const GCC_COLORS: string;
+ export const PATH: string;
+ export const GDMSESSION: string;
+ export const DBUS_SESSION_BUS_ADDRESS: string;
+ export const MAIL: string;
+ export const npm_node_execpath: string;
+ export const LC_NUMERIC: string;
+ export const OLDPWD: string;
+ export const TERM_PROGRAM: string;
+ export const _: string;
+ export const NODE_ENV: string;
+}
+
+/**
+ * This module provides access to environment variables that are injected _statically_ into your bundle at build time and are _publicly_ accessible.
+ *
+ * | | Runtime | Build time |
+ * | ------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
+ * | Private | [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private) | [`$env/static/private`](https://svelte.dev/docs/kit/$env-static-private) |
+ * | Public | [`$env/dynamic/public`](https://svelte.dev/docs/kit/$env-dynamic-public) | [`$env/static/public`](https://svelte.dev/docs/kit/$env-static-public) |
+ *
+ * Static environment variables are [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env` at build time and then statically injected into your bundle at build time, enabling optimisations like dead code elimination.
+ *
+ * **_Public_ access:**
+ *
+ * - This module _can_ be imported into client-side code
+ * - **Only** variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`) are included
+ *
+ * For example, given the following build time environment:
+ *
+ * ```env
+ * ENVIRONMENT=production
+ * PUBLIC_BASE_URL=http://site.com
+ * ```
+ *
+ * With the default `publicPrefix` and `privatePrefix`:
+ *
+ * ```ts
+ * import { ENVIRONMENT, PUBLIC_BASE_URL } from '$env/static/public';
+ *
+ * console.log(ENVIRONMENT); // => throws error during build
+ * console.log(PUBLIC_BASE_URL); // => "http://site.com"
+ * ```
+ *
+ * The above values will be the same _even if_ different values for `ENVIRONMENT` or `PUBLIC_BASE_URL` are set at runtime, as they are statically replaced in your code with their build time values.
+ */
+declare module '$env/static/public' {
+
+}
+
+/**
+ * This module provides access to environment variables set _dynamically_ at runtime and that are limited to _private_ access.
+ *
+ * | | Runtime | Build time |
+ * | ------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
+ * | Private | [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private) | [`$env/static/private`](https://svelte.dev/docs/kit/$env-static-private) |
+ * | Public | [`$env/dynamic/public`](https://svelte.dev/docs/kit/$env-dynamic-public) | [`$env/static/public`](https://svelte.dev/docs/kit/$env-static-public) |
+ *
+ * Dynamic environment variables are defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/main/packages/adapter-node) (or running [`vite preview`](https://svelte.dev/docs/kit/cli)), this is equivalent to `process.env`.
+ *
+ * **_Private_ access:**
+ *
+ * - This module cannot be imported into client-side code
+ * - This module includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured)
+ *
+ * > [!NOTE] In `dev`, `$env/dynamic` includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter.
+ *
+ * > [!NOTE] To get correct types, environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed:
+ * >
+ * > ```env
+ * > MY_FEATURE_FLAG=
+ * > ```
+ * >
+ * > You can override `.env` values from the command line like so:
+ * >
+ * > ```sh
+ * > MY_FEATURE_FLAG="enabled" npm run dev
+ * > ```
+ *
+ * For example, given the following runtime environment:
+ *
+ * ```env
+ * ENVIRONMENT=production
+ * PUBLIC_BASE_URL=http://site.com
+ * ```
+ *
+ * With the default `publicPrefix` and `privatePrefix`:
+ *
+ * ```ts
+ * import { env } from '$env/dynamic/private';
+ *
+ * console.log(env.ENVIRONMENT); // => "production"
+ * console.log(env.PUBLIC_BASE_URL); // => undefined
+ * ```
+ */
+declare module '$env/dynamic/private' {
+ export const env: {
+ SHELL: string;
+ npm_command: string;
+ COREPACK_ENABLE_AUTO_PIN: string;
+ WINDOWID: string;
+ COLORTERM: string;
+ XDG_SESSION_PATH: string;
+ TERM_PROGRAM_VERSION: string;
+ TMUX: string;
+ NODE: string;
+ LC_ADDRESS: string;
+ LC_NAME: string;
+ npm_config_local_prefix: string;
+ DESKTOP_SESSION: string;
+ LC_MONETARY: string;
+ GTK_MODULES: string;
+ XDG_SEAT: string;
+ PWD: string;
+ XDG_SESSION_DESKTOP: string;
+ LOGNAME: string;
+ XDG_SESSION_TYPE: string;
+ XAUTHORITY: string;
+ NoDefaultCurrentDirectoryInExePath: string;
+ XDG_GREETER_DATA_DIR: string;
+ CLAUDECODE: string;
+ MOTD_SHOWN: string;
+ HOME: string;
+ LC_PAPER: string;
+ LANG: string;
+ LS_COLORS: string;
+ npm_package_version: string;
+ VTE_VERSION: string;
+ XDG_SEAT_PATH: string;
+ npm_lifecycle_script: string;
+ NVM_DIR: string;
+ XDG_SESSION_CLASS: string;
+ TERM: string;
+ LC_IDENTIFICATION: string;
+ npm_package_name: string;
+ USER: string;
+ TMUX_PANE: string;
+ PAM_KWALLET5_LOGIN: string;
+ DISPLAY: string;
+ npm_lifecycle_event: string;
+ SHLVL: string;
+ GIT_EDITOR: string;
+ LC_TELEPHONE: string;
+ LC_MEASUREMENT: string;
+ XDG_VTNR: string;
+ XDG_SESSION_ID: string;
+ npm_config_user_agent: string;
+ OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: string;
+ npm_execpath: string;
+ LD_LIBRARY_PATH: string;
+ XDG_RUNTIME_DIR: string;
+ CLAUDE_CODE_ENTRYPOINT: string;
+ DEBUGINFOD_URLS: string;
+ npm_package_json: string;
+ LC_TIME: string;
+ CUDA_HOME: string;
+ GTK3_MODULES: string;
+ GCC_COLORS: string;
+ PATH: string;
+ GDMSESSION: string;
+ DBUS_SESSION_BUS_ADDRESS: string;
+ MAIL: string;
+ npm_node_execpath: string;
+ LC_NUMERIC: string;
+ OLDPWD: string;
+ TERM_PROGRAM: string;
+ _: string;
+ NODE_ENV: string;
+ [key: `PUBLIC_${string}`]: undefined;
+ [key: `${string}`]: string | undefined;
+ }
+}
+
+/**
+ * This module provides access to environment variables set _dynamically_ at runtime and that are _publicly_ accessible.
+ *
+ * | | Runtime | Build time |
+ * | ------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
+ * | Private | [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private) | [`$env/static/private`](https://svelte.dev/docs/kit/$env-static-private) |
+ * | Public | [`$env/dynamic/public`](https://svelte.dev/docs/kit/$env-dynamic-public) | [`$env/static/public`](https://svelte.dev/docs/kit/$env-static-public) |
+ *
+ * Dynamic environment variables are defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/main/packages/adapter-node) (or running [`vite preview`](https://svelte.dev/docs/kit/cli)), this is equivalent to `process.env`.
+ *
+ * **_Public_ access:**
+ *
+ * - This module _can_ be imported into client-side code
+ * - **Only** variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`) are included
+ *
+ * > [!NOTE] In `dev`, `$env/dynamic` includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter.
+ *
+ * > [!NOTE] To get correct types, environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed:
+ * >
+ * > ```env
+ * > MY_FEATURE_FLAG=
+ * > ```
+ * >
+ * > You can override `.env` values from the command line like so:
+ * >
+ * > ```sh
+ * > MY_FEATURE_FLAG="enabled" npm run dev
+ * > ```
+ *
+ * For example, given the following runtime environment:
+ *
+ * ```env
+ * ENVIRONMENT=production
+ * PUBLIC_BASE_URL=http://example.com
+ * ```
+ *
+ * With the default `publicPrefix` and `privatePrefix`:
+ *
+ * ```ts
+ * import { env } from '$env/dynamic/public';
+ * console.log(env.ENVIRONMENT); // => undefined, not public
+ * console.log(env.PUBLIC_BASE_URL); // => "http://example.com"
+ * ```
+ *
+ * ```
+ *
+ * ```
+ */
+declare module '$env/dynamic/public' {
+ export const env: {
+ [key: `PUBLIC_${string}`]: string | undefined;
+ }
+}
diff --git a/.svelte-kit/generated/client/app.js b/.svelte-kit/generated/client/app.js
new file mode 100644
index 0000000..cb58f81
--- /dev/null
+++ b/.svelte-kit/generated/client/app.js
@@ -0,0 +1,41 @@
+export { matchers } from './matchers.js';
+
+export const nodes = [
+ () => import('./nodes/0'),
+ () => import('./nodes/1'),
+ () => import('./nodes/2'),
+ () => import('./nodes/3'),
+ () => import('./nodes/4'),
+ () => import('./nodes/5'),
+ () => import('./nodes/6'),
+ () => import('./nodes/7'),
+ () => import('./nodes/8')
+];
+
+export const server_loads = [];
+
+export const dictionary = {
+ "/": [2],
+ "/channel/[id]": [3],
+ "/playlists": [4],
+ "/playlists/[id]": [5],
+ "/search": [6],
+ "/subscriptions": [7],
+ "/watch/[id]": [8]
+ };
+
+export const hooks = {
+ handleError: (({ error }) => { console.error(error) }),
+
+ reroute: (() => {}),
+ transport: {}
+};
+
+export const decoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.decode]));
+export const encoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.encode]));
+
+export const hash = false;
+
+export const decode = (type, value) => decoders[type](value);
+
+export { default as root } from '../root.js'; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/matchers.js b/.svelte-kit/generated/client/matchers.js
new file mode 100644
index 0000000..f6bd30a
--- /dev/null
+++ b/.svelte-kit/generated/client/matchers.js
@@ -0,0 +1 @@
+export const matchers = {}; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/0.js b/.svelte-kit/generated/client/nodes/0.js
new file mode 100644
index 0000000..fed1375
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/0.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/+layout.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/1.js b/.svelte-kit/generated/client/nodes/1.js
new file mode 100644
index 0000000..bf58bad
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/1.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/2.js b/.svelte-kit/generated/client/nodes/2.js
new file mode 100644
index 0000000..1cb4f85
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/2.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/+page.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/3.js b/.svelte-kit/generated/client/nodes/3.js
new file mode 100644
index 0000000..dc86f74
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/3.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/channel/[id]/+page.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/4.js b/.svelte-kit/generated/client/nodes/4.js
new file mode 100644
index 0000000..fc083af
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/4.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/playlists/+page.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/5.js b/.svelte-kit/generated/client/nodes/5.js
new file mode 100644
index 0000000..9e322be
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/5.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/playlists/[id]/+page.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/6.js b/.svelte-kit/generated/client/nodes/6.js
new file mode 100644
index 0000000..f0df5ad
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/6.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/search/+page.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/7.js b/.svelte-kit/generated/client/nodes/7.js
new file mode 100644
index 0000000..c06163f
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/7.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/subscriptions/+page.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/client/nodes/8.js b/.svelte-kit/generated/client/nodes/8.js
new file mode 100644
index 0000000..6e8ceff
--- /dev/null
+++ b/.svelte-kit/generated/client/nodes/8.js
@@ -0,0 +1 @@
+export { default as component } from "../../../../src/routes/watch/[id]/+page.svelte"; \ No newline at end of file
diff --git a/.svelte-kit/generated/root.js b/.svelte-kit/generated/root.js
new file mode 100644
index 0000000..4d1e892
--- /dev/null
+++ b/.svelte-kit/generated/root.js
@@ -0,0 +1,3 @@
+import { asClassComponent } from 'svelte/legacy';
+import Root from './root.svelte';
+export default asClassComponent(Root); \ No newline at end of file
diff --git a/.svelte-kit/generated/root.svelte b/.svelte-kit/generated/root.svelte
new file mode 100644
index 0000000..0795183
--- /dev/null
+++ b/.svelte-kit/generated/root.svelte
@@ -0,0 +1,68 @@
+<!-- This file is generated by @sveltejs/kit — do not edit it! -->
+<svelte:options runes={true} />
+<script>
+ import { setContext, onMount, tick } from 'svelte';
+ import { browser } from '$app/environment';
+
+ // stores
+ let { stores, page, constructors, components = [], form, data_0 = null, data_1 = null } = $props();
+
+ if (!browser) {
+ // svelte-ignore state_referenced_locally
+ setContext('__svelte__', stores);
+ }
+
+ if (browser) {
+ $effect.pre(() => stores.page.set(page));
+ } else {
+ // svelte-ignore state_referenced_locally
+ stores.page.set(page);
+ }
+ $effect(() => {
+ stores;page;constructors;components;form;data_0;data_1;
+ stores.page.notify();
+ });
+
+ let mounted = $state(false);
+ let navigated = $state(false);
+ let title = $state(null);
+
+ onMount(() => {
+ const unsubscribe = stores.page.subscribe(() => {
+ if (mounted) {
+ navigated = true;
+ tick().then(() => {
+ title = document.title || 'untitled page';
+ });
+ }
+ });
+
+ mounted = true;
+ return unsubscribe;
+ });
+
+ const Pyramid_1=$derived(constructors[1])
+</script>
+
+{#if constructors[1]}
+ {@const Pyramid_0 = constructors[0]}
+ <!-- svelte-ignore binding_property_non_reactive -->
+ <Pyramid_0 bind:this={components[0]} data={data_0} {form} params={page.params}>
+ <!-- svelte-ignore binding_property_non_reactive -->
+ <Pyramid_1 bind:this={components[1]} data={data_1} {form} params={page.params} />
+ </Pyramid_0>
+
+{:else}
+ {@const Pyramid_0 = constructors[0]}
+ <!-- svelte-ignore binding_property_non_reactive -->
+ <Pyramid_0 bind:this={components[0]} data={data_0} {form} params={page.params} />
+
+{/if}
+
+{#if mounted}
+ <div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px">
+ {#if navigated}
+ {title}
+ {/if}
+ </div>
+{/if} \ No newline at end of file
diff --git a/.svelte-kit/generated/server/internal.js b/.svelte-kit/generated/server/internal.js
new file mode 100644
index 0000000..bc65535
--- /dev/null
+++ b/.svelte-kit/generated/server/internal.js
@@ -0,0 +1,53 @@
+
+import root from '../root.js';
+import { set_building, set_prerendering } from '__sveltekit/environment';
+import { set_assets } from '$app/paths/internal/server';
+import { set_manifest, set_read_implementation } from '__sveltekit/server';
+import { set_private_env, set_public_env } from '../../../node_modules/@sveltejs/kit/src/runtime/shared-server.js';
+
+export const options = {
+ app_template_contains_nonce: false,
+ async: false,
+ csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}},
+ csrf_check_origin: true,
+ csrf_trusted_origins: [],
+ embedded: false,
+ env_public_prefix: 'PUBLIC_',
+ env_private_prefix: '',
+ hash_routing: false,
+ hooks: null, // added lazily, via `get_hooks`
+ preload_strategy: "modulepreload",
+ root,
+ service_worker: false,
+ service_worker_options: undefined,
+ templates: {
+ app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"" + assets + "/favicon.png\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n " + head + "\n </head>\n <body data-sveltekit-preload-data=\"hover\">\n <div style=\"display: contents\">" + body + "</div>\n </body>\n</html>\n",
+ error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
+ },
+ version_hash: "v2dt08"
+};
+
+export async function get_hooks() {
+ let handle;
+ let handleFetch;
+ let handleError;
+ let handleValidationError;
+ let init;
+
+
+ let reroute;
+ let transport;
+
+
+ return {
+ handle,
+ handleFetch,
+ handleError,
+ handleValidationError,
+ init,
+ reroute,
+ transport
+ };
+}
+
+export { set_assets, set_building, set_manifest, set_prerendering, set_private_env, set_public_env, set_read_implementation };
diff --git a/.svelte-kit/non-ambient.d.ts b/.svelte-kit/non-ambient.d.ts
new file mode 100644
index 0000000..a76a2ec
--- /dev/null
+++ b/.svelte-kit/non-ambient.d.ts
@@ -0,0 +1,64 @@
+
+// this file is generated — do not edit it
+
+
+declare module "svelte/elements" {
+ export interface HTMLAttributes<T> {
+ 'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null;
+ 'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null;
+ 'data-sveltekit-preload-code'?:
+ | true
+ | ''
+ | 'eager'
+ | 'viewport'
+ | 'hover'
+ | 'tap'
+ | 'off'
+ | undefined
+ | null;
+ 'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null;
+ 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null;
+ 'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null;
+ }
+}
+
+export {};
+
+
+declare module "$app/types" {
+ export interface AppTypes {
+ RouteId(): "/" | "/api" | "/api/channel" | "/api/channel/[id]" | "/api/playlist" | "/api/related" | "/api/related/[id]" | "/api/search" | "/api/trending" | "/api/video" | "/api/video/[id]" | "/channel" | "/channel/[id]" | "/playlists" | "/playlists/[id]" | "/search" | "/subscriptions" | "/watch" | "/watch/[id]";
+ RouteParams(): {
+ "/api/channel/[id]": { id: string };
+ "/api/related/[id]": { id: string };
+ "/api/video/[id]": { id: string };
+ "/channel/[id]": { id: string };
+ "/playlists/[id]": { id: string };
+ "/watch/[id]": { id: string }
+ };
+ LayoutParams(): {
+ "/": { id?: string };
+ "/api": { id?: string };
+ "/api/channel": { id?: string };
+ "/api/channel/[id]": { id: string };
+ "/api/playlist": Record<string, never>;
+ "/api/related": { id?: string };
+ "/api/related/[id]": { id: string };
+ "/api/search": Record<string, never>;
+ "/api/trending": Record<string, never>;
+ "/api/video": { id?: string };
+ "/api/video/[id]": { id: string };
+ "/channel": { id?: string };
+ "/channel/[id]": { id: string };
+ "/playlists": { id?: string };
+ "/playlists/[id]": { id: string };
+ "/search": Record<string, never>;
+ "/subscriptions": Record<string, never>;
+ "/watch": { id?: string };
+ "/watch/[id]": { id: string }
+ };
+ Pathname(): "/" | `/api/channel/${string}` & {} | "/api/playlist" | `/api/related/${string}` & {} | "/api/search" | "/api/trending" | `/api/video/${string}` & {} | `/channel/${string}` & {} | "/playlists" | `/playlists/${string}` & {} | "/search" | "/subscriptions" | `/watch/${string}` & {};
+ ResolvedPathname(): `${"" | `/${string}`}${ReturnType<AppTypes['Pathname']>}`;
+ Asset(): string & {};
+ }
+} \ No newline at end of file
diff --git a/.svelte-kit/tsconfig.json b/.svelte-kit/tsconfig.json
new file mode 100644
index 0000000..7692388
--- /dev/null
+++ b/.svelte-kit/tsconfig.json
@@ -0,0 +1,55 @@
+{
+ "compilerOptions": {
+ "paths": {
+ "$lib": [
+ "../src/lib"
+ ],
+ "$lib/*": [
+ "../src/lib/*"
+ ],
+ "$app/types": [
+ "./types/index.d.ts"
+ ]
+ },
+ "rootDirs": [
+ "..",
+ "./types"
+ ],
+ "verbatimModuleSyntax": true,
+ "isolatedModules": true,
+ "lib": [
+ "esnext",
+ "DOM",
+ "DOM.Iterable"
+ ],
+ "moduleResolution": "bundler",
+ "module": "esnext",
+ "noEmit": true,
+ "target": "esnext"
+ },
+ "include": [
+ "ambient.d.ts",
+ "non-ambient.d.ts",
+ "./types/**/$types.d.ts",
+ "../vite.config.js",
+ "../vite.config.ts",
+ "../src/**/*.js",
+ "../src/**/*.ts",
+ "../src/**/*.svelte",
+ "../test/**/*.js",
+ "../test/**/*.ts",
+ "../test/**/*.svelte",
+ "../tests/**/*.js",
+ "../tests/**/*.ts",
+ "../tests/**/*.svelte"
+ ],
+ "exclude": [
+ "../node_modules/**",
+ "../src/service-worker.js",
+ "../src/service-worker/**/*.js",
+ "../src/service-worker.ts",
+ "../src/service-worker/**/*.ts",
+ "../src/service-worker.d.ts",
+ "../src/service-worker/**/*.d.ts"
+ ]
+} \ No newline at end of file
diff --git a/.svelte-kit/types/route_meta_data.json b/.svelte-kit/types/route_meta_data.json
new file mode 100644
index 0000000..8069098
--- /dev/null
+++ b/.svelte-kit/types/route_meta_data.json
@@ -0,0 +1,27 @@
+{
+ "/": [],
+ "/api/channel/[id]": [
+ "src/routes/api/channel/[id]/+server.ts"
+ ],
+ "/api/playlist": [
+ "src/routes/api/playlist/+server.ts"
+ ],
+ "/api/related/[id]": [
+ "src/routes/api/related/[id]/+server.ts"
+ ],
+ "/api/search": [
+ "src/routes/api/search/+server.ts"
+ ],
+ "/api/trending": [
+ "src/routes/api/trending/+server.ts"
+ ],
+ "/api/video/[id]": [
+ "src/routes/api/video/[id]/+server.ts"
+ ],
+ "/channel/[id]": [],
+ "/playlists": [],
+ "/playlists/[id]": [],
+ "/search": [],
+ "/subscriptions": [],
+ "/watch/[id]": []
+} \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/$types.d.ts b/.svelte-kit/types/src/routes/$types.d.ts
new file mode 100644
index 0000000..8f940ba
--- /dev/null
+++ b/.svelte-kit/types/src/routes/$types.d.ts
@@ -0,0 +1,24 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { };
+type RouteId = '/';
+type MaybeWithVoid<T> = {} extends T ? T | void : T;
+export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
+type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
+type EnsureDefined<T> = T extends null | undefined ? {} : T;
+type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
+export type Snapshot<T = any> = Kit.Snapshot<T>;
+type PageParentData = EnsureDefined<LayoutData>;
+type LayoutRouteId = RouteId | "/" | "/channel/[id]" | "/playlists" | "/playlists/[id]" | "/search" | "/subscriptions" | "/watch/[id]" | null
+type LayoutParams = RouteParams & { id?: string }
+type LayoutParentData = EnsureDefined<{}>;
+
+export type PageServerData = null;
+export type PageData = Expand<PageParentData>;
+export type PageProps = { params: RouteParams; data: PageData }
+export type LayoutServerData = null;
+export type LayoutData = Expand<LayoutParentData>;
+export type LayoutProps = { params: LayoutParams; data: LayoutData; children: import("svelte").Snippet } \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/api/channel/[id]/$types.d.ts b/.svelte-kit/types/src/routes/api/channel/[id]/$types.d.ts
new file mode 100644
index 0000000..0b6f3de
--- /dev/null
+++ b/.svelte-kit/types/src/routes/api/channel/[id]/$types.d.ts
@@ -0,0 +1,11 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { id: string };
+type RouteId = '/api/channel/[id]';
+
+export type EntryGenerator = () => Promise<Array<RouteParams>> | Array<RouteParams>;
+export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
+export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>; \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/api/playlist/$types.d.ts b/.svelte-kit/types/src/routes/api/playlist/$types.d.ts
new file mode 100644
index 0000000..b91f2ee
--- /dev/null
+++ b/.svelte-kit/types/src/routes/api/playlist/$types.d.ts
@@ -0,0 +1,10 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { };
+type RouteId = '/api/playlist';
+
+export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
+export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>; \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/api/related/[id]/$types.d.ts b/.svelte-kit/types/src/routes/api/related/[id]/$types.d.ts
new file mode 100644
index 0000000..a24dedb
--- /dev/null
+++ b/.svelte-kit/types/src/routes/api/related/[id]/$types.d.ts
@@ -0,0 +1,11 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { id: string };
+type RouteId = '/api/related/[id]';
+
+export type EntryGenerator = () => Promise<Array<RouteParams>> | Array<RouteParams>;
+export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
+export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>; \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/api/search/$types.d.ts b/.svelte-kit/types/src/routes/api/search/$types.d.ts
new file mode 100644
index 0000000..4a127e5
--- /dev/null
+++ b/.svelte-kit/types/src/routes/api/search/$types.d.ts
@@ -0,0 +1,10 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { };
+type RouteId = '/api/search';
+
+export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
+export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>; \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/api/trending/$types.d.ts b/.svelte-kit/types/src/routes/api/trending/$types.d.ts
new file mode 100644
index 0000000..c7b3fb9
--- /dev/null
+++ b/.svelte-kit/types/src/routes/api/trending/$types.d.ts
@@ -0,0 +1,10 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { };
+type RouteId = '/api/trending';
+
+export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
+export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>; \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/api/video/[id]/$types.d.ts b/.svelte-kit/types/src/routes/api/video/[id]/$types.d.ts
new file mode 100644
index 0000000..477abba
--- /dev/null
+++ b/.svelte-kit/types/src/routes/api/video/[id]/$types.d.ts
@@ -0,0 +1,11 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { id: string };
+type RouteId = '/api/video/[id]';
+
+export type EntryGenerator = () => Promise<Array<RouteParams>> | Array<RouteParams>;
+export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
+export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>; \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/channel/[id]/$types.d.ts b/.svelte-kit/types/src/routes/channel/[id]/$types.d.ts
new file mode 100644
index 0000000..46c79b1
--- /dev/null
+++ b/.svelte-kit/types/src/routes/channel/[id]/$types.d.ts
@@ -0,0 +1,19 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { id: string };
+type RouteId = '/channel/[id]';
+type MaybeWithVoid<T> = {} extends T ? T | void : T;
+export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
+type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
+type EnsureDefined<T> = T extends null | undefined ? {} : T;
+type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
+export type Snapshot<T = any> = Kit.Snapshot<T>;
+type PageParentData = EnsureDefined<import('../../$types.js').LayoutData>;
+
+export type EntryGenerator = () => Promise<Array<RouteParams>> | Array<RouteParams>;
+export type PageServerData = null;
+export type PageData = Expand<PageParentData>;
+export type PageProps = { params: RouteParams; data: PageData } \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/playlists/$types.d.ts b/.svelte-kit/types/src/routes/playlists/$types.d.ts
new file mode 100644
index 0000000..c58d33a
--- /dev/null
+++ b/.svelte-kit/types/src/routes/playlists/$types.d.ts
@@ -0,0 +1,18 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { };
+type RouteId = '/playlists';
+type MaybeWithVoid<T> = {} extends T ? T | void : T;
+export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
+type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
+type EnsureDefined<T> = T extends null | undefined ? {} : T;
+type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
+export type Snapshot<T = any> = Kit.Snapshot<T>;
+type PageParentData = EnsureDefined<import('../$types.js').LayoutData>;
+
+export type PageServerData = null;
+export type PageData = Expand<PageParentData>;
+export type PageProps = { params: RouteParams; data: PageData } \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/playlists/[id]/$types.d.ts b/.svelte-kit/types/src/routes/playlists/[id]/$types.d.ts
new file mode 100644
index 0000000..34da3e5
--- /dev/null
+++ b/.svelte-kit/types/src/routes/playlists/[id]/$types.d.ts
@@ -0,0 +1,19 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { id: string };
+type RouteId = '/playlists/[id]';
+type MaybeWithVoid<T> = {} extends T ? T | void : T;
+export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
+type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
+type EnsureDefined<T> = T extends null | undefined ? {} : T;
+type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
+export type Snapshot<T = any> = Kit.Snapshot<T>;
+type PageParentData = EnsureDefined<import('../../$types.js').LayoutData>;
+
+export type EntryGenerator = () => Promise<Array<RouteParams>> | Array<RouteParams>;
+export type PageServerData = null;
+export type PageData = Expand<PageParentData>;
+export type PageProps = { params: RouteParams; data: PageData } \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/search/$types.d.ts b/.svelte-kit/types/src/routes/search/$types.d.ts
new file mode 100644
index 0000000..1edc981
--- /dev/null
+++ b/.svelte-kit/types/src/routes/search/$types.d.ts
@@ -0,0 +1,18 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { };
+type RouteId = '/search';
+type MaybeWithVoid<T> = {} extends T ? T | void : T;
+export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
+type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
+type EnsureDefined<T> = T extends null | undefined ? {} : T;
+type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
+export type Snapshot<T = any> = Kit.Snapshot<T>;
+type PageParentData = EnsureDefined<import('../$types.js').LayoutData>;
+
+export type PageServerData = null;
+export type PageData = Expand<PageParentData>;
+export type PageProps = { params: RouteParams; data: PageData } \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/subscriptions/$types.d.ts b/.svelte-kit/types/src/routes/subscriptions/$types.d.ts
new file mode 100644
index 0000000..ffccbab
--- /dev/null
+++ b/.svelte-kit/types/src/routes/subscriptions/$types.d.ts
@@ -0,0 +1,18 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { };
+type RouteId = '/subscriptions';
+type MaybeWithVoid<T> = {} extends T ? T | void : T;
+export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
+type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
+type EnsureDefined<T> = T extends null | undefined ? {} : T;
+type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
+export type Snapshot<T = any> = Kit.Snapshot<T>;
+type PageParentData = EnsureDefined<import('../$types.js').LayoutData>;
+
+export type PageServerData = null;
+export type PageData = Expand<PageParentData>;
+export type PageProps = { params: RouteParams; data: PageData } \ No newline at end of file
diff --git a/.svelte-kit/types/src/routes/watch/[id]/$types.d.ts b/.svelte-kit/types/src/routes/watch/[id]/$types.d.ts
new file mode 100644
index 0000000..5b87eac
--- /dev/null
+++ b/.svelte-kit/types/src/routes/watch/[id]/$types.d.ts
@@ -0,0 +1,19 @@
+import type * as Kit from '@sveltejs/kit';
+
+type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
+// @ts-ignore
+type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
+type RouteParams = { id: string };
+type RouteId = '/watch/[id]';
+type MaybeWithVoid<T> = {} extends T ? T | void : T;
+export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
+type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
+type EnsureDefined<T> = T extends null | undefined ? {} : T;
+type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
+export type Snapshot<T = any> = Kit.Snapshot<T>;
+type PageParentData = EnsureDefined<import('../../$types.js').LayoutData>;
+
+export type EntryGenerator = () => Promise<Array<RouteParams>> | Array<RouteParams>;
+export type PageServerData = null;
+export type PageData = Expand<PageParentData>;
+export type PageProps = { params: RouteParams; data: PageData } \ No newline at end of file