DRY this up

This commit is contained in:
Jason Zimdars
2025-06-19 20:42:11 -05:00
parent 8b9ee506a5
commit c2b92fd4f5
17 changed files with 34 additions and 28 deletions
+6
View File
@@ -122,6 +122,12 @@
}
.popup__list {
display: flex;
flex-direction: column;
inline-size: 100%;
margin: 0;
max-inline-size: 100%;
padding: 0;
row-gap: 2px;
}
+1 -1
View File
@@ -12,7 +12,7 @@
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
<% end %>
<ul class="flex flex-column full-width popup__list margin-none unpad max-width" data-filter-target="list">
<ul class="popup__list" data-filter-target="list">
<% @collection.users.active.alphabetically.each do |user| %>
<li class="popup__group flex align-center full-width" data-value="<%= user.name.downcase %>" data-filter-target="item" data-navigable-list-target="item">
<%= button_to card_assignments_path(@card, params: { assignee_id: user.id }), method: :post,
@@ -19,7 +19,7 @@
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
<% end %>
<ul class="flex flex-column full-width popup__list margin-block-start-half margin-none-inline margin-none-block-end unpad max-width" data-filter-target="list">
<ul class="popup__list margin-block-start-half margin-none-block-end" data-filter-target="list">
<% Current.user.collections.alphabetically.each do |collection| %>
<li class="popup__group flex align-center full-width" data-value="<%= collection.name.downcase %>" data-filter-target="item" data-navigable-list-target="item">
<%= button_to card_collection_path(card, params: { collection_id: collection.id }), method: :patch,
@@ -7,7 +7,7 @@
aria-label="Closed with reason…" aria-description="Closed with reason…"
data-dialog-target="dialog" data-action="turbo:before-cache@document->dialog#close">
<strong class="popup__title margin-block-start-half pad-inline-half">Closed with reason…</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column full-width popup__list",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:closure_reason_ids).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
@@ -1,4 +1,4 @@
<%= form_with url: cards_path, method: :get, class: "flex flex-column max-width popup__list full-width",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:collection_ids).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
+6 -6
View File
@@ -30,20 +30,20 @@
<%= render "events/filter/header" %>
<% if Current.user.collections.many? %>
<strong class="popup__group-title">Collections</strong>
<menu contents>
<ul class="popup__list">
<%= render "cards/index/collections_filter", filter: filter %>
</menu>
</ul>
<% end %>
<strong class="popup__group-title">Tags</strong>
<div class="flex flex-column max-width popup__list full-width">
<ul class="popup__list">
<%= render partial: "events/filter/tag", collection: Tag.all.alphabetically, as: :tag %>
</div>
</ul>
<strong class="popup__group-title">People</strong>
<div class="flex flex-column max-width popup__list full-width">
<ul class="popup__list">
<%= render partial: "events/filter/user", collection: User.active.alphabetically, as: :user %>
</div>
</ul>
<% if platform.desktop? %>
<footer class="popup__footer">
@@ -11,7 +11,7 @@
aria-label="In stage…" aria-description="In stage…"
data-dialog-target="dialog" data-action="turbo:before-cache@document->dialog#close">
<strong class="popup__title margin-block-start-half pad-inline-half">In stage(s)…</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column full-width popup__list",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:stage_ids).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
+1 -1
View File
@@ -1,5 +1,5 @@
<strong class="popup__group-title">Collections</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column max-width popup__list full-width",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% if Current.user.collections.one? %>
<%= link_to cards_path, class: "popup__group flex align-center", data: { value: Current.user.collections.first.name.downcase, filter_target: "item", navigable_list_target: "item" } do %>
+4 -4
View File
@@ -25,17 +25,17 @@
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
<%= render "events/filter/header" %>
<% if Current.user.collections.many? %>
<menu contents>
<ul class="popup__list">
<%= render "cards/show/collections" %>
</menu>
</ul>
<% end %>
<strong class="popup__group-title">Tags</strong>
<div class="flex flex-column max-width popup__list full-width">
<div class="popup__list">
<%= render partial: "events/filter/tag", collection: Tag.all.alphabetically, as: :tag %>
</div>
<strong class="popup__group-title">People</strong>
<div class="flex flex-column max-width popup__list full-width">
<div class="popup__list">
<%= render partial: "events/filter/user", collection: User.active.alphabetically, as: :user %>
</div>
+1 -1
View File
@@ -13,7 +13,7 @@
autocomplete: "off", data: { filter_target: "input", action: "input->filter#filter" } %>
<% end %>
<ul class="flex flex-column full-width popup__list margin-none unpad max-width" data-filter-target="list">
<ul class="popup__list" data-filter-target="list">
<% @tags.each do |tag| %>
<li class="popup__group flex align-center full-width" data-value="<%= tag.hashtag.downcase %>" data-filter-target="item" data-navigable-list-target="item">
<%= button_to card_taggings_path(@card, params: { tag_title: tag.title }), method: :post,
+5 -5
View File
@@ -26,24 +26,24 @@
<%= render "events/filter/header" %>
<strong class="popup__group-title">Collections</strong>
<%= form_with url: events_path, method: :get, class: "flex flex-column max-width popup__list full-width",
<%= form_with url: events_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% if Current.user.collections.many? %>
<menu contents>
<ul class="popup__list">
<%= render "events/filter/custom_collections" %>
<%= render "events/filter/all_collections_option", form: form, filter: filter %>
<%= render partial: "events/filter/collection_option", collection: Current.user.collections.alphabetically, as: :collection, locals: { form: form, filter: filter } %>
</menu>
</ul>
<% end %>
<% end %>
<strong class="popup__group-title">Tags</strong>
<div class="flex flex-column max-width popup__list full-width">
<div class="popup__list">
<%= render partial: "events/filter/tag", collection: Tag.all.alphabetically, as: :tag %>
</div>
<strong class="popup__group-title">People</strong>
<div class="flex flex-column max-width popup__list full-width">
<div class="popup__list">
<%= render partial: "events/filter/user", collection: User.active.alphabetically, as: :user %>
</div>
@@ -1,4 +1,4 @@
<div class="flex flex-column max-width popup__list full-width">
<div class="popup__list">
<% @filters.each do |filter| %>
<div class="popup__group flex align-center full-width gap-half overflow-ellipsis" data-filter-target="item" data-navigable-list-target="item">
<%= link_to cards_path(**filter.as_params), class: "btn popup__new popup__item" do %>
+1 -1
View File
@@ -14,7 +14,7 @@
<dialog class="events__popup popup panel flex-column align-start gap-half fill-white shadow" data-dialog-target="dialog" data-action="turbo:before-cache@document->dialog#close">
<strong class="popup__title margin-block-start-half pad-inline-half overflow-ellipsis">Assigned to…</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column full-width popup__list",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:assignee_ids, :assignment_status).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
+1 -1
View File
@@ -15,7 +15,7 @@
aria-label="Added by…" aria-description="Added by…"
data-dialog-target="dialog" data-action="turbo:before-cache@document->dialog#close">
<strong class="popup__title margin-block-start-half pad-inline-half">Added by…</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column full-width popup__list",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:creator_ids).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
+1 -1
View File
@@ -10,7 +10,7 @@
aria-label="Sort by…" aria-description="Sort by…"
data-dialog-target="dialog" data-action="turbo:before-cache@document->dialog#close">
<strong class="popup__title margin-block-start-half pad-inline-half">Sort by…</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column full-width popup__list",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:indexed_by).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
+1 -1
View File
@@ -14,7 +14,7 @@
aria-label="In stage…" aria-description="In stage…"
data-dialog-target="dialog" data-action="turbo:before-cache@document->dialog#close">
<strong class="popup__title margin-block-start-half pad-inline-half overflow-ellipsis">In stage…</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column full-width popup__list",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:stage_ids).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
+1 -1
View File
@@ -12,7 +12,7 @@
<dialog class="events__popup popup panel flex-column align-start gap-half fill-white shadow" data-dialog-target="dialog" data-action="turbo:before-cache@document->dialog#close">
<strong class="popup__title margin-block-start-half pad-inline-half overflow-ellipsis">Tagged…</strong>
<%= form_with url: cards_path, method: :get, class: "flex flex-column full-width popup__list",
<%= form_with url: cards_path, method: :get, class: "popup__list",
data: { controller: "form" } do |form| %>
<% filter.as_params.except(:tag_ids).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>