diff --git a/app/assets/stylesheets/card-columns.css b/app/assets/stylesheets/card-columns.css index a051261af..ed0a7134d 100644 --- a/app/assets/stylesheets/card-columns.css +++ b/app/assets/stylesheets/card-columns.css @@ -111,6 +111,10 @@ .card { inline-size: calc(var(--column-width-expanded) - var(--column-padding-expanded) * 2); } + + .cards--grid & { + display: contents; + } } .cards__new-column { @@ -123,8 +127,10 @@ --card-grid-columns: 1; container-type: inline-size; + display: flex; flex-direction: row; flex-wrap: wrap; + gap: var(--cards-gap); justify-content: center; margin-inline: auto; max-inline-size: var(--main-width); @@ -589,6 +595,7 @@ --card-padding-block: var(--block-space); border: 1px solid var(--border-color); + margin-block-end: var(--cards-gap); text-align: center; &:has(dialog[open]) { diff --git a/app/assets/stylesheets/cards.css b/app/assets/stylesheets/cards.css index add8f892f..38213e31e 100644 --- a/app/assets/stylesheets/cards.css +++ b/app/assets/stylesheets/cards.css @@ -320,6 +320,10 @@ position: absolute; rotate: 5deg; transform-origin: top right; + + .cards & { + display: none; + } } .card:has(.card__closed), diff --git a/app/assets/stylesheets/filters.css b/app/assets/stylesheets/filters.css index 7e609bf29..baa876e96 100644 --- a/app/assets/stylesheets/filters.css +++ b/app/assets/stylesheets/filters.css @@ -107,7 +107,7 @@ --input-background: var(--color-canvas); --input-border-radius: 5em; --input-padding: 0.5em 1.3em; - --input-width: 24ch; + --input-width: 16em; --collapsed-filter-space: calc(var(--btn-size) + var(--inline-space-half) + 0.25em); inline-size: var(--input-width); diff --git a/app/assets/stylesheets/notifications.css b/app/assets/stylesheets/notifications.css index c5d3f4c50..878eb25c5 100644 --- a/app/assets/stylesheets/notifications.css +++ b/app/assets/stylesheets/notifications.css @@ -3,12 +3,14 @@ /* ------------------------------------------------------------------------ */ .notifications-list { + --panel-size: 45ch; + .tray__item { position: relative; &[aria-selected] { outline: 0; - + .card { border-radius: 0.25ch; outline: var(--focus-ring-size) solid var(--focus-ring-color); @@ -56,8 +58,8 @@ &:before { opacity: 0; } - - .icon { + + .icon { opacity: 1; } } diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index 031236b1c..7e0ae61cf 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -61,7 +61,7 @@ module EventsHelper end def comment_event_action_sentence(event) - "#{h event_creator_name(event) } commented on #{h event.eventable.card.title }".html_safe + "#{h event_creator_name(event) } commented on \"#{h event.eventable.card.title }\"".html_safe end def event_creator_name(event) @@ -75,28 +75,28 @@ module EventsHelper case event.action when "card_assigned" if event.assignees.include?(Current.user) - "#{h event_creator_name(event) } will handle #{h title }".html_safe + "#{h event_creator_name(event) } will handle \"#{h title }\"".html_safe else - "#{h event_creator_name(event) } assigned #{h event.assignees.pluck(:name).to_sentence } to #{h title }".html_safe + "#{h event_creator_name(event) } assigned #{h event.assignees.pluck(:name).to_sentence } to \"#{h title }\"".html_safe end when "card_unassigned" - "#{h event_creator_name(event) } unassigned #{ h(event.assignees.include?(Current.user) ? "yourself" : event.assignees.pluck(:name).to_sentence) } from #{h title }".html_safe + "#{h event_creator_name(event) } unassigned #{ h(event.assignees.include?(Current.user) ? "yourself" : event.assignees.pluck(:name).to_sentence) } from \"#{h title }\"".html_safe when "card_published" - "#{h event_creator_name(event) } added #{h title }".html_safe + "#{h event_creator_name(event) } added \"#{h title }\"".html_safe when "card_closed" - "#{h event_creator_name(event) } marked #{h title } as done".html_safe + "#{h event_creator_name(event) } marked \"#{h title }\" as done".html_safe when "card_reopened" - "#{h event_creator_name(event) } reopened #{h title }".html_safe + "#{h event_creator_name(event) } reopened \"#{h title }\"".html_safe when "card_due_date_added" - "#{h event_creator_name(event)} set the date to #{h event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on #{h title }".html_safe + "#{h event_creator_name(event)} set the date to #{h event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on \"#{h title }\"".html_safe when "card_due_date_changed" - "#{h event_creator_name(event)} changed the date to #{h event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on #{h title }".html_safe + "#{h event_creator_name(event)} changed the date to #{h event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on \"#{h title }\"".html_safe when "card_due_date_removed" - "#{h event_creator_name(event)} removed the date on #{h title }".html_safe + "#{h event_creator_name(event)} removed the date on \"#{h title }\"".html_safe when "card_title_changed" - "#{h event_creator_name(event)} renamed #{h title } (was: '#{h event.particulars.dig('particulars', 'old_title')})'".html_safe + "#{h event_creator_name(event)} renamed \"#{h title }\" (was: '#{h event.particulars.dig('particulars', 'old_title')})'".html_safe when "card_collection_changed" - "#{h event_creator_name(event)} moved #{h title } to '#{h event.particulars.dig('particulars', 'new_collection')}'".html_safe + "#{h event_creator_name(event)} moved \"#{h title }\" to '#{h event.particulars.dig('particulars', 'new_collection')}'".html_safe end end diff --git a/app/models/filter/resources.rb b/app/models/filter/resources.rb index 9110d3727..d166737fe 100644 --- a/app/models/filter/resources.rb +++ b/app/models/filter/resources.rb @@ -23,7 +23,7 @@ module Filter::Resources def collection_titles if collections.none? - Collection.one? ? [ Collection.first.name ] : [ "All collections" ] + Collection.one? ? [ Collection.first.name ] : [ "All Boards" ] else collections.map(&:name) end diff --git a/app/models/notification_pusher.rb b/app/models/notification_pusher.rb index 000a80fff..65449b0a8 100644 --- a/app/models/notification_pusher.rb +++ b/app/models/notification_pusher.rb @@ -47,7 +47,8 @@ class NotificationPusher when "comment_created" base_payload.merge( title: "RE: #{base_payload[:title]}", - body: comment_notification_body(event) + body: comment_notification_body(event), + path: card_path_with_comment_anchor(event.eventable) ) when "card_assigned" base_payload.merge( @@ -111,4 +112,8 @@ class NotificationPusher def card_path(card) "#{Account.sole.slug}#{Rails.application.routes.url_helpers.card_path(card)}" end + + def card_path_with_comment_anchor(comment) + "#{Account.sole.slug}#{Rails.application.routes.url_helpers.card_path(comment.card, anchor: ActionView::RecordIdentifier.dom_id(comment))}" + end end diff --git a/app/models/tag.rb b/app/models/tag.rb index 0247a0fa5..9c6e6c260 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -15,6 +15,6 @@ class Tag < ApplicationRecord end def cards_count - cards.count + cards.open.count end end diff --git a/app/views/account/settings/_users.html.erb b/app/views/account/settings/_users.html.erb index 61449f09a..15938f7e7 100644 --- a/app/views/account/settings/_users.html.erb +++ b/app/views/account/settings/_users.html.erb @@ -4,8 +4,9 @@ navigable_list_focus_on_selection_value: true, navigable_list_actionable_items_value: true } do %> +