diff --git a/app/assets/images/picture-zoom.svg b/app/assets/images/picture-zoom.svg new file mode 100644 index 000000000..c5fd4132e --- /dev/null +++ b/app/assets/images/picture-zoom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/stylesheets/card-columns.css b/app/assets/stylesheets/card-columns.css index 692efdf5d..15e8f03b0 100644 --- a/app/assets/stylesheets/card-columns.css +++ b/app/assets/stylesheets/card-columns.css @@ -82,6 +82,32 @@ .card__hide-on-index { display: none; } + + .card__background { + .card:has(& img:not([src=""])) { + .card__body, + .card__meta, + .workflow-stage:not(.workflow-stage--current) { + opacity: 0; + transition: opacity 0.2s ease-in-out; + + @media (any-hover: hover) { + .card:hover & { + opacity: 1; + } + } + } + } + + @media (any-hover: hover) { + .card:hover & { + img:not([src=""]) { + filter: blur(3px) brightness(1.2); + opacity: 0.2; + } + } + } + } } .cards__heading { @@ -117,14 +143,9 @@ box-shadow: none !important; } - .card__background { - display: none; - } - .card__collection { background-color: var(--color-canvas); color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); - padding: 0 0 0 var(--inline-space); } .card__collection-name { @@ -134,7 +155,6 @@ .card__header { color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); - margin: 0 0 calc(-0.5 * var(--card-padding-inline)) 0; } .card__title { @@ -197,7 +217,6 @@ max-inline-size: 110ch; padding-block: 0 var(--cards-gap); - .card__background, .card__meta { display: none; } diff --git a/app/assets/stylesheets/card-perma.css b/app/assets/stylesheets/card-perma.css index 27b096f29..47f4c4c8c 100644 --- a/app/assets/stylesheets/card-perma.css +++ b/app/assets/stylesheets/card-perma.css @@ -32,6 +32,11 @@ border: none; } + .card__background { + filter: brightness(1.2) contrast(0.8); + opacity: 0.2; + } + .card__meta, .card__stages { font-size: var(--text-small); diff --git a/app/assets/stylesheets/cards.css b/app/assets/stylesheets/cards.css index 92e540165..01f4883ba 100644 --- a/app/assets/stylesheets/cards.css +++ b/app/assets/stylesheets/cards.css @@ -41,19 +41,12 @@ img { block-size: 100%; + border-radius: var(--border-radius); inline-size: 100%; object-fit: cover; object-position: center; - opacity: 0.2; - transition: opacity 0.2s ease-in-out; - } - - @media (any-hover: hover) { - .card:hover & { - img:not([src=""]) { - opacity: 1; - } - } + opacity: 1; + transition: filter 0.2s ease-in-out, opacity 0.2s ease-in-out; } } @@ -68,6 +61,7 @@ .card__header { align-items: center; + border-radius: var(--border-radius) 0 0 0; display: flex; gap: var(--inline-space-half); margin-block-start: calc(-1 * var(--card-padding-block)); @@ -81,12 +75,6 @@ color: var(--color-ink-inverted); font-weight: 800; padding: var(--block-space-half) var(--inline-space) var(--block-space-half) var(--inline-space-double); - - .cards--considering & { - background-color: var(--color-canvas); - color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); - padding: 0 0 0 var(--inline-space); - } } .card__id { diff --git a/app/assets/stylesheets/icons.css b/app/assets/stylesheets/icons.css index 6d8f59329..e1e041b4b 100644 --- a/app/assets/stylesheets/icons.css +++ b/app/assets/stylesheets/icons.css @@ -56,6 +56,7 @@ .icon--picture-add { --svg: url("picture-add.svg "); } .icon--picture-double { --svg: url("picture-double.svg "); } .icon--picture-remove { --svg: url("picture-remove.svg "); } + .icon--picture-zoom { --svg: url("picture-zoom.svg "); } .icon--pinned { --svg: url("pinned.svg "); } .icon--qr-code { --svg: url("qr-code.svg "); } .icon--reaction { --svg: url("reaction.svg "); } diff --git a/app/assets/stylesheets/trays.css b/app/assets/stylesheets/trays.css index 2267ea20d..07f7e6f2d 100644 --- a/app/assets/stylesheets/trays.css +++ b/app/assets/stylesheets/trays.css @@ -217,6 +217,10 @@ } } + .card__background { + display: none; + } + .card__collection { padding-block: 0.25ch; } diff --git a/app/views/cards/_container.html.erb b/app/views/cards/_container.html.erb index 9d326af6a..f43466a2b 100644 --- a/app/views/cards/_container.html.erb +++ b/app/views/cards/_container.html.erb @@ -21,9 +21,8 @@ - - <%= render "cards/display/common/background", card: card %> <% end %> diff --git a/app/views/cards/display/_preview.html.erb b/app/views/cards/display/_preview.html.erb index 20eaecc78..4590b5e99 100644 --- a/app/views/cards/display/_preview.html.erb +++ b/app/views/cards/display/_preview.html.erb @@ -25,10 +25,9 @@ - <%= render "cards/display/common/background", card: card %> - <% if card.entropic? %> <%= render "cards/display/preview/bubble", card: card %> <% end %> diff --git a/app/views/cards/display/common/_background.html.erb b/app/views/cards/display/common/_background.html.erb index cd7f996fe..fbe28da85 100644 --- a/app/views/cards/display/common/_background.html.erb +++ b/app/views/cards/display/common/_background.html.erb @@ -2,6 +2,8 @@