mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-10 04:30:25 +02:00
move suspense wrapper on carousels in album detail
This commit is contained in:
@@ -398,25 +398,21 @@ export const AlbumDetailContent = ({ background }: AlbumDetailContentProps) => {
|
|||||||
|
|
||||||
<Stack gap="lg" mt="3rem">
|
<Stack gap="lg" mt="3rem">
|
||||||
{cq.height || cq.width ? (
|
{cq.height || cq.width ? (
|
||||||
<>
|
<Suspense fallback={<Spinner container />}>
|
||||||
{carousels
|
{carousels
|
||||||
.filter((c) => !c.isHidden)
|
.filter((c) => !c.isHidden)
|
||||||
.map((carousel) => (
|
.map((carousel) => (
|
||||||
<Suspense
|
|
||||||
fallback={<Spinner container />}
|
|
||||||
key={`carousel-${carousel.uniqueId}`}
|
|
||||||
>
|
|
||||||
<AlbumInfiniteCarousel
|
<AlbumInfiniteCarousel
|
||||||
excludeIds={carousel.excludeIds}
|
excludeIds={carousel.excludeIds}
|
||||||
|
key={`carousel-${carousel.uniqueId}`}
|
||||||
query={carousel.query}
|
query={carousel.query}
|
||||||
rowCount={1}
|
rowCount={1}
|
||||||
sortBy={carousel.sortBy}
|
sortBy={carousel.sortBy}
|
||||||
sortOrder={carousel.sortOrder}
|
sortOrder={carousel.sortOrder}
|
||||||
title={carousel.title}
|
title={carousel.title}
|
||||||
/>
|
/>
|
||||||
</Suspense>
|
|
||||||
))}
|
))}
|
||||||
</>
|
</Suspense>
|
||||||
) : null}
|
) : null}
|
||||||
</Stack>
|
</Stack>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ interface AlbumCarouselProps {
|
|||||||
title: React.ReactNode | string;
|
title: React.ReactNode | string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function AlbumInfiniteCarousel(props: AlbumCarouselProps) {
|
const BaseAlbumInfiniteCarousel = (props: AlbumCarouselProps) => {
|
||||||
const { excludeIds, query: additionalQuery, rowCount = 1, sortBy, sortOrder, title } = props;
|
const { excludeIds, query: additionalQuery, rowCount = 1, sortBy, sortOrder, title } = props;
|
||||||
const rows = useGridRows(LibraryItem.ALBUM, ItemListKey.ALBUM);
|
const rows = useGridRows(LibraryItem.ALBUM, ItemListKey.ALBUM);
|
||||||
const {
|
const {
|
||||||
@@ -84,7 +84,11 @@ export function AlbumInfiniteCarousel(props: AlbumCarouselProps) {
|
|||||||
title={title}
|
title={title}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
export const AlbumInfiniteCarousel = (props: AlbumCarouselProps) => {
|
||||||
|
return <BaseAlbumInfiniteCarousel {...props} />;
|
||||||
|
};
|
||||||
|
|
||||||
function useAlbumListInfinite(
|
function useAlbumListInfinite(
|
||||||
sortBy: AlbumListSort,
|
sortBy: AlbumListSort,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ interface AlbumArtistCarouselProps {
|
|||||||
title: React.ReactNode | string;
|
title: React.ReactNode | string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function AlbumArtistInfiniteCarousel(props: AlbumArtistCarouselProps) {
|
export const BaseAlbumArtistInfiniteCarousel = (props: AlbumArtistCarouselProps) => {
|
||||||
const { excludeIds, query: additionalQuery, rowCount = 1, sortBy, sortOrder, title } = props;
|
const { excludeIds, query: additionalQuery, rowCount = 1, sortBy, sortOrder, title } = props;
|
||||||
const rows = useGridRows(LibraryItem.ALBUM_ARTIST, ItemListKey.ALBUM_ARTIST);
|
const rows = useGridRows(LibraryItem.ALBUM_ARTIST, ItemListKey.ALBUM_ARTIST);
|
||||||
const {
|
const {
|
||||||
@@ -86,7 +86,11 @@ export function AlbumArtistInfiniteCarousel(props: AlbumArtistCarouselProps) {
|
|||||||
title={title}
|
title={title}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
export const AlbumArtistInfiniteCarousel = (props: AlbumArtistCarouselProps) => {
|
||||||
|
return <BaseAlbumArtistInfiniteCarousel {...props} />;
|
||||||
|
};
|
||||||
|
|
||||||
function useAlbumArtistListInfinite(
|
function useAlbumArtistListInfinite(
|
||||||
sortBy: AlbumArtistListSort,
|
sortBy: AlbumArtistListSort,
|
||||||
|
|||||||
Reference in New Issue
Block a user