diff --git a/src/renderer/features/albums/components/album-detail-content.tsx b/src/renderer/features/albums/components/album-detail-content.tsx index dbea9ba67..51886c9ae 100644 --- a/src/renderer/features/albums/components/album-detail-content.tsx +++ b/src/renderer/features/albums/components/album-detail-content.tsx @@ -21,7 +21,10 @@ import { ItemControls } from '/@/renderer/components/item-list/types'; import { albumQueries } from '/@/renderer/features/albums/api/album-api'; import { AlbumInfiniteCarousel } from '/@/renderer/features/albums/components/album-infinite-carousel'; import { usePlayer } from '/@/renderer/features/player/context/player-context'; -import { ListConfigMenu } from '/@/renderer/features/shared/components/list-config-menu'; +import { + ListConfigMenu, + SONG_DISPLAY_TYPES, +} from '/@/renderer/features/shared/components/list-config-menu'; import { CLIENT_SIDE_SONG_FILTERS, ListSortByDropdownControlled, @@ -755,7 +758,10 @@ const AlbumDetailSongsTable = ({ songs }: AlbumDetailSongsTableProps) => { sortOrder={sortOrder} /> { { buttonProps={{ variant: 'subtle', }} - displayTypes={[{ hidden: true, value: ListDisplayType.GRID }]} + displayTypes={[ + { hidden: true, value: ListDisplayType.GRID }, + ...SONG_DISPLAY_TYPES, + ]} listKey={ItemListKey.FULL_SCREEN} optionsConfig={{ table: { diff --git a/src/renderer/features/player/components/mobile-fullscreen-player-header.tsx b/src/renderer/features/player/components/mobile-fullscreen-player-header.tsx index f8070dc69..72eadde23 100644 --- a/src/renderer/features/player/components/mobile-fullscreen-player-header.tsx +++ b/src/renderer/features/player/components/mobile-fullscreen-player-header.tsx @@ -4,7 +4,10 @@ import { useTranslation } from 'react-i18next'; import styles from './mobile-fullscreen-player.module.css'; import { SONG_TABLE_COLUMNS } from '/@/renderer/components/item-list/item-table-list/default-columns'; -import { ListConfigMenu } from '/@/renderer/features/shared/components/list-config-menu'; +import { + ListConfigMenu, + SONG_DISPLAY_TYPES, +} from '/@/renderer/features/shared/components/list-config-menu'; import { useFullScreenPlayerStore, useFullScreenPlayerStoreActions, @@ -365,7 +368,10 @@ export const MobileFullscreenPlayerHeader = memo( buttonProps={{ variant: isPageHovered ? 'default' : 'subtle', }} - displayTypes={[{ hidden: true, value: ListDisplayType.GRID }]} + displayTypes={[ + { hidden: true, value: ListDisplayType.GRID }, + ...SONG_DISPLAY_TYPES, + ]} listKey={ItemListKey.FULL_SCREEN} optionsConfig={{ table: { diff --git a/src/renderer/features/playlists/components/playlist-detail-song-list-header-filters.tsx b/src/renderer/features/playlists/components/playlist-detail-song-list-header-filters.tsx index b02f5ea81..f12227830 100644 --- a/src/renderer/features/playlists/components/playlist-detail-song-list-header-filters.tsx +++ b/src/renderer/features/playlists/components/playlist-detail-song-list-header-filters.tsx @@ -16,7 +16,10 @@ import { playlistsQueries } from '/@/renderer/features/playlists/api/playlists-a import { ClientSideSongFilters } from '/@/renderer/features/playlists/components/client-side-song-filters'; import { usePlaylistSongListFilters } from '/@/renderer/features/playlists/hooks/use-playlist-song-list-filters'; import { FilterButton } from '/@/renderer/features/shared/components/filter-button'; -import { ListConfigMenu } from '/@/renderer/features/shared/components/list-config-menu'; +import { + ListConfigMenu, + SONG_DISPLAY_TYPES, +} from '/@/renderer/features/shared/components/list-config-menu'; import { ListDisplayTypeToggleButton } from '/@/renderer/features/shared/components/list-display-type-toggle-button'; import { isFilterValueSet } from '/@/renderer/features/shared/components/list-filters'; import { ListRefreshButton } from '/@/renderer/features/shared/components/list-refresh-button'; @@ -229,6 +232,7 @@ export const PlaylistDetailSongListHeaderFilters = ({ /> ) : ( diff --git a/src/renderer/features/search/components/search-header.tsx b/src/renderer/features/search/components/search-header.tsx index 2fae44b1d..7c3f62e45 100644 --- a/src/renderer/features/search/components/search-header.tsx +++ b/src/renderer/features/search/components/search-header.tsx @@ -11,7 +11,10 @@ import { import { PageHeader } from '/@/renderer/components/page-header/page-header'; import { FilterBar } from '/@/renderer/features/shared/components/filter-bar'; import { LibraryHeaderBar } from '/@/renderer/features/shared/components/library-header-bar'; -import { ListConfigMenu } from '/@/renderer/features/shared/components/list-config-menu'; +import { + ListConfigMenu, + SONG_DISPLAY_TYPES, +} from '/@/renderer/features/shared/components/list-config-menu'; import { SearchInput } from '/@/renderer/features/shared/components/search-input'; import { AppRoute } from '/@/renderer/router/routes'; import { Button, ButtonGroup } from '/@/shared/components/button/button'; @@ -44,6 +47,7 @@ export const SearchHeader = ({ navigationId }: SearchHeaderProps) => { tableColumnsData: ALBUM_ARTIST_TABLE_COLUMNS, }, [LibraryItem.SONG]: { + displayTypes: SONG_DISPLAY_TYPES, listKey: ItemListKey.SONG, tableColumnsData: SONG_TABLE_COLUMNS, }, diff --git a/src/renderer/features/shared/components/list-config-menu.tsx b/src/renderer/features/shared/components/list-config-menu.tsx index d93e47885..347a089a4 100644 --- a/src/renderer/features/shared/components/list-config-menu.tsx +++ b/src/renderer/features/shared/components/list-config-menu.tsx @@ -18,6 +18,10 @@ import { Table } from '/@/shared/components/table/table'; import { useDisclosure } from '/@/shared/hooks/use-disclosure'; import { ItemListKey, ListDisplayType } from '/@/shared/types/types'; +export const SONG_DISPLAY_TYPES: ListConfigMenuDisplayTypeConfig[] = [ + { hidden: true, value: ListDisplayType.DETAIL }, +]; + const DISPLAY_TYPES = [ { label: ( diff --git a/src/renderer/features/songs/components/song-list-header-filters.tsx b/src/renderer/features/songs/components/song-list-header-filters.tsx index 8c40c38aa..ae1f33a9a 100644 --- a/src/renderer/features/songs/components/song-list-header-filters.tsx +++ b/src/renderer/features/songs/components/song-list-header-filters.tsx @@ -4,7 +4,10 @@ import { useTranslation } from 'react-i18next'; import { SONG_TABLE_COLUMNS } from '/@/renderer/components/item-list/item-table-list/default-columns'; import { useListContext } from '/@/renderer/context/list-context'; import { useAlbumListFilters } from '/@/renderer/features/albums/hooks/use-album-list-filters'; -import { ListConfigMenu } from '/@/renderer/features/shared/components/list-config-menu'; +import { + ListConfigMenu, + SONG_DISPLAY_TYPES, +} from '/@/renderer/features/shared/components/list-config-menu'; import { ListDisplayTypeToggleButton } from '/@/renderer/features/shared/components/list-display-type-toggle-button'; import { isFilterValueSet, @@ -91,7 +94,11 @@ export const SongListHeaderFilters = ({ toggleGenreTarget }: { toggleGenreTarget - + );