fix: card height with date field (#1106)
This commit is contained in:
parent
e655745961
commit
79a6fc5a2e
@ -12,6 +12,7 @@ const collectionClasses = generateClassNames('Collection', [
|
||||
'header-icon',
|
||||
'header-label',
|
||||
'new-entry-button',
|
||||
'new-entry-button-text',
|
||||
]);
|
||||
|
||||
export default collectionClasses;
|
||||
|
@ -83,5 +83,10 @@
|
||||
|
||||
.CMS_Collection_new-entry-button {
|
||||
@apply hidden
|
||||
md:flex;
|
||||
md:flex
|
||||
min-w-0;
|
||||
}
|
||||
|
||||
.CMS_Collection_new-entry-button-text {
|
||||
@apply truncate;
|
||||
}
|
||||
|
@ -76,9 +76,11 @@ const CollectionHeader: FC<CollectionHeaderProps> = ({ collection }) => {
|
||||
</h2>
|
||||
{newEntryUrl ? (
|
||||
<Button to={newEntryUrl} className={collectionClasses['new-entry-button']}>
|
||||
{t('collection.collectionTop.newButton', {
|
||||
collectionLabel: collectionLabelSingular ?? pluralLabel,
|
||||
})}
|
||||
<div className={collectionClasses['new-entry-button-text']}>
|
||||
{t('collection.collectionTop.newButton', {
|
||||
collectionLabel: collectionLabelSingular ?? pluralLabel,
|
||||
})}
|
||||
</div>
|
||||
</Button>
|
||||
) : null}
|
||||
</div>
|
||||
|
@ -3,6 +3,7 @@ import AutoSizer from 'react-virtualized-auto-sizer';
|
||||
import { VariableSizeGrid as Grid } from 'react-window';
|
||||
|
||||
import {
|
||||
COLLECTION_CARD_DATE_HEIGHT,
|
||||
COLLECTION_CARD_HEIGHT,
|
||||
COLLECTION_CARD_HEIGHT_WITHOUT_IMAGE,
|
||||
COLLECTION_CARD_MARGIN,
|
||||
@ -64,7 +65,7 @@ const CardWrapper: FC<GridChildComponentProps<CardGridItemData>> = ({
|
||||
}
|
||||
const data = entryData[index];
|
||||
const cardHeight =
|
||||
index < cardHeights.length ? cardHeights[index] + COLLECTION_CARD_MARGIN : style.height;
|
||||
index < cardHeights.length ? cardHeights[index] + COLLECTION_CARD_MARGIN * 2 : style.height;
|
||||
|
||||
return (
|
||||
<div
|
||||
@ -114,9 +115,15 @@ const EntryListingCardGrid: FC<EntryListingCardGridProps> = ({
|
||||
}, []);
|
||||
|
||||
const getDefaultHeight = useCallback((data?: CollectionEntryData) => {
|
||||
return isNotNullish(data?.imageFieldName)
|
||||
const base = isNotNullish(data?.imageFieldName)
|
||||
? COLLECTION_CARD_HEIGHT
|
||||
: COLLECTION_CARD_HEIGHT_WITHOUT_IMAGE;
|
||||
|
||||
if (isNotNullish(data?.dateFieldName)) {
|
||||
return base + COLLECTION_CARD_DATE_HEIGHT;
|
||||
}
|
||||
|
||||
return base;
|
||||
}, []);
|
||||
|
||||
const [prevCardHeights, setPrevCardHeight] = useState<number[]>([]);
|
||||
@ -185,12 +192,12 @@ const EntryListingCardGrid: FC<EntryListingCardGridProps> = ({
|
||||
}
|
||||
|
||||
if (cardHeights[i] > rowHeight && cardHeights[i]) {
|
||||
rowHeight = cardHeights[i] + COLLECTION_CARD_MARGIN;
|
||||
rowHeight = cardHeights[i] + COLLECTION_CARD_MARGIN * 2;
|
||||
}
|
||||
}
|
||||
|
||||
if (rowHeight === 0) {
|
||||
rowHeight = getDefaultHeight() + COLLECTION_CARD_MARGIN;
|
||||
rowHeight = getDefaultHeight() + COLLECTION_CARD_MARGIN * 2;
|
||||
}
|
||||
|
||||
return rowHeight;
|
||||
|
@ -8,6 +8,7 @@ export const COLLECTION_CARD_WIDTH = 240;
|
||||
export const COLLECTION_CARD_HEIGHT = 204;
|
||||
export const COLLECTION_CARD_IMAGE_HEIGHT = 140;
|
||||
export const COLLECTION_CARD_HEIGHT_WITHOUT_IMAGE = 56;
|
||||
export const COLLECTION_CARD_DATE_HEIGHT = 24;
|
||||
export const COLLECTION_CARD_MARGIN = 10;
|
||||
|
||||
export const EDITOR_SIZE_COMPACT = 'compact';
|
||||
|
Loading…
x
Reference in New Issue
Block a user