Files
fizzy/app/views/bubbles/list/_bubble.html.erb
T
Jason Zimdars 2e772abf25 Refine layout
2024-11-20 16:48:49 -06:00

36 lines
1.7 KiB
Plaintext

<li class="flex align-center gap-half margin-none" style="--bubble-color: <%= bubble.color %>; <%= bubble_rotation(bubble) %>"
data-controller="animation" data-animation-play-class="bubble--wobble" data-animation-play-on-load-value="true" data-action="mouseover->animation#play">
<div class="bubble__shape flex-item-no-shrink"></div>
<div class="flex flex-column">
<%= link_to bucket_bubble_path(bubble.bucket, bubble), class: "bubble__title-link flex align-center gap min-width" do %>
<strong class="bubble__title-text flex--inline gap-half overflow-ellipsis"><%= bubble.title %></strong>
<% end %>
<div class="flex align-end gap-half">
<% bubble.tags.each do |tag| %>
<%= link_to tag.hashtag, bubbles_path(@filter.to_params.merge(tag_ids: [ tag.id ])),
class: "btn btn--plain txt-small fill-transparent", style: "color: #{bubble.color}" %>
<% end %>
</div>
</div>
<hr class="separator--horizontal flex-item-grow" aria-hidden="true" style="--border-color: var(--color-subtle-dark); --border-style: dashed" />
<div class="flex align-center gap-half flex-item-no-shrink">
<% bubble.assignees.each do |assignee| %>
<%= link_to bubbles_path(@filter.to_params.merge(assignee_ids: [ assignee.id ])), class: "btn avatar txt-x-small" do %>
<%= avatar_image_tag assignee, loading: :lazy %>
<% end %>
<% end %>
</div>
<% if bubble.due_on.present? %>
<time class="txt-nowrap txt-small fill-black txt-reversed border-radius" style="background-color: <%= bubble.color %>; padding: 0.3em 0.6em;">
<strong>DUE:</strong> <%= bubble.due_on.strftime("%b %d") %>
</time>
<% end %>
</li>