diff --git a/web/src/lib/components/add-media-card.svelte b/web/src/lib/components/add-media-card.svelte
index 0a6830b..dc4ad51 100644
--- a/web/src/lib/components/add-media-card.svelte
+++ b/web/src/lib/components/add-media-card.svelte
@@ -1,102 +1,100 @@
-
-
- {result.name}
- {#if result.year != null}
- ({result.year})
- {/if}
-
- {result.overview !== '' ? result.overview : 'No overview available'}
-
-
- {#if result.poster_path != null}
-
- {:else}
-
-
-
- {/if}
-
-
- addMedia()}
- >
- {#if loading}
- Loading...
- {:else}
- {result.added ? 'Show already exists' : `Add ${isShow ? 'Show' : 'Movie'}`}
- {/if}
-
-
- {#if result.vote_average != null}
+
+
+ {result.name}
+ {#if result.year != null}
+ ({result.year})
+ {/if}
+
+ {result.overview !== '' ? result.overview : 'No overview available'}
+
+
+ {#if result.poster_path != null}
+
+ {:else}
+
+
+
+ {/if}
+
+
+ addMedia()}
+ >
+ {#if loading}
+ Loading...
+ {:else}
+ {result.added ? 'Show already exists' : `Add ${isShow ? 'Show' : 'Movie'}`}
+ {/if}
+
+
+ {#if result.vote_average != null}
+ >
Rating: {Math.round(result.vote_average)}/10
- {/if}
-
- {#if errorMessage}
- {errorMessage}
- {/if}
-
+ {/if}
+
+ {#if errorMessage}
+ {errorMessage}
+ {/if}
+
diff --git a/web/src/lib/components/download-movie-dialog.svelte b/web/src/lib/components/download-movie-dialog.svelte
index 691f667..db89fe6 100644
--- a/web/src/lib/components/download-movie-dialog.svelte
+++ b/web/src/lib/components/download-movie-dialog.svelte
@@ -1,162 +1,160 @@
-{#snippet saveDirectoryPreview(movie: components["schemas"]["Movie"], filePathSuffix: string)}
- /{getFullyQualifiedMediaName(movie)} [{movie.metadata_provider}id-{movie.external_id}
- ]/{movie.name}{filePathSuffix === '' ? '' : ' - ' + filePathSuffix}.mkv
+{#snippet saveDirectoryPreview(movie: components['schemas']['Movie'], filePathSuffix: string)}
+ /{getFullyQualifiedMediaName(movie)} [{movie.metadata_provider}id-{movie.external_id}
+ ]/{movie.name}{filePathSuffix === '' ? '' : ' - ' + filePathSuffix}.mkv
{/snippet}
- Download Movie
-
-
- Download a Movie
-
- Search and download torrents for a specific season or season packs.
-
-
-
-
- Standard Mode
- Advanced Mode
-
-
-
-
Filepath suffix
-
- {filePathSuffix}
-
- None
- 2160p
- 1080p
- 720p
- 480p
- 360p
-
-
-
- This is necessary to differentiate between versions of the same movie, for example a
- 1080p and a 4K version.
-
-
The files will be saved in the following directory:
-
- {@render saveDirectoryPreview(movie, filePathSuffix)}
-
-
-
-
-
-
Enter a custom query
-
-
-
{
+ Download Movie
+
+
+ Download a Movie
+
+ Search and download torrents for a specific season or season packs.
+
+
+
+
+ Standard Mode
+ Advanced Mode
+
+
+
+
Filepath suffix
+
+ {filePathSuffix}
+
+ None
+ 2160p
+ 1080p
+ 720p
+ 480p
+ 360p
+
+
+
+ This is necessary to differentiate between versions of the same movie, for example a
+ 1080p and a 4K version.
+
+
The files will be saved in the following directory:
+
+ {@render saveDirectoryPreview(movie, filePathSuffix)}
+
+
+
+
+
+
Enter a custom query
+
+
+ {
isLoadingTorrents = true;
torrentsError = null;
torrents = [];
@@ -168,90 +166,90 @@
isLoadingTorrents = false;
}
}}
- variant="secondary"
- >
- Search
-
-
-
- The custom query will override the default search string like "A Minecraft Movie
- (2025)".
-
-
Filepath suffix
-
-
- This is necessary to differentiate between versions of the same movie, for example a
- 1080p and a 4K version.
-
+ variant="secondary"
+ >
+ Search
+
+
+
+ The custom query will override the default search string like "A Minecraft Movie
+ (2025)".
+
+ Filepath suffix
+
+
+ This is necessary to differentiate between versions of the same movie, for example a
+ 1080p and a 4K version.
+
- The files will be saved in the following directory:
-
- {@render saveDirectoryPreview(movie, filePathSuffix)}
-
-
-
-
-
- {#if isLoadingTorrents}
-
-
-
Loading torrents...
-
- {:else if torrentsError}
-
Error: {torrentsError}
- {:else if torrents.length > 0}
-
Found Torrents:
-
-
-
-
- Title
- Size
- Seeders
- Score
- Indexer Flags
- Actions
-
-
-
- {#each torrents as torrent (torrent.id)}
-
- {torrent.title}
- {(torrent.size / 1024 / 1024 / 1024).toFixed(2)}GB
- {torrent.seeders}
- {torrent.score}
-
- {#each torrent.flags as flag (flag)}
- {flag}
- {/each}
-
-
- {
+ The files will be saved in the following directory:
+
+ {@render saveDirectoryPreview(movie, filePathSuffix)}
+
+
+
+
+
+ {#if isLoadingTorrents}
+
+
+
Loading torrents...
+
+ {:else if torrentsError}
+
Error: {torrentsError}
+ {:else if torrents.length > 0}
+
Found Torrents:
+
+
+
+
+ Title
+ Size
+ Seeders
+ Score
+ Indexer Flags
+ Actions
+
+
+
+ {#each torrents as torrent (torrent.id)}
+
+ {torrent.title}
+ {(torrent.size / 1024 / 1024 / 1024).toFixed(2)}GB
+ {torrent.seeders}
+ {torrent.score}
+
+ {#each torrent.flags as flag (flag)}
+ {flag}
+ {/each}
+
+
+ {
downloadTorrent(torrent.id);
}}
- >
- Download
-
-
-
- {/each}
-
-
-
- {:else}
-
No torrents found!
- {/if}
-
-
+ >
+ Download
+
+
+
+ {/each}
+
+
+
+ {:else}
+
No torrents found!
+ {/if}
+
+
diff --git a/web/src/lib/components/download-season-dialog.svelte b/web/src/lib/components/download-season-dialog.svelte
index 943254c..41a44e2 100644
--- a/web/src/lib/components/download-season-dialog.svelte
+++ b/web/src/lib/components/download-season-dialog.svelte
@@ -92,10 +92,7 @@
}
-{#snippet saveDirectoryPreview(
- show: components['schemas']['Show'],
- filePathSuffix: string
-)}
+{#snippet saveDirectoryPreview(show: components['schemas']['Show'], filePathSuffix: string)}
/{getFullyQualifiedMediaName(show)} [{show.metadata_provider}id-{show.external_id}]/ Season XX/{show.name}
SXXEXX {filePathSuffix === '' ? '' : ' - ' + filePathSuffix}.mkv
{/snippet}
diff --git a/web/src/lib/components/library-combobox.svelte b/web/src/lib/components/library-combobox.svelte
index 52d4a48..0f050f5 100644
--- a/web/src/lib/components/library-combobox.svelte
+++ b/web/src/lib/components/library-combobox.svelte
@@ -1,126 +1,122 @@
-
- {#snippet child({props})}
-
- Select Library
-
-
- {/snippet}
-
-
-
-
-
- No library found.
-
- {#each libraries as item (item.name)}
- {
+
+ {#snippet child({ props })}
+
+ Select Library
+
+
+ {/snippet}
+
+
+
+
+
+ No library found.
+
+ {#each libraries as item (item.name)}
+ {
value = item.name;
handleSelect();
closeAndFocusTrigger();
}}
- >
-
- {item.name}
-
- {/each}
-
-
-
-
+ >
+
+ {item.name}
+
+ {/each}
+
+
+
+
diff --git a/web/src/lib/components/login-card.svelte b/web/src/lib/components/login-card.svelte
index 7e48823..87bf6e6 100644
--- a/web/src/lib/components/login-card.svelte
+++ b/web/src/lib/components/login-card.svelte
@@ -1,151 +1,146 @@
-
- Login
- Enter your email below to log in to your account
-
-
-
diff --git a/web/src/lib/components/recommended-media-carousel.svelte b/web/src/lib/components/recommended-media-carousel.svelte
index 92cb71f..5932d5d 100644
--- a/web/src/lib/components/recommended-media-carousel.svelte
+++ b/web/src/lib/components/recommended-media-carousel.svelte
@@ -1,11 +1,10 @@
- {
+ {
dialogOpen = true;
}}
- >
- Request Movie
-
-
-
- Request {getFullyQualifiedMediaName(movie)}
- Select desired qualities to submit a request.
-
-
-
-
- Min Quality
-
-
- {minQuality ? getTorrentQualityString(parseInt(minQuality)) : 'Select Minimum Quality'}
-
-
- {#each qualityOptions as option (option.value)}
- {option.label}
- {/each}
-
-
-
+ >
+ Request Movie
+
+
+
+ Request {getFullyQualifiedMediaName(movie)}
+ Select desired qualities to submit a request.
+
+
+
+
+ Min Quality
+
+
+ {minQuality ? getTorrentQualityString(parseInt(minQuality)) : 'Select Minimum Quality'}
+
+
+ {#each qualityOptions as option (option.value)}
+ {option.label}
+ {/each}
+
+
+
-
-
- Wanted Quality
-
-
- {wantedQuality
- ? getTorrentQualityString(parseInt(wantedQuality))
- : 'Select Wanted Quality'}
-
-
- {#each qualityOptions as option (option.value)}
- {option.label}
- {/each}
-
-
-
+
+
+ Wanted Quality
+
+
+ {wantedQuality
+ ? getTorrentQualityString(parseInt(wantedQuality))
+ : 'Select Wanted Quality'}
+
+
+ {#each qualityOptions as option (option.value)}
+ {option.label}
+ {/each}
+
+
+
- {#if submitRequestError}
-
{submitRequestError}
- {/if}
-
-
- (dialogOpen = false)} variant="outline"
- >Cancel
-
-
- {#if isSubmittingRequest}
-
- Submitting...
- {:else}
- Submit Request
- {/if}
-
-
-
+ {#if submitRequestError}
+
{submitRequestError}
+ {/if}
+
+
+ (dialogOpen = false)} variant="outline"
+ >Cancel
+
+
+ {#if isSubmittingRequest}
+
+ Submitting...
+ {:else}
+ Submit Request
+ {/if}
+
+
+
diff --git a/web/src/lib/components/request-season-dialog.svelte b/web/src/lib/components/request-season-dialog.svelte
index 44dfcbc..2b75403 100644
--- a/web/src/lib/components/request-season-dialog.svelte
+++ b/web/src/lib/components/request-season-dialog.svelte
@@ -1,16 +1,14 @@
-
-
-
-
Trending Shows
-
+
+
+
+
Trending Shows
+
- Trending Movies
-
-
-
+ Trending Movies
+
+
+
-
-
-
-
- Unread Notifications
- {#if unreadNotifications.length > 0}:
- {unreadNotifications.length}
- {/if}
-
-
+ {#if loading}
+
+ {:else}
+
+
+
+
+ Unread Notifications
+ {#if unreadNotifications.length > 0}:
+ {unreadNotifications.length}
+ {/if}
+
+
- {#if unreadNotifications.length === 0}
-
-
All caught up!
-
No unread notifications
-
- {:else}
-
- {#each unreadNotifications as notification (notification.id)}
-
-
-
-
-
- {notification.message}
-
-
- {new Date(notification.timestamp ?? 0).toLocaleDateString()}
-
-
-
-
-
markAsRead(notification.id ?? '')}
- class="rounded-lg p-2 text-blue-600 transition-colors hover:bg-blue-100 dark:hover:bg-blue-800"
- title="Mark as read"
- variant="outline"
- >
-
-
-
-
-
-
-
- {/each}
-
- {/if}
-
+ {#if unreadNotifications.length === 0}
+
+
All caught up!
+
No unread notifications
+
+ {:else}
+
+ {#each unreadNotifications as notification (notification.id)}
+
+
+
+
+
+ {notification.message}
+
+
+ {new Date(notification.timestamp ?? 0).toLocaleDateString()}
+
+
+
+
+
markAsRead(notification.id ?? '')}
+ class="rounded-lg p-2 text-blue-600 transition-colors hover:bg-blue-100 dark:hover:bg-blue-800"
+ title="Mark as read"
+ variant="outline"
+ >
+
+
+
+
+
+
+
+ {/each}
+
+ {/if}
+
-
-
-
(showRead = !showRead)}
- class="flex items-center gap-2 text-gray-600 transition-colors hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"
- >
-
-
-
- Read Notifications ({readNotifications.length})
-
-
+
+
+
(showRead = !showRead)}
+ class="flex items-center gap-2 text-gray-600 transition-colors hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"
+ >
+
+
+
+ Read Notifications ({readNotifications.length})
+
+
-
- {#if showRead}
-
- {#if readNotifications.length === 0}
-
-
No read notifications
-
- {:else}
-
- {#each readNotifications as notification (notification.id)}
-
-
-
-
-
- {notification.message}
-
-
- {new Date(notification.timestamp ?? 0).toLocaleDateString()}
-
-
-
-
-
markAsUnread(notification.id ?? '')}
- class="rounded-lg p-2 text-blue-600 transition-colors hover:bg-blue-100 dark:hover:bg-blue-800"
- title="Mark as unread"
- variant="outline"
- >
-
-
-
-
-
-
-
- {/each}
-
- {/if}
-
- {/if}
- {/if}
+
+ {#if showRead}
+
+ {#if readNotifications.length === 0}
+
+
No read notifications
+
+ {:else}
+
+ {#each readNotifications as notification (notification.id)}
+
+
+
+
+
+ {notification.message}
+
+
+ {new Date(notification.timestamp ?? 0).toLocaleDateString()}
+
+
+
+
+
markAsUnread(notification.id ?? '')}
+ class="rounded-lg p-2 text-blue-600 transition-colors hover:bg-blue-100 dark:hover:bg-blue-800"
+ title="Mark as unread"
+ variant="outline"
+ >
+
+
+
+
+
+
+
+ {/each}
+
+ {/if}
+
+ {/if}
+ {/if}
diff --git a/web/src/routes/dashboard/settings/+page.ts b/web/src/routes/dashboard/settings/+page.ts
index 5d0d5e5..7d963e1 100644
--- a/web/src/routes/dashboard/settings/+page.ts
+++ b/web/src/routes/dashboard/settings/+page.ts
@@ -1,12 +1,10 @@
-import {env} from '$env/dynamic/public';
-import type {PageLoad} from './$types';
-import client from "$lib/api";
+import type { PageLoad } from './$types';
+import client from '$lib/api';
-const apiUrl = env.PUBLIC_API_URL;
-export const load: PageLoad = async ({fetch}) => {
- const {data} = await client.GET('/api/v1/users/all', {fetch: fetch});
+export const load: PageLoad = async ({ fetch }) => {
+ const { data } = await client.GET('/api/v1/users/all', { fetch: fetch });
- return {
- users: data
- };
+ return {
+ users: data
+ };
};
diff --git a/web/src/routes/dashboard/tv/+page.svelte b/web/src/routes/dashboard/tv/+page.svelte
index 0347e23..ccd95bb 100644
--- a/web/src/routes/dashboard/tv/+page.svelte
+++ b/web/src/routes/dashboard/tv/+page.svelte
@@ -1,64 +1,64 @@
- TV Shows - MediaManager
-
+ TV Shows - MediaManager
+
-
-
-
-
-
-
- MediaManager
-
-
-
- Home
-
-
-
- Shows
-
-
-
-
+
+
+
+
+
+
+ MediaManager
+
+
+
+ Home
+
+
+
+ Shows
+
+
+
+
-
-
+
+
diff --git a/web/src/routes/dashboard/tv/+page.ts b/web/src/routes/dashboard/tv/+page.ts
index 1812c0f..15c7172 100644
--- a/web/src/routes/dashboard/tv/+page.ts
+++ b/web/src/routes/dashboard/tv/+page.ts
@@ -1,9 +1,7 @@
-import {env} from '$env/dynamic/public';
import client from '$lib/api';
-import type {PageLoad} from './$types';
+import type { PageLoad } from './$types';
-
-export const load: PageLoad = async ({fetch}) => {
- const {data} = await client.GET('/api/v1/tv/shows', {fetch: fetch});
- return {tvShows: data};
+export const load: PageLoad = async ({ fetch }) => {
+ const { data } = await client.GET('/api/v1/tv/shows', { fetch: fetch });
+ return { tvShows: data };
};
diff --git a/web/src/routes/dashboard/tv/[showId=uuid]/+layout.ts b/web/src/routes/dashboard/tv/[showId=uuid]/+layout.ts
index 354a9cf..c551adc 100644
--- a/web/src/routes/dashboard/tv/[showId=uuid]/+layout.ts
+++ b/web/src/routes/dashboard/tv/[showId=uuid]/+layout.ts
@@ -1,20 +1,18 @@
-import {env} from '$env/dynamic/public';
-import type {LayoutLoad} from './$types';
-import client from "$lib/api";
+import type { LayoutLoad } from './$types';
+import client from '$lib/api';
-const apiUrl = env.PUBLIC_API_URL;
-export const load: LayoutLoad = async ({params, fetch}) => {
- const show = await client.GET('/api/v1/tv/shows/{show_id}', {
- fetch: fetch,
- params: {path: {show_id: params.showId}}
- });
- const torrents = await client.GET('/api/v1/tv/shows/{show_id}/torrents', {
- fetch: fetch,
- params: {path: {show_id: params.showId}}
- });
+export const load: LayoutLoad = async ({ params, fetch }) => {
+ const show = await client.GET('/api/v1/tv/shows/{show_id}', {
+ fetch: fetch,
+ params: { path: { show_id: params.showId } }
+ });
+ const torrents = await client.GET('/api/v1/tv/shows/{show_id}/torrents', {
+ fetch: fetch,
+ params: { path: { show_id: params.showId } }
+ });
- return {
- showData: show.data,
- torrentsData: torrents.data
- };
+ return {
+ showData: show.data,
+ torrentsData: torrents.data
+ };
};
diff --git a/web/src/routes/dashboard/tv/[showId=uuid]/+page.svelte b/web/src/routes/dashboard/tv/[showId=uuid]/+page.svelte
index 1a2a1bb..da5d9d4 100644
--- a/web/src/routes/dashboard/tv/[showId=uuid]/+page.svelte
+++ b/web/src/routes/dashboard/tv/[showId=uuid]/+page.svelte
@@ -1,211 +1,209 @@
- {getFullyQualifiedMediaName(show())} - MediaManager
-
+ name="description"
+ />
-
-
-
-
-
-
- MediaManager
-
-
-
- Home
-
-
-
- Shows
-
-
-
- {getFullyQualifiedMediaName(show())}
-
-
-
-
+
+
+
+
+
+
+ MediaManager
+
+
+
+ Home
+
+
+
+ Shows
+
+
+
+ {getFullyQualifiedMediaName(show())}
+
+
+
+
-
-
- {#if show().id}
-
- {:else}
-
-
-
- {/if}
-
-
-
-
- Overview
-
-
-
- {show().overview}
-
-
-
-
-
- {#if user().is_superuser}
-
-
- Administrator Controls
-
-
- {#if !show().ended}
-
- continuousDownloadEnabled, toggle_continuous_download}
- id="continuous-download-checkbox"
- />
-
- Enable automatic download of future seasons
-
-
- {/if}
-
-
-
- {/if}
-
-
- Download Options
-
-
- {#if user().is_superuser}
-
- {/if}
-
-
-
-
-
-
-
-
- Season Details
-
- A list of all seasons for {getFullyQualifiedMediaName(show())}.
-
-
-
-
- A list of all seasons.
-
-
- Number
- Exists on file
- Title
- Overview
-
-
-
- {#if show().seasons.length > 0}
- {#each show().seasons as season (season.id)}
- goto(base + '/dashboard/tv/' + show().id + '/' + season.id)}
- >
- {season.number}
-
-
-
- {season.name}
- {season.overview}
-
- {/each}
- {:else}
-
- No season data available.
-
- {/if}
-
-
-
-
-
-
-
-
- Torrent Information
- A list of all torrents associated with this show.
-
+
+
+ {#if show().id}
+
+ {:else}
+
+
+
+ {/if}
+
+
+
+
+ Overview
+
+
+
+ {show().overview}
+
+
+
+
+
+ {#if user().is_superuser}
+
+
+ Administrator Controls
+
+
+ {#if !show().ended}
+
+ continuousDownloadEnabled, toggle_continuous_download}
+ id="continuous-download-checkbox"
+ />
+
+ Enable automatic download of future seasons
+
+
+ {/if}
+
+
+
+ {/if}
+
+
+ Download Options
+
+
+ {#if user().is_superuser}
+
+ {/if}
+
+
+
+
+
+
+
+
+ Season Details
+
+ A list of all seasons for {getFullyQualifiedMediaName(show())}.
+
+
+
+
+ A list of all seasons.
+
+
+ Number
+ Exists on file
+ Title
+ Overview
+
+
+
+ {#if show().seasons.length > 0}
+ {#each show().seasons as season (season.id)}
+ goto(base + '/dashboard/tv/' + show().id + '/' + season.id)}
+ >
+ {season.number}
+
+
+
+ {season.name}
+ {season.overview}
+
+ {/each}
+ {:else}
+
+ No season data available.
+
+ {/if}
+
+
+
+
+
+
+
+
+ Torrent Information
+ A list of all torrents associated with this show.
+
-
-
-
-
-
+
+
+
+
+
diff --git a/web/src/routes/dashboard/tv/[showId=uuid]/[SeasonId=uuid]/+page.ts b/web/src/routes/dashboard/tv/[showId=uuid]/[SeasonId=uuid]/+page.ts
index 9ff5982..f32b960 100644
--- a/web/src/routes/dashboard/tv/[showId=uuid]/[SeasonId=uuid]/+page.ts
+++ b/web/src/routes/dashboard/tv/[showId=uuid]/[SeasonId=uuid]/+page.ts
@@ -1,8 +1,5 @@
-import { env } from '$env/dynamic/public';
import type { PageLoad } from './$types';
-import client from "$lib/api";
-
-const apiUrl = env.PUBLIC_API_URL;
+import client from '$lib/api';
export const load: PageLoad = async ({ fetch, params }) => {
const season = await client.GET('/api/v1/tv/seasons/{season_id}', {
@@ -10,7 +7,7 @@ export const load: PageLoad = async ({ fetch, params }) => {
params: {
path: {
season_id: params.SeasonId
- },
+ }
}
});
const seasonFiles = await client.GET('/api/v1/tv/seasons/{season_id}/files', {
@@ -18,7 +15,7 @@ export const load: PageLoad = async ({ fetch, params }) => {
params: {
path: {
season_id: params.SeasonId
- },
+ }
}
});
return {
diff --git a/web/src/routes/dashboard/tv/add-show/+page.svelte b/web/src/routes/dashboard/tv/add-show/+page.svelte
index 83e65ad..151161d 100644
--- a/web/src/routes/dashboard/tv/add-show/+page.svelte
+++ b/web/src/routes/dashboard/tv/add-show/+page.svelte
@@ -1,134 +1,134 @@
- Add TV Show - MediaManager
-
+ Add TV Show - MediaManager
+
-
-
-
-
-
-
- MediaManager
-
-
-
- Home
-
-
-
- Shows
-
-
-
- Add a Show
-
-
-
-
+
+
+
+
+
+
+ MediaManager
+
+
+
+ Home
+
+
+
+ Shows
+
+
+
+ Add a Show
+
+
+
+
-
-
-
-
-
-
-
-
Advanced Settings
-
-
- Toggle
-
-
-
-
- Choose which Metadata Provider to query.
-
-
-
- TMDB (Recommended)
-
-
-
- TVDB
-
-
-
-
-
-
- search(searchTerm)} type="submit">Search
-
-
+
+
+
+
+
+
+
+
Advanced Settings
+
+
+ Toggle
+
+
+
+
+ Choose which Metadata Provider to query.
+
+
+
+ TMDB (Recommended)
+
+
+
+ TVDB
+
+
+
+
+
+
+ search(searchTerm)} type="submit">Search
+
+
-
+
- {#if data && data.length === 0}
- No Shows found.
- {:else if data}
- No Shows found.
+ {:else if data}
+
- {#each data as dataItem (dataItem.external_id)}
-
- {/each}
-
- {/if}
+ >
+ {#each data as dataItem (dataItem.external_id)}
+
+ {/each}
+
+ {/if}
diff --git a/web/src/routes/dashboard/tv/requests/+layout.ts b/web/src/routes/dashboard/tv/requests/+layout.ts
index 56785e5..2a2c696 100644
--- a/web/src/routes/dashboard/tv/requests/+layout.ts
+++ b/web/src/routes/dashboard/tv/requests/+layout.ts
@@ -1,10 +1,8 @@
-import { env } from '$env/dynamic/public';
import type { LayoutLoad } from './$types';
-import client from "$lib/api";
+import client from '$lib/api';
-const apiUrl = env.PUBLIC_API_URL;
export const load: LayoutLoad = async ({ fetch }) => {
- const { data, error } = await client.GET('/api/v1/tv/seasons/requests', { fetch: fetch });
+ const { data } = await client.GET('/api/v1/tv/seasons/requests', { fetch: fetch });
return {
requestsData: data
};
diff --git a/web/src/routes/dashboard/tv/torrents/+page.ts b/web/src/routes/dashboard/tv/torrents/+page.ts
index 5fcce98..112e143 100644
--- a/web/src/routes/dashboard/tv/torrents/+page.ts
+++ b/web/src/routes/dashboard/tv/torrents/+page.ts
@@ -1,7 +1,5 @@
-import { env } from '$env/dynamic/public';
import type { PageLoad } from './$types';
-import client from "$lib/api";
-
+import client from '$lib/api';
export const load: PageLoad = async ({ fetch }) => {
const { data } = await client.GET('/api/v1/tv/shows/torrents', { fetch: fetch });
diff --git a/web/src/routes/login/forgot-password/+page.svelte b/web/src/routes/login/forgot-password/+page.svelte
index 7d99e36..c9f7aa3 100644
--- a/web/src/routes/login/forgot-password/+page.svelte
+++ b/web/src/routes/login/forgot-password/+page.svelte
@@ -1,114 +1,112 @@
- Forgot Password - MediaManager
-
+ Forgot Password - MediaManager
+
-
- Forgot Password
-
- {#if isSuccess}
- We've sent a password reset link to your email address if a SMTP server is configured. Check
- your inbox and follow the instructions to reset your password. If you didn't receive an
- email, please contact an administrator, the reset link will be in the logs of MediaManager.
- {:else}
- Enter your email address and we'll send you a link to reset your password.
- {/if}
-
-
-
- {#if isSuccess}
-
-
-
- Password reset email sent successfully!
-
-
-
-
Didn't receive the email? Check your spam folder or
-
{
+
+ Forgot Password
+
+ {#if isSuccess}
+ We've sent a password reset link to your email address if a SMTP server is configured. Check
+ your inbox and follow the instructions to reset your password. If you didn't receive an
+ email, please contact an administrator, the reset link will be in the logs of MediaManager.
+ {:else}
+ Enter your email address and we'll send you a link to reset your password.
+ {/if}
+
+
+
+ {#if isSuccess}
+
+
+
+ Password reset email sent successfully!
+
+
+
+
Didn't receive the email? Check your spam folder or
+
{
isSuccess = false;
email = '';
}}
- >
- try again
-
-
-
- {:else}
-
-
- Email
-
-
-
- {#if isLoading}
- Sending Reset Email...
- {:else}
- Send Reset Email
- {/if}
-
-
- {/if}
-
-
+ >
+ try again
+
+
+
+ {:else}
+
+
+ Email
+
+
+
+ {#if isLoading}
+ Sending Reset Email...
+ {:else}
+ Send Reset Email
+ {/if}
+
+
+ {/if}
+
+
diff --git a/web/src/routes/login/reset-password/+page.svelte b/web/src/routes/login/reset-password/+page.svelte
index 23fd874..f1723bb 100644
--- a/web/src/routes/login/reset-password/+page.svelte
+++ b/web/src/routes/login/reset-password/+page.svelte
@@ -1,120 +1,118 @@
- Reset Password - MediaManager
-
+ Reset Password - MediaManager
+
-
- Reset Password
- Enter your new password below.
-
-
-
-
- New Password
-
-
-
- Confirm Password
-
-
-
- {#if isLoading}
- Resetting Password...
- {:else}
- Reset Password
- {/if}
-
-
-
-
+
+ Reset Password
+ Enter your new password below.
+
+
+
+
+ New Password
+
+
+
+ Confirm Password
+
+
+
+ {#if isLoading}
+ Resetting Password...
+ {:else}
+ Reset Password
+ {/if}
+
+
+
+