diff --git a/frontend/src/metadata/views/card/card-items/card-item/index.css b/frontend/src/metadata/views/card/card-items/card-item/index.css index 97f72ab409..8289cf9832 100644 --- a/frontend/src/metadata/views/card/card-items/card-item/index.css +++ b/frontend/src/metadata/views/card/card-items/card-item/index.css @@ -1,5 +1,6 @@ .sf-metadata-card-item { - width: 300px; + min-width: 0; + height: fit-content; background: #f9f9f9; border: 1px solid var(--bs-border-secondary-color); border-radius: 6px; @@ -8,6 +9,7 @@ flex-direction: column; overflow: hidden; user-select: none; + transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease; } .sf-metadata-card-item.selected { @@ -19,7 +21,26 @@ } .sf-metadata-card-item-image-container { - height: 200px; + position: relative; + width: 100%; + background: #fafafa; + overflow: hidden; + min-height: 150px; +} + +/* Use pseudo-element to establish aspect ratio (3:2) so height is always reserved */ +.sf-metadata-card-item-image-container::before { + content: ''; + display: block; + padding-top: 66.6667%; +} + +.sf-metadata-card-item-image-container .sf-metadata-card-item-image { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: contain; } .sf-metadata-card-item-text-container { @@ -93,6 +114,8 @@ .sf-metadata-card-item .file-name-formatter .sf-metadata-file-icon { transform: translateY(-1px); + max-width: 100%; + height: auto; } .sf-metadata-card-item .sf-metadata-card-item-field .collaborators-formatter { diff --git a/frontend/src/metadata/views/card/card-items/card-item/index.js b/frontend/src/metadata/views/card/card-items/card-item/index.js index bb12cbcb59..18c6507ad0 100644 --- a/frontend/src/metadata/views/card/card-items/card-item/index.js +++ b/frontend/src/metadata/views/card/card-items/card-item/index.js @@ -80,8 +80,8 @@ const CardItem = ({ onClick={handleClickCard} onContextMenu={onContextMenu} > -