feat: Updated library page to use new data store

This commit is contained in:
Aleksi Lassila
2023-08-29 21:05:45 +03:00
parent b5c39c656d
commit 81e3883485
22 changed files with 599 additions and 854 deletions

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { getDiskSpace } from '$lib/apis/radarr/radarrApi';
import { library } from '$lib/stores/library.store';
import { radarrMoviesStore } from '$lib/stores/data.store';
import { settings } from '$lib/stores/settings.store';
import { formatSize } from '$lib/utils.js';
import RadarrIcon from '../svgs/RadarrIcon.svelte';
@@ -11,24 +11,15 @@
async function fetchStats() {
const discSpacePromise = getDiskSpace();
const { itemsArray } = await $library;
const availableMovies = itemsArray.filter(
(item) =>
!item.download &&
item.radarrMovie &&
item.radarrMovie.isAvailable &&
item.radarrMovie.movieFile
);
const radarrMovies = await radarrMoviesStore.promise;
const availableMovies = radarrMovies.filter((item) => item.isAvailable && item.movieFile);
const diskSpaceInfo =
(await discSpacePromise).find((disk) => disk.path === '/') ||
(await discSpacePromise)[0] ||
undefined;
const spaceOccupied = availableMovies.reduce(
(acc, movie) => acc + (movie.radarrMovie?.sizeOnDisk || 0),
0
);
const spaceOccupied = availableMovies.reduce((acc, movie) => acc + (movie?.sizeOnDisk || 0), 0);
return {
moviesCount: availableMovies.length,

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { getDiskSpace } from '$lib/apis/sonarr/sonarrApi';
import { library } from '$lib/stores/library.store';
import { sonarrSeriesStore } from '$lib/stores/data.store';
import { settings } from '$lib/stores/settings.store';
import { formatSize } from '$lib/utils.js';
import SonarrIcon from '../svgs/SonarrIcon.svelte';
@@ -11,10 +11,8 @@
async function fetchStats() {
const discSpacePromise = getDiskSpace();
const { itemsArray } = await $library;
const availableSeries = itemsArray.filter(
(item) => item.sonarrSeries && item.sonarrSeries.statistics?.episodeFileCount
);
const sonarrSeries = await sonarrSeriesStore.promise;
const availableSeries = sonarrSeries.filter((item) => item.statistics?.episodeFileCount);
const diskSpaceInfo =
(await discSpacePromise).find((disk) => disk.path === '/') ||
@@ -22,12 +20,12 @@
undefined;
const spaceOccupied = availableSeries.reduce(
(acc, series) => acc + (series.sonarrSeries?.statistics?.sizeOnDisk || 0),
(acc, series) => acc + (series?.statistics?.sizeOnDisk || 0),
0
);
const episodesCount = availableSeries.reduce(
(acc, series) => acc + (series.sonarrSeries?.statistics?.episodeFileCount || 0),
(acc, series) => acc + (series?.statistics?.episodeFileCount || 0),
0
);