diff --git a/frontend/src/scss/_card.scss b/frontend/src/scss/_card.scss index 45c5794..bc5cd63 100644 --- a/frontend/src/scss/_card.scss +++ b/frontend/src/scss/_card.scss @@ -56,4 +56,15 @@ padding-left: 1.25rem; } } +} + +.img-preview-fixed { + height: 160px; + object-fit: cover; +} + +.img-preview-fluid { + width: 100%; + height: auto; + object-fit: cover; } \ No newline at end of file diff --git a/frontend/src/scss/_masonry.scss b/frontend/src/scss/_masonry.scss new file mode 100644 index 0000000..0425047 --- /dev/null +++ b/frontend/src/scss/_masonry.scss @@ -0,0 +1,35 @@ +// Shared by any view rendering a Pinterest-style image grid (Inventory.vue, +// Search.vue, Files.vue) - keeps their column counts and breakpoints in sync. +.masonry-grid { + column-count: 2; + column-gap: 1rem; +} + +.masonry-item { + break-inside: avoid; + margin-bottom: 1rem; +} + +@include media-breakpoint-up(md) { + .masonry-grid { + column-count: 3; + } +} + +@include media-breakpoint-up(lg) { + .masonry-grid { + column-count: 4; + } +} + +@include media-breakpoint-up(xl) { + .masonry-grid { + column-count: 6; + } +} + +@include media-breakpoint-up(xxl) { + .masonry-grid { + column-count: 12; + } +} diff --git a/frontend/src/scss/toolshed.scss b/frontend/src/scss/toolshed.scss index 5a41d97..0a4d36d 100644 --- a/frontend/src/scss/toolshed.scss +++ b/frontend/src/scss/toolshed.scss @@ -95,6 +95,7 @@ $body-color: $gray-700; @import "tags"; @import "dropdown"; @import "label-fonts"; +@import "masonry"; #root, body, html { height: 100%; diff --git a/frontend/src/views/Files.vue b/frontend/src/views/Files.vue index 7668656..307bf53 100644 --- a/frontend/src/views/Files.vue +++ b/frontend/src/views/Files.vue @@ -12,7 +12,7 @@
+ class="img-preview-fluid"/>
@@ -72,51 +72,9 @@ export default { } - \ No newline at end of file diff --git a/frontend/src/views/Inventory.vue b/frontend/src/views/Inventory.vue index f8f35a7..5445d21 100644 --- a/frontend/src/views/Inventory.vue +++ b/frontend/src/views/Inventory.vue @@ -83,7 +83,7 @@ + class="card-img-top img-preview-fluid"/>
@@ -127,7 +127,7 @@ + class="card-img-top img-preview-fixed"/>
@@ -299,58 +299,11 @@ export default { } - \ No newline at end of file