diff --git a/web/src/lib/components/add-media-card.svelte b/web/src/lib/components/add-media-card.svelte index a86cf74..d813849 100644 --- a/web/src/lib/components/add-media-card.svelte +++ b/web/src/lib/components/add-media-card.svelte @@ -1,16 +1,17 @@ diff --git a/web/src/lib/components/recommended-media-carousel.svelte b/web/src/lib/components/recommended-media-carousel.svelte index e657e32..c5d7e15 100644 --- a/web/src/lib/components/recommended-media-carousel.svelte +++ b/web/src/lib/components/recommended-media-carousel.svelte @@ -1,29 +1,32 @@ -
+
{#if isLoading} - - - - - {:else } + + + + {:else} {#each media.slice(0, 3) as mediaItem} - + {/each} {/if} {#if isShow} @@ -31,11 +34,10 @@ More recommendations - {:else } + {:else} {/if}
- diff --git a/web/src/lib/components/request-movie-dialog.svelte b/web/src/lib/components/request-movie-dialog.svelte index da934a6..7a587c6 100644 --- a/web/src/lib/components/request-movie-dialog.svelte +++ b/web/src/lib/components/request-movie-dialog.svelte @@ -5,7 +5,7 @@ import {Label} from '$lib/components/ui/label'; import * as Select from '$lib/components/ui/select/index.js'; import LoaderCircle from '@lucide/svelte/icons/loader-circle'; - import type {CreateSeasonRequest, PublicMovie, PublicShow, Quality} from '$lib/types.js'; + import type {PublicMovie, Quality} from '$lib/types.js'; import {getFullyQualifiedMediaName, getTorrentQualityString} from '$lib/utils.js'; import {toast} from 'svelte-sonner'; @@ -21,11 +21,7 @@ let qualityOptions = $derived( qualityValues.map((q) => ({value: q, label: getTorrentQualityString(q)})) ); - let isFormInvalid = $derived( - !minQuality || - !wantedQuality || - wantedQuality > minQuality - ); + let isFormInvalid = $derived(!minQuality || !wantedQuality || wantedQuality > minQuality); async function handleRequestMovie() { isSubmittingRequest = true; @@ -78,9 +74,7 @@ Request {getFullyQualifiedMediaName(movie)} - - Select desired qualities to submit a request. - + Select desired qualities to submit a request.
diff --git a/web/src/lib/components/season-requests-table.svelte b/web/src/lib/components/season-requests-table.svelte index c8b874b..a7fe08a 100644 --- a/web/src/lib/components/season-requests-table.svelte +++ b/web/src/lib/components/season-requests-table.svelte @@ -17,13 +17,17 @@ return true; }, isShow = true - }: { requests: SeasonRequest[]; filter: (request: SeasonRequest) => boolean, isShow: boolean } = $props(); + }: { + requests: SeasonRequest[]; + filter: (request: SeasonRequest) => boolean; + isShow: boolean; + } = $props(); const user: () => User = getContext('user'); async function approveRequest(requestId: string, currentAuthorizedStatus: boolean) { try { const response = await fetch( - `${apiUrl}${isShow ? "/tv/seasons" : "/movies"}/requests/${requestId}?authorized_status=${!currentAuthorizedStatus}`, + `${apiUrl}${isShow ? '/tv/seasons' : '/movies'}/requests/${requestId}?authorized_status=${!currentAuthorizedStatus}`, { method: 'PATCH', headers: { @@ -58,13 +62,16 @@ async function deleteRequest(requestId: string) { try { - const response = await fetch(`${apiUrl}${isShow ? "/tv/seasons" : "/movies"}/requests/${requestId}`, { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json' - }, - credentials: 'include' - }); + const response = await fetch( + `${apiUrl}${isShow ? '/tv/seasons' : '/movies'}/requests/${requestId}`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json' + }, + credentials: 'include' + } + ); if (response.ok) { const index = requests.findIndex((r) => r.id === requestId); @@ -89,7 +96,7 @@ A list of all requests. - {isShow ? "Show" : "Movie"} + {isShow ? 'Show' : 'Movie'} {#if isShow} Season {/if} @@ -108,10 +115,8 @@ {#if isShow} {getFullyQualifiedMediaName(request.show)} - {:else} {getFullyQualifiedMediaName(request.movie)} - {/if} {#if isShow} @@ -163,7 +168,6 @@ Download manually {/if} - {/if} {#if user().is_superuser || user().id === request.requested_by?.id}