add compact styling to LibraryHeader

This commit is contained in:
jeffvli
2026-02-11 21:31:17 -08:00
parent 16a9d6e702
commit 2647c36326
3 changed files with 57 additions and 2 deletions
@@ -93,6 +93,7 @@ export const PlaylistDetailSongListHeader = ({
</PageHeader>
) : (
<LibraryHeader
compact
imageUrl={imageUrl}
item={{
imageId: detailQuery?.data?.imageId,
@@ -56,6 +56,52 @@
height: 250px;
}
}
&.compact {
min-height: unset;
padding: var(--theme-spacing-md) var(--theme-spacing-xs);
:global(.item-image-placeholder) {
width: 250px !important;
height: 250px;
}
.image {
width: 250px !important;
height: 250px;
}
@container (min-width: $mantine-breakpoint-sm) {
grid-template-columns: 200px minmax(0, 1fr);
min-height: unset;
padding: var(--theme-spacing-md) var(--theme-spacing-sm);
.image {
width: 200px !important;
height: 200px;
}
:global(.item-image-placeholder) {
width: 200px !important;
height: 200px;
}
}
@container (min-width: $mantine-breakpoint-lg) {
grid-template-columns: 200px minmax(0, 1fr);
padding: var(--theme-spacing-md) var(--theme-spacing-md);
.image {
width: 200px !important;
height: 200px;
}
:global(.item-image-placeholder) {
width: 200px !important;
height: 200px;
}
}
}
}
.image-section {
@@ -32,6 +32,7 @@ import { Play } from '/@/shared/types/types';
interface LibraryHeaderProps {
children?: ReactNode;
compact?: boolean;
containerClassName?: string;
imagePlaceholderUrl?: null | string;
imageUrl?: null | string;
@@ -49,7 +50,7 @@ interface LibraryHeaderProps {
export const LibraryHeader = forwardRef(
(
{ children, containerClassName, imageUrl, item, title }: LibraryHeaderProps,
{ children, compact, containerClassName, imageUrl, item, title }: LibraryHeaderProps,
ref: Ref<HTMLDivElement>,
) => {
const { t } = useTranslation();
@@ -125,7 +126,14 @@ export const LibraryHeader = forwardRef(
}, [item.explicitStatus, item.imageId, item.type]);
return (
<div className={clsx(styles.libraryHeader, containerClassName)} ref={ref}>
<div
className={clsx(
styles.libraryHeader,
containerClassName,
compact && styles.compact,
)}
ref={ref}
>
<div
className={styles.imageSection}
onClick={() => {