chore: upgrade all dependencies

This commit is contained in:
Lei Nelissen
2024-02-08 22:11:43 +01:00
parent 0489e1a86d
commit fb4af1b7c6
23 changed files with 797 additions and 1161 deletions

View File

@@ -3,7 +3,7 @@ import { Album, AlbumTrack, Playlist } from './types';
import { AsyncThunkAPI } from '..';
import { retrieveAllAlbums, retrieveAlbumTracks, retrieveRecentAlbums, searchItem, retrieveAlbum, retrieveAllPlaylists, retrievePlaylistTracks } from '@/utility/JellyfinApi';
export const albumAdapter = createEntityAdapter<Album>({
export const albumAdapter = createEntityAdapter<Album, string>({
selectId: album => album.Id,
sortComparer: (a, b) => a.Name.localeCompare(b.Name),
});
@@ -30,7 +30,7 @@ export const fetchRecentAlbums = createAsyncThunk<Album[], number | undefined, A
}
);
export const trackAdapter = createEntityAdapter<AlbumTrack>({
export const trackAdapter = createEntityAdapter<AlbumTrack, string>({
selectId: track => track.Id,
sortComparer: (a, b) => a.IndexNumber - b.IndexNumber,
});
@@ -86,7 +86,7 @@ AsyncThunkAPI
}
);
export const playlistAdapter = createEntityAdapter<Playlist>({
export const playlistAdapter = createEntityAdapter<Playlist, string>({
selectId: (playlist) => playlist.Id,
sortComparer: (a, b) => a.Name.localeCompare(b.Name),
});

View File

@@ -10,28 +10,28 @@ import {
fetchTracksByPlaylist,
fetchAlbum
} from './actions';
import { createSlice, Dictionary, EntityId } from '@reduxjs/toolkit';
import { createSlice } from '@reduxjs/toolkit';
import { Album, AlbumTrack, Playlist } from './types';
import { setJellyfinCredentials } from '@/store/settings/actions';
export interface State {
albums: {
isLoading: boolean;
entities: Dictionary<Album>;
ids: EntityId[];
entities: Record<string, Album>;
ids: string[];
lastRefreshed?: number,
},
tracks: {
isLoading: boolean;
entities: Dictionary<AlbumTrack>;
ids: EntityId[];
byAlbum: Dictionary<EntityId[]>;
byPlaylist: Dictionary<EntityId[]>;
entities: Record<string, AlbumTrack>;
ids: string[];
byAlbum: Record<string, string[]>;
byPlaylist: Record<string, string[]>;
},
playlists: {
isLoading: boolean;
entities: Dictionary<Playlist>;
ids: EntityId[];
entities: Record<string, Playlist>;
ids: string[];
lastRefreshed?: number,
}
}

View File

@@ -1,7 +1,7 @@
import { useTypedSelector, AppState } from '@/store';
import { parseISO } from 'date-fns';
import { ALPHABET_LETTERS } from '@/CONSTANTS';
import { createSelector, EntityId } from '@reduxjs/toolkit';
import { createSelector } from '@reduxjs/toolkit';
import { SectionListData } from 'react-native';
import { ArtistItem } from './types';
@@ -51,7 +51,7 @@ export const selectAlbumsByArtist = createSelector(
albumsByArtist,
);
export type SectionedId = SectionListData<EntityId[]>;
export type SectionedId = SectionListData<string[]>;
/**
* Splits a set of albums into a list that is split by alphabet letters
@@ -77,7 +77,7 @@ function splitAlbumsByAlphabet(state: AppState['music']['albums']): SectionedId[
// GUARD: Check if the row is overflowing. If so, add a new row.
if (section.data[row].length >= 2) {
(section.data as EntityId[][]).push([]);
(section.data as string[][]).push([]);
}
});
@@ -92,7 +92,7 @@ export const selectAlbumsByAlphabet = createSelector(
splitAlbumsByAlphabet,
);
export type SectionArtistItem = ArtistItem & { albumIds: EntityId[] };
export type SectionArtistItem = ArtistItem & { albumIds: string[] };
/**
* Retrieve all artists based on the available albums
@@ -107,7 +107,7 @@ export function artistsFromAlbums(state: AppState['music']['albums']) {
album?.ArtistItems.forEach((artist) => {
// GUARD: Check that an array already exists for this artist
if (!(artist.Name in sum)) {
sum[artist.Name] = { albumIds: [] as EntityId[], ...artist };
sum[artist.Name] = { albumIds: [] as string[], ...artist };
}
// Add the album id to the artist in the object

View File

@@ -1,5 +1,3 @@
import { Dictionary } from '@reduxjs/toolkit';
export interface UserData {
PlaybackPositionTicks: number;
PlayCount: number;
@@ -73,7 +71,7 @@ export interface AlbumTrack {
export interface State {
albums: {
ids: string[];
entities: Dictionary<Album>;
entities: Record<string, Album>;
isLoading: boolean;
}
}