Clean up unused wrapper component

This commit is contained in:
jeffvli 2023-02-25 19:01:42 -08:00
parent ac62c26099
commit 1fa975ccec
6 changed files with 109 additions and 124 deletions

View file

@ -1,4 +1,4 @@
import { VirtualGridContainer, VirtualInfiniteGridRef } from '/@/renderer/components'; import { VirtualInfiniteGridRef } from '/@/renderer/components';
import { AnimatedPage } from '/@/renderer/features/shared'; import { AnimatedPage } from '/@/renderer/features/shared';
import { AlbumListHeader } from '/@/renderer/features/albums/components/album-list-header'; import { AlbumListHeader } from '/@/renderer/features/albums/components/album-list-header';
import { AlbumListContent } from '/@/renderer/features/albums/components/album-list-content'; import { AlbumListContent } from '/@/renderer/features/albums/components/album-list-content';
@ -62,21 +62,19 @@ const AlbumListRoute = () => {
return ( return (
<AnimatedPage> <AnimatedPage>
<VirtualGridContainer> <AlbumListHeader
<AlbumListHeader customFilters={customFilters}
customFilters={customFilters} gridRef={gridRef}
gridRef={gridRef} itemCount={itemCount}
itemCount={itemCount} tableRef={tableRef}
tableRef={tableRef} title={searchParams.get('artistName') || undefined}
title={searchParams.get('artistName') || undefined} />
/> <AlbumListContent
<AlbumListContent customFilters={customFilters}
customFilters={customFilters} gridRef={gridRef}
gridRef={gridRef} itemCount={itemCount}
itemCount={itemCount} tableRef={tableRef}
tableRef={tableRef} />
/>
</VirtualGridContainer>
</AnimatedPage> </AnimatedPage>
); );
}; };

View file

@ -3,7 +3,6 @@ import { useSetState } from '@mantine/hooks';
import { useRef } from 'react'; import { useRef } from 'react';
import { useParams } from 'react-router'; import { useParams } from 'react-router';
import { SongListSort, SortOrder } from '/@/renderer/api/types'; import { SongListSort, SortOrder } from '/@/renderer/api/types';
import { VirtualGridContainer } from '/@/renderer/components';
import { AlbumArtistDetailSongListContent } from '/@/renderer/features/artists/components/album-artist-detail-song-list-content'; import { AlbumArtistDetailSongListContent } from '/@/renderer/features/artists/components/album-artist-detail-song-list-content';
import { AlbumArtistDetailSongListHeader } from '/@/renderer/features/artists/components/album-artist-detail-song-list-header'; import { AlbumArtistDetailSongListHeader } from '/@/renderer/features/artists/components/album-artist-detail-song-list-header';
import { useAlbumArtistDetail } from '/@/renderer/features/artists/queries/album-artist-detail-query'; import { useAlbumArtistDetail } from '/@/renderer/features/artists/queries/album-artist-detail-query';
@ -44,20 +43,18 @@ const AlbumArtistDetailSongListRoute = () => {
return ( return (
<AnimatedPage> <AnimatedPage>
<VirtualGridContainer> <AlbumArtistDetailSongListHeader
<AlbumArtistDetailSongListHeader filter={filter}
filter={filter} itemCount={itemCount}
itemCount={itemCount} setFilter={setFilter}
setFilter={setFilter} tableRef={tableRef}
tableRef={tableRef} title={detailQuery?.data?.name || 'Unknown'}
title={detailQuery?.data?.name || 'Unknown'} />
/> <AlbumArtistDetailSongListContent
<AlbumArtistDetailSongListContent filter={filter}
filter={filter} itemCount={itemCount}
itemCount={itemCount} tableRef={tableRef}
tableRef={tableRef} />
/>
</VirtualGridContainer>
</AnimatedPage> </AnimatedPage>
); );
}; };

View file

