diff --git a/src/renderer/features/albums/routes/album-list-route.tsx b/src/renderer/features/albums/routes/album-list-route.tsx
index 3349f8bb2..f3d2dce72 100644
--- a/src/renderer/features/albums/routes/album-list-route.tsx
+++ b/src/renderer/features/albums/routes/album-list-route.tsx
@@ -5,6 +5,7 @@ import { ListContext } from '/@/renderer/context/list-context';
import { AlbumListContent } from '/@/renderer/features/albums/components/album-list-content';
import { AlbumListHeader } from '/@/renderer/features/albums/components/album-list-header';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
const AlbumListRoute = () => {
const { albumArtistId, genreId } = useParams();
@@ -24,8 +25,10 @@ const AlbumListRoute = () => {
return (
-
-
+
+
+
+
);
diff --git a/src/renderer/features/albums/routes/dummy-album-detail-route.tsx b/src/renderer/features/albums/routes/dummy-album-detail-route.tsx
index 634c313dd..844a86530 100644
--- a/src/renderer/features/albums/routes/dummy-album-detail-route.tsx
+++ b/src/renderer/features/albums/routes/dummy-album-detail-route.tsx
@@ -1,8 +1,7 @@
import { useQuery } from '@tanstack/react-query';
import { Fragment } from 'react';
import { useTranslation } from 'react-i18next';
-import { generatePath, useParams } from 'react-router';
-import { Link } from 'react-router';
+import { generatePath, Link, useParams } from 'react-router';
import styles from './dummy-album-detail-route.module.css';
@@ -10,6 +9,7 @@ import { api } from '/@/renderer/api';
import { queryKeys } from '/@/renderer/api/query-keys';
import { usePlayer } from '/@/renderer/features/player/context/player-context';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { LibraryHeader } from '/@/renderer/features/shared/components/library-header';
import { PlayButton } from '/@/renderer/features/shared/components/play-button';
import { useCreateFavorite } from '/@/renderer/features/shared/mutations/create-favorite-mutation';
@@ -115,112 +115,115 @@ const DummyAlbumDetailRoute = () => {
return (
-
-
-
-
- {metadataItems.map((item, index) => (
-
- {index > 0 && •}
- {item.value}
-
- ))}
-
-
- {detailQuery?.data?.albumArtists.map((artist) => (
-
+
+
+
+
+ {metadataItems.map((item, index) => (
+
+ {index > 0 && •}
+ {item.value}
+
+ ))}
+
+
+ {detailQuery?.data?.albumArtists.map((artist) => (
+
+ {artist.name}
+
+ ))}
+
+
+
+
+
+
+
+
+ handlePlay()} />
+
- {artist.name}
-
- ))}
-
-
-
-
-
-
-
-
- handlePlay()} />
-
- {
- if (!detailQuery?.data) return;
- }}
- variant="subtle"
- />
-
-
-
- {showGenres && (
-
-
- {detailQuery?.data?.genres?.map((genre) => (
-
- ))}
+ />
+ {
+ if (!detailQuery?.data) return;
+ }}
+ variant="subtle"
+ />
+
- )}
- {comment && (
+ {showGenres && (
+
+
+ {detailQuery?.data?.genres?.map((genre) => (
+
+ ))}
+
+
+ )}
+ {comment && (
+
+ {replaceURLWithHTMLLinks(comment)}
+
+ )}
- {replaceURLWithHTMLLinks(comment)}
+
+
+
+
+ {t('error.badAlbum', { postProcess: 'sentenceCase' })}
+
- )}
-
-
-
-
-
- {t('error.badAlbum', { postProcess: 'sentenceCase' })}
-
-
-
+
+
);
};
diff --git a/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx b/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx
index 20b2d7b2f..47e649135 100644
--- a/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx
+++ b/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx
@@ -7,6 +7,7 @@ import { ListContext } from '/@/renderer/context/list-context';
import { artistsQueries } from '/@/renderer/features/artists/api/artists-api';
import { AlbumArtistDetailTopSongsListHeader } from '/@/renderer/features/artists/components/album-artist-detail-top-songs-list-header';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { useCurrentServer } from '/@/renderer/store/auth.store';
import { LibraryItem } from '/@/shared/types/domain-types';
@@ -47,15 +48,17 @@ const AlbumArtistDetailTopSongsListRoute = () => {
return (
-
- {/* */}
+
+
+ {/* */}
+
);
diff --git a/src/renderer/features/artists/routes/album-artist-list-route.tsx b/src/renderer/features/artists/routes/album-artist-list-route.tsx
index 92726a9f0..0a3f5bba2 100644
--- a/src/renderer/features/artists/routes/album-artist-list-route.tsx
+++ b/src/renderer/features/artists/routes/album-artist-list-route.tsx
@@ -4,6 +4,7 @@ import { ListContext } from '/@/renderer/context/list-context';
import { AlbumArtistListContent } from '/@/renderer/features/artists/components/album-artist-list-content';
import { AlbumArtistListHeader } from '/@/renderer/features/artists/components/album-artist-list-header';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { ItemListKey } from '/@/shared/types/types';
const AlbumArtistListRoute = () => {
@@ -23,8 +24,10 @@ const AlbumArtistListRoute = () => {
return (
-
-
+
+
+
+
);
diff --git a/src/renderer/features/artists/routes/artist-list-route.tsx b/src/renderer/features/artists/routes/artist-list-route.tsx
index 5f8373cda..dbace88ab 100644
--- a/src/renderer/features/artists/routes/artist-list-route.tsx
+++ b/src/renderer/features/artists/routes/artist-list-route.tsx
@@ -4,6 +4,7 @@ import { ListContext } from '/@/renderer/context/list-context';
import { ArtistListContent } from '/@/renderer/features/artists/components/artist-list-content';
import { ArtistListHeader } from '/@/renderer/features/artists/components/artist-list-header';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { ItemListKey } from '/@/shared/types/types';
const ArtistListRoute = () => {
@@ -23,8 +24,10 @@ const ArtistListRoute = () => {
return (
-
-
+
+
+
+
);
diff --git a/src/renderer/features/genres/routes/genre-list-route.tsx b/src/renderer/features/genres/routes/genre-list-route.tsx
index 8e9455385..f918bc890 100644
--- a/src/renderer/features/genres/routes/genre-list-route.tsx
+++ b/src/renderer/features/genres/routes/genre-list-route.tsx
@@ -4,6 +4,7 @@ import { ListContext } from '/@/renderer/context/list-context';
import { GenreListContent } from '/@/renderer/features/genres/components/genre-list-content';
import { GenreListHeader } from '/@/renderer/features/genres/components/genre-list-header';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { ItemListKey } from '/@/shared/types/types';
const GenreListRoute = () => {
@@ -23,8 +24,10 @@ const GenreListRoute = () => {
return (
-
-
+
+
+
+
);
diff --git a/src/renderer/features/now-playing/routes/now-playing-route.tsx b/src/renderer/features/now-playing/routes/now-playing-route.tsx
index 028739de7..74489bdd8 100644
--- a/src/renderer/features/now-playing/routes/now-playing-route.tsx
+++ b/src/renderer/features/now-playing/routes/now-playing-route.tsx
@@ -5,6 +5,7 @@ import { NowPlayingHeader } from '/@/renderer/features/now-playing/components/no
import { PlayQueue } from '/@/renderer/features/now-playing/components/play-queue';
import { PlayQueueListControls } from '/@/renderer/features/now-playing/components/play-queue-list-controls';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { ItemListKey } from '/@/shared/types/types';
const NowPlayingRoute = () => {
@@ -13,14 +14,16 @@ const NowPlayingRoute = () => {
return (
-
-
-
+
+
+
+
+
);
};
diff --git a/src/renderer/features/playlists/routes/playlist-detail-song-list-route.tsx b/src/renderer/features/playlists/routes/playlist-detail-song-list-route.tsx
index 3e7ff990a..59a71a873 100644
--- a/src/renderer/features/playlists/routes/playlist-detail-song-list-route.tsx
+++ b/src/renderer/features/playlists/routes/playlist-detail-song-list-route.tsx
@@ -13,6 +13,7 @@ import { SaveAsPlaylistForm } from '/@/renderer/features/playlists/components/sa
import { useCreatePlaylist } from '/@/renderer/features/playlists/mutations/create-playlist-mutation';
import { useDeletePlaylist } from '/@/renderer/features/playlists/mutations/delete-playlist-mutation';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { AppRoute } from '/@/renderer/router/routes';
import { useCurrentServer, usePlaylistDetailStore } from '/@/renderer/store';
import { ActionIcon } from '/@/shared/components/action-icon/action-icon';
@@ -186,44 +187,48 @@ const PlaylistDetailSongListRoute = () => {
return (
-
+
+
- {(isSmartPlaylist || showQueryBuilder) && (
-
-
-
-
- {t('form.queryEditor.title', { postProcess: 'titleCase' })}
-
- {isQueryBuilderExpanded && (
-
- )}
-
-
- )}
- {/* */}
+ {(isSmartPlaylist || showQueryBuilder) && (
+
+
+
+
+
+ {t('form.queryEditor.title', { postProcess: 'titleCase' })}
+
+
+ {isQueryBuilderExpanded && (
+
+ )}
+
+
+ )}
+ {/* */}
+
);
};
diff --git a/src/renderer/features/playlists/routes/playlist-list-route.tsx b/src/renderer/features/playlists/routes/playlist-list-route.tsx
index 9c6bdeb71..4b8692b71 100644
--- a/src/renderer/features/playlists/routes/playlist-list-route.tsx
+++ b/src/renderer/features/playlists/routes/playlist-list-route.tsx
@@ -5,6 +5,7 @@ import { ListContext } from '/@/renderer/context/list-context';
import { PlaylistListContent } from '/@/renderer/features/playlists/components/playlist-list-content';
import { PlaylistListHeader } from '/@/renderer/features/playlists/components/playlist-list-header';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { ItemListKey } from '/@/shared/types/types';
const PlaylistListRoute = () => {
@@ -25,8 +26,10 @@ const PlaylistListRoute = () => {
return (
-
-
+
+
+
+
);
diff --git a/src/renderer/features/search/routes/search-route.tsx b/src/renderer/features/search/routes/search-route.tsx
index da7244a6a..882425943 100644
--- a/src/renderer/features/search/routes/search-route.tsx
+++ b/src/renderer/features/search/routes/search-route.tsx
@@ -4,6 +4,7 @@ import { useLocation, useParams } from 'react-router';
import { SearchContent } from '/@/renderer/features/search/components/search-content';
import { SearchHeader } from '/@/renderer/features/search/components/search-header';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
const SearchRoute = () => {
const { state: locationState } = useLocation();
@@ -13,8 +14,10 @@ const SearchRoute = () => {
return (
-
-
+
+
+
+
);
};
diff --git a/src/renderer/features/settings/routes/settings-route.tsx b/src/renderer/features/settings/routes/settings-route.tsx
index bb140a388..b3a24b708 100644
--- a/src/renderer/features/settings/routes/settings-route.tsx
+++ b/src/renderer/features/settings/routes/settings-route.tsx
@@ -4,6 +4,7 @@ import { SettingsContent } from '/@/renderer/features/settings/components/settin
import { SettingsHeader } from '/@/renderer/features/settings/components/settings-header';
import { SettingSearchContext } from '/@/renderer/features/settings/context/search-context';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { Flex } from '/@/shared/components/flex/flex';
const SettingsRoute = () => {
@@ -12,10 +13,12 @@ const SettingsRoute = () => {
return (
-
-
-
-
+
+
+
+
+
+
);
diff --git a/src/renderer/features/shared/components/library-container.module.css b/src/renderer/features/shared/components/library-container.module.css
index cc338fe90..71fcfcb0c 100644
--- a/src/renderer/features/shared/components/library-container.module.css
+++ b/src/renderer/features/shared/components/library-container.module.css
@@ -1,11 +1,10 @@
.container {
position: relative;
+ display: flex;
+ flex-direction: column;
width: 100%;
max-width: var(--theme-content-max-width);
+ height: 100%;
+ min-height: 0;
margin: 0 auto;
}
-
-.content {
- position: relative;
- z-index: 0;
-}
diff --git a/src/renderer/features/shared/components/library-container.tsx b/src/renderer/features/shared/components/library-container.tsx
index d0d6b81c5..dea707499 100644
--- a/src/renderer/features/shared/components/library-container.tsx
+++ b/src/renderer/features/shared/components/library-container.tsx
@@ -7,9 +7,5 @@ interface LibraryContainerProps {
}
export const LibraryContainer = ({ children }: LibraryContainerProps) => {
- return (
-
- );
+ return {children}
;
};
diff --git a/src/renderer/features/songs/routes/song-list-route.tsx b/src/renderer/features/songs/routes/song-list-route.tsx
index 1761d445c..1b2bcdfcf 100644
--- a/src/renderer/features/songs/routes/song-list-route.tsx
+++ b/src/renderer/features/songs/routes/song-list-route.tsx
@@ -5,6 +5,7 @@ import { useParams, useSearchParams } from 'react-router';
import { ListContext } from '/@/renderer/context/list-context';
import { genresQueries } from '/@/renderer/features/genres/api/genres-api';
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
+import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
import { SongListContent } from '/@/renderer/features/songs/components/song-list-content';
import { SongListHeader } from '/@/renderer/features/songs/components/song-list-header';
import { useCurrentServer } from '/@/renderer/store';
@@ -73,8 +74,10 @@ const TrackListRoute = () => {
return (
-
-
+
+
+
+
);