fix: missing image covers for emby
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { createAsyncThunk, createEntityAdapter } from '@reduxjs/toolkit';
|
||||
import { Album, AlbumTrack, Playlist } from './types';
|
||||
import { AsyncThunkAPI } from '..';
|
||||
import { retrieveAllAlbums, retrieveRecentAlbums, retrieveAlbumTracks, retrieveAlbum } from '@/utility/JellyfinApi/album';
|
||||
import { retrieveAllAlbums, retrieveRecentAlbums, retrieveAlbumTracks, retrieveAlbum, retrieveSimilarAlbums } from '@/utility/JellyfinApi/album';
|
||||
import { retrieveAllPlaylists, retrievePlaylistTracks } from '@/utility/JellyfinApi/playlist';
|
||||
import { searchItem } from '@/utility/JellyfinApi/search';
|
||||
|
||||
@@ -44,6 +44,11 @@ export const fetchAlbum = createAsyncThunk<Album, string, AsyncThunkAPI>(
|
||||
retrieveAlbum,
|
||||
);
|
||||
|
||||
export const fetchSimilarAlbums = createAsyncThunk<Album[], string, AsyncThunkAPI>(
|
||||
'/albums/similar',
|
||||
retrieveSimilarAlbums,
|
||||
);
|
||||
|
||||
type SearchAndFetchResults = {
|
||||
albums: Album[];
|
||||
results: (Album | AlbumTrack)[];
|
||||
|
||||
@@ -8,7 +8,8 @@ import {
|
||||
playlistAdapter,
|
||||
fetchAllPlaylists,
|
||||
fetchTracksByPlaylist,
|
||||
fetchAlbum
|
||||
fetchAlbum,
|
||||
fetchSimilarAlbums
|
||||
} from './actions';
|
||||
import { createSlice } from '@reduxjs/toolkit';
|
||||
import { Album, AlbumTrack, Playlist } from './types';
|
||||
@@ -79,7 +80,15 @@ const music = createSlice({
|
||||
});
|
||||
builder.addCase(fetchAlbum.pending, (state) => { state.albums.isLoading = true; });
|
||||
builder.addCase(fetchAlbum.rejected, (state) => { state.albums.isLoading = false; });
|
||||
|
||||
|
||||
/**
|
||||
* Fetch similar albums
|
||||
*/
|
||||
builder.addCase(fetchSimilarAlbums.fulfilled, (state, { payload, meta }) => {
|
||||
albumAdapter.upsertMany(state.albums, payload);
|
||||
state.albums.entities[meta.arg].Similar = payload.map((a) => a.Id);
|
||||
});
|
||||
|
||||
/**
|
||||
* Fetch most recent albums
|
||||
*/
|
||||
|
||||
@@ -68,6 +68,8 @@ export interface Album {
|
||||
DateCreated: string;
|
||||
Overview?: string;
|
||||
Similar?: string[];
|
||||
/** Emby potentially carries different ids for primary images */
|
||||
PrimaryImageItemId?: string;
|
||||
}
|
||||
|
||||
export interface AlbumTrack {
|
||||
@@ -124,7 +126,3 @@ export interface Playlist {
|
||||
Tracks?: string[];
|
||||
lastRefreshed?: number;
|
||||
}
|
||||
|
||||
export interface SimilarAlbum {
|
||||
Id: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user