mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-08 13:00:13 +02:00
Add internet radio (#1384)
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
||||
GenreListSort,
|
||||
LibraryItem,
|
||||
PlaylistListSort,
|
||||
RadioListSort,
|
||||
ServerType,
|
||||
SongListSort,
|
||||
SortOrder,
|
||||
@@ -802,6 +803,47 @@ const PLAYLIST_LIST_FILTERS: Partial<
|
||||
],
|
||||
};
|
||||
|
||||
const RADIO_LIST_FILTERS: Partial<
|
||||
Record<ServerType, Array<{ defaultOrder: SortOrder; name: string; value: string }>>
|
||||
> = {
|
||||
[ServerType.JELLYFIN]: [
|
||||
{
|
||||
defaultOrder: SortOrder.ASC,
|
||||
name: i18n.t('filter.id', { postProcess: 'titleCase' }),
|
||||
value: RadioListSort.ID,
|
||||
},
|
||||
{
|
||||
defaultOrder: SortOrder.ASC,
|
||||
name: i18n.t('filter.name', { postProcess: 'titleCase' }),
|
||||
value: RadioListSort.NAME,
|
||||
},
|
||||
],
|
||||
[ServerType.NAVIDROME]: [
|
||||
{
|
||||
defaultOrder: SortOrder.ASC,
|
||||
name: i18n.t('filter.id', { postProcess: 'titleCase' }),
|
||||
value: RadioListSort.ID,
|
||||
},
|
||||
{
|
||||
defaultOrder: SortOrder.ASC,
|
||||
name: i18n.t('filter.name', { postProcess: 'titleCase' }),
|
||||
value: RadioListSort.NAME,
|
||||
},
|
||||
],
|
||||
[ServerType.SUBSONIC]: [
|
||||
{
|
||||
defaultOrder: SortOrder.ASC,
|
||||
name: i18n.t('filter.id', { postProcess: 'titleCase' }),
|
||||
value: RadioListSort.ID,
|
||||
},
|
||||
{
|
||||
defaultOrder: SortOrder.ASC,
|
||||
name: i18n.t('filter.name', { postProcess: 'titleCase' }),
|
||||
value: RadioListSort.NAME,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
const FILTERS: Partial<Record<LibraryItem, any>> = {
|
||||
[LibraryItem.ALBUM]: ALBUM_LIST_FILTERS,
|
||||
[LibraryItem.ALBUM_ARTIST]: ALBUM_ARTIST_LIST_FILTERS,
|
||||
@@ -810,5 +852,6 @@ const FILTERS: Partial<Record<LibraryItem, any>> = {
|
||||
[LibraryItem.GENRE]: GENRE_LIST_FILTERS,
|
||||
[LibraryItem.PLAYLIST]: PLAYLIST_LIST_FILTERS,
|
||||
[LibraryItem.PLAYLIST_SONG]: PLAYLIST_SONG_LIST_FILTERS,
|
||||
[LibraryItem.RADIO_STATION]: RADIO_LIST_FILTERS,
|
||||
[LibraryItem.SONG]: SONG_LIST_FILTERS,
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
AlbumArtist,
|
||||
Artist,
|
||||
Genre,
|
||||
InternetRadioStation,
|
||||
LibraryItem,
|
||||
Playlist,
|
||||
QueueSong,
|
||||
@@ -97,7 +98,15 @@ interface CreateFuseOptions {
|
||||
threshold?: number;
|
||||
}
|
||||
|
||||
type FuseSearchableItem = Album | AlbumArtist | Artist | Genre | Playlist | QueueSong | Song;
|
||||
type FuseSearchableItem =
|
||||
| Album
|
||||
| AlbumArtist
|
||||
| Artist
|
||||
| Genre
|
||||
| InternetRadioStation
|
||||
| Playlist
|
||||
| QueueSong
|
||||
| Song;
|
||||
|
||||
export const createFuseForLibraryItem = <T extends FuseSearchableItem>(
|
||||
items: T[],
|
||||
@@ -171,6 +180,7 @@ export const createFuseForLibraryItem = <T extends FuseSearchableItem>(
|
||||
|
||||
case LibraryItem.ARTIST:
|
||||
case LibraryItem.GENRE:
|
||||
case LibraryItem.RADIO_STATION:
|
||||
break;
|
||||
|
||||
case LibraryItem.PLAYLIST: {
|
||||
|
||||
Reference in New Issue
Block a user