diff --git a/app/assets/stylesheets/cards.css b/app/assets/stylesheets/cards.css index bf35337d6..bcd8e8e2a 100644 --- a/app/assets/stylesheets/cards.css +++ b/app/assets/stylesheets/cards.css @@ -245,21 +245,10 @@ } .card__meta { - --border: 1px solid var(--card-color); + --meta-border: 1px solid var(--card-color); - align-items: center; - display: flex; max-inline-size: 100%; min-inline-size: 0; - } - - .card__meta-grid { - display: grid; - grid-template-columns: auto auto; - margin-inline-start: var(--inline-space); - } - - .card__meta-item { text-transform: uppercase; strong, @@ -267,27 +256,77 @@ font-weight: 900; } - &:nth-child(odd) { - border-inline-end: var(--border); - padding-inline-end: var(--inline-space); - } - - &:nth-child(even) { - padding-inline-start: var(--inline-space); - } - - /* First two */ - &:nth-child(-n+2) { - border-block-end: var(--border); - padding-block-end: 0.25ch; - } - - /* Last two */ - &:nth-child(n+3) { - padding-block-start: 0.25ch; + @media (min-width: 640px) { + align-items: center; + display: flex; } } + .card__meta-grid { + column-gap: var(--inline-space); + display: grid; + } + + .card__meta-grid--author { + grid-template-areas: + "avatar top" + "avatar bottom"; + grid-template-columns: auto 1fr; + + .card__meta-author { grid-area: avatar; } + .card__meta-text--added { grid-area: top; } + .card__meta-text--author { grid-area: bottom; } + + @media (min-width: 640px) { + border-inline-end: var(--meta-border); + + .card__meta-text { + padding-inline-end: var(--inline-space); + } + } + } + + .card__meta-grid--assigned { + grid-template-areas: + "top avatar" + "bottom avatar"; + grid-template-columns: 1fr auto; + + .card__meta-assignees { grid-area: avatar; } + .card__meta-text--updated { grid-area: top; } + .card__meta-text--assigned { grid-area: bottom; } + + .card__meta-assignees { + display: flex; + flex-shrink: 0; + } + + @media (min-width: 640px) { + .card__meta-text { + padding-inline-start: var(--inline-space); + } + } + } + + .card__meta-text--added, + .card__meta-text--updated { + border-block-end: var(--meta-border); + } + + .card__meta-author { + griad-area: avatar; + } + + + + + + + + + + + .card__timestamp { opacity: 0.66; } diff --git a/app/assets/stylesheets/trays.css b/app/assets/stylesheets/trays.css index c0caf8118..925f2e34f 100644 --- a/app/assets/stylesheets/trays.css +++ b/app/assets/stylesheets/trays.css @@ -367,7 +367,7 @@ .avatar, .card__tags, .card__meta .btn, - .card__meta-item:not(.card__meta-item--updated), + .card__meta-text:not(.card__meta-text--updated), .card__stages, .card__steps, .card__closed { @@ -405,7 +405,7 @@ z-index: 1; } - .card__meta-item--updated { + .card__meta-text--updated { border: 0; font-size: var(--text-x-small); opacity: 0.66; diff --git a/app/helpers/avatars_helper.rb b/app/helpers/avatars_helper.rb index eb05baf84..99cd57efa 100644 --- a/app/helpers/avatars_helper.rb +++ b/app/helpers/avatars_helper.rb @@ -11,10 +11,11 @@ module AvatarsHelper end def avatar_tag(user, hidden_for_screen_reader: false, **options) - link_to user_path(user), class: "avatar btn btn--circle", data: { turbo_frame: "_top" }, + link_to user_path(user), class: class_names("avatar btn btn--circle", options.delete(:class)), data: { turbo_frame: "_top" }, aria: { hidden: hidden_for_screen_reader, label: user.name }, - tabindex: hidden_for_screen_reader ? -1 : nil do - avatar_image_tag(user, **options) + tabindex: hidden_for_screen_reader ? -1 : nil, + **options do + avatar_image_tag(user) end end diff --git a/app/views/cards/display/common/_assignees.html.erb b/app/views/cards/display/common/_assignees.html.erb index 614a976e0..b02fb1c60 100644 --- a/app/views/cards/display/common/_assignees.html.erb +++ b/app/views/cards/display/common/_assignees.html.erb @@ -1,4 +1,4 @@ -