@ -1,7 +1,6 @@
import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact'; import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact';
import { useRef } from 'react'; import { useRef } from 'react';
import { useParams } from 'react-router'; import { useParams } from 'react-router';
import { VirtualGridContainer } from '/@/renderer/components';
import { AlbumArtistDetailTopSongsListContent } from '/@/renderer/features/artists/components/album-artist-detail-top-songs-list-content'; import { AlbumArtistDetailTopSongsListContent } from '/@/renderer/features/artists/components/album-artist-detail-top-songs-list-content';
import { AlbumArtistDetailTopSongsListHeader } from '/@/renderer/features/artists/components/album-artist-detail-top-songs-list-header'; import { AlbumArtistDetailTopSongsListHeader } from '/@/renderer/features/artists/components/album-artist-detail-top-songs-list-header';
import { useAlbumArtistDetail } from '/@/renderer/features/artists/queries/album-artist-detail-query'; import { useAlbumArtistDetail } from '/@/renderer/features/artists/queries/album-artist-detail-query';
@ -28,17 +27,15 @@ const AlbumArtistDetailTopSongsListRoute = () => {
return ( return (
<AnimatedPage> <AnimatedPage>
<VirtualGridContainer> <AlbumArtistDetailTopSongsListHeader
<AlbumArtistDetailTopSongsListHeader data={topSongsQuery?.data?.items || []}
data={topSongsQuery?.data?.items || []} itemCount={itemCount}
itemCount={itemCount} title={detailQuery?.data?.name || 'Unknown'}
title={detailQuery?.data?.name || 'Unknown'} />
/> <AlbumArtistDetailTopSongsListContent
<AlbumArtistDetailTopSongsListContent data={topSongsQuery?.data?.items || []}
data={topSongsQuery?.data?.items || []} tableRef={tableRef}
tableRef={tableRef} />
/>
</VirtualGridContainer>
</AnimatedPage> </AnimatedPage>
); );
}; };

View file

@ -1,4 +1,4 @@
import { VirtualGridContainer, VirtualInfiniteGridRef } from '/@/renderer/components'; import { VirtualInfiniteGridRef } from '/@/renderer/components';
import { AlbumArtistListHeader } from '/@/renderer/features/artists/components/album-artist-list-header'; import { AlbumArtistListHeader } from '/@/renderer/features/artists/components/album-artist-list-header';
import { AnimatedPage } from '/@/renderer/features/shared'; import { AnimatedPage } from '/@/renderer/features/shared';
import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact'; import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact';
@ -32,17 +32,15 @@ const AlbumArtistListRoute = () => {
return ( return (
<AnimatedPage> <AnimatedPage>
<VirtualGridContainer> <AlbumArtistListHeader
<AlbumArtistListHeader gridRef={gridRef}
gridRef={gridRef} itemCount={itemCount}
itemCount={itemCount} tableRef={tableRef}
tableRef={tableRef} />
/> <AlbumArtistListContent
<AlbumArtistListContent gridRef={gridRef}
gridRef={gridRef} tableRef={tableRef}
tableRef={tableRef} />
/>
</VirtualGridContainer>
</AnimatedPage> </AnimatedPage>
); );
}; };

View file

