From a70088f078906bc1d3aebfc98cadae8b2bc051d3 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Mon, 9 Jun 2025 14:23:50 -0500 Subject: [PATCH] Flip hover behavior between collection and perma --- app/assets/stylesheets/card-columns.css | 33 +++++++++++++++++++------ app/assets/stylesheets/card-perma.css | 5 ++++ app/assets/stylesheets/cards.css | 20 +++------------ app/assets/stylesheets/trays.css | 4 +++ 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/app/assets/stylesheets/card-columns.css b/app/assets/stylesheets/card-columns.css index 692efdf5d..0fb49a337 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__footer, + .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/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; }