@ -13,7 +13,7 @@ import { usePlaylistDetail } from '/@/renderer/features/playlists/queries/playli
import { useCreatePlaylist } from '/@/renderer/features/playlists/mutations/create-playlist-mutation'; import { useCreatePlaylist } from '/@/renderer/features/playlists/mutations/create-playlist-mutation';
import { AppRoute } from '/@/renderer/router/routes'; import { AppRoute } from '/@/renderer/router/routes';
import { useDeletePlaylist } from '/@/renderer/features/playlists/mutations/delete-playlist-mutation'; import { useDeletePlaylist } from '/@/renderer/features/playlists/mutations/delete-playlist-mutation';
import { Button, Paper, Text, toast, VirtualGridContainer } from '/@/renderer/components'; import { Button, Paper, Text, toast } from '/@/renderer/components';
import { SaveAsPlaylistForm } from '/@/renderer/features/playlists/components/save-as-playlist-form'; import { SaveAsPlaylistForm } from '/@/renderer/features/playlists/components/save-as-playlist-form';
import { useCurrentServer, usePlaylistDetailStore } from '/@/renderer/store'; import { useCurrentServer, usePlaylistDetailStore } from '/@/renderer/store';
import { PlaylistSongListQuery, ServerType, SongListSort, SortOrder } from '/@/renderer/api/types'; import { PlaylistSongListQuery, ServerType, SongListSort, SortOrder } from '/@/renderer/api/types';
@ -162,63 +162,61 @@ const PlaylistDetailSongListRoute = () => {
return ( return (
<AnimatedPage key={`playlist-detail-songList-${playlistId}`}> <AnimatedPage key={`playlist-detail-songList-${playlistId}`}>
<VirtualGridContainer> <PlaylistDetailSongListHeader
<PlaylistDetailSongListHeader handleToggleShowQueryBuilder={handleToggleShowQueryBuilder}
handleToggleShowQueryBuilder={handleToggleShowQueryBuilder} itemCount={itemCount}
itemCount={itemCount} tableRef={tableRef}
tableRef={tableRef} />
/> <AnimatePresence
<AnimatePresence custom={{ isQueryBuilderExpanded }}
custom={{ isQueryBuilderExpanded }} initial={false}
initial={false} >
> {(isSmartPlaylist || showQueryBuilder) && (
{(isSmartPlaylist || showQueryBuilder) && ( <motion.div
<motion.div animate="animate"
animate="animate" custom={{ isQueryBuilderExpanded }}
custom={{ isQueryBuilderExpanded }} exit="exit"
exit="exit" initial="initial"
initial="initial" transition={{ duration: 0.2, ease: 'easeInOut' }}
transition={{ duration: 0.2, ease: 'easeInOut' }} variants={smartPlaylistVariants}
variants={smartPlaylistVariants} >
<Paper
h="100%"
pos="relative"
w="100%"
> >
<Paper <Group
h="100%" pt="1rem"
pos="relative" px="1rem"
w="100%"
> >
<Group <Button
pt="1rem" compact
px="1rem" variant="default"
onClick={handleToggleExpand}
> >
<Button {isQueryBuilderExpanded ? (
compact <RiArrowUpSLine size={20} />
variant="default" ) : (
onClick={handleToggleExpand} <RiArrowDownSLine size={20} />
> )}
{isQueryBuilderExpanded ? ( </Button>
<RiArrowUpSLine size={20} /> <Text>Query Editor</Text>
) : ( </Group>
<RiArrowDownSLine size={20} /> <PlaylistQueryBuilder
)} key={JSON.stringify(detailQuery?.data?.rules)}
</Button> isSaving={createPlaylistMutation?.isLoading}
<Text>Query Editor</Text> limit={detailQuery?.data?.rules?.limit}
</Group> query={detailQuery?.data?.rules}
<PlaylistQueryBuilder sortBy={detailQuery?.data?.rules?.sort || SongListSort.ALBUM}
key={JSON.stringify(detailQuery?.data?.rules)} sortOrder={detailQuery?.data?.rules?.order || 'asc'}
isSaving={createPlaylistMutation?.isLoading} onSave={handleSave}
limit={detailQuery?.data?.rules?.limit} onSaveAs={handleSaveAs}
query={detailQuery?.data?.rules} />
sortBy={detailQuery?.data?.rules?.sort || SongListSort.ALBUM} </Paper>
sortOrder={detailQuery?.data?.rules?.order || 'asc'} </motion.div>
onSave={handleSave} )}
onSaveAs={handleSaveAs} </AnimatePresence>
/> <PlaylistDetailSongListContent tableRef={tableRef} />
</Paper>
</motion.div>
)}
</AnimatePresence>
<PlaylistDetailSongListContent tableRef={tableRef} />
</VirtualGridContainer>
</AnimatedPage> </AnimatedPage>
); );
}; };

View file

@ -2,7 +2,6 @@ import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/li
import { useRef } from 'react'; import { useRef } from 'react';
import { useSearchParams } from 'react-router-dom'; import { useSearchParams } from 'react-router-dom';
import { SongListQuery } from '/@/renderer/api/types'; import { SongListQuery } from '/@/renderer/api/types';
import { VirtualGridContainer } from '/@/renderer/components';
import { AnimatedPage } from '/@/renderer/features/shared'; import { AnimatedPage } from '/@/renderer/features/shared';
import { SongListContent } from '/@/renderer/features/songs/components/song-list-content'; import { SongListContent } from '/@/renderer/features/songs/components/song-list-content';
import { SongListHeader } from '/@/renderer/features/songs/components/song-list-header'; import { SongListHeader } from '/@/renderer/features/songs/components/song-list-header';
@ -50,19 +49,17 @@ const TrackListRoute = () => {
return ( return (
<AnimatedPage> <AnimatedPage>
<VirtualGridContainer> <SongListHeader
<SongListHeader customFilters={customFilters}
customFilters={customFilters} itemCount={itemCount}
itemCount={itemCount} tableRef={tableRef}
tableRef={tableRef} title={searchParams.get('artistName') || undefined}
title={searchParams.get('artistName') || undefined} />
/> <SongListContent
<SongListContent customFilters={customFilters}
customFilters={customFilters} itemCount={itemCount}
itemCount={itemCount} tableRef={tableRef}
tableRef={tableRef} />
/>
</VirtualGridContainer>
</AnimatedPage> </AnimatedPage>
); );
}; };