mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 13:19:39 +02:00
Replace sync spinners with pulse animation (#2413)
* Replace sync spinners with pulse animation * Remove dev code
This commit is contained in:
parent
637d630388
commit
4b50acff2b
7 changed files with 27 additions and 44 deletions
|
@ -2,6 +2,9 @@
|
|||
<%= tag.summary class: class_names(
|
||||
"px-3 py-2 rounded-xl cursor-pointer flex items-center justify-between bg-surface"
|
||||
) do %>
|
||||
<% if summary_content? %>
|
||||
<%= summary_content %>
|
||||
<% else %>
|
||||
<div class="flex items-center gap-3">
|
||||
<% if align == :left %>
|
||||
<%= helpers.icon "chevron-right", class: "group-open:transform group-open:rotate-90" %>
|
||||
|
@ -14,8 +17,7 @@
|
|||
|
||||
<% if align == :right %>
|
||||
<%= helpers.icon "chevron-down", class: "group-open:transform group-open:rotate-180" %>
|
||||
<% elsif summary_content? %>
|
||||
<%= summary_content %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ class DisclosureComponent < ViewComponent::Base
|
|||
|
||||
attr_reader :title, :align, :open, :opts
|
||||
|
||||
def initialize(title:, align: "right", open: false, **opts)
|
||||
def initialize(title: nil, align: "right", open: false, **opts)
|
||||
@title = title
|
||||
@align = align.to_sym
|
||||
@open = open
|
||||
|
|
|
@ -2,13 +2,14 @@
|
|||
|
||||
<div id="<%= account_group.dom_id(tab: all_tab ? :all : nil, mobile: mobile) %>">
|
||||
<% is_open = open.nil? ? account_group.accounts.any? { |account| page_active?(account_path(account)) } : open %>
|
||||
<%= render DisclosureComponent.new(title: account_group.name, align: :left, open: is_open) do |disclosure| %>
|
||||
<%= render DisclosureComponent.new(align: :left, open: is_open) do |disclosure| %>
|
||||
<% disclosure.with_summary_content do %>
|
||||
<% if account_group.syncing? %>
|
||||
<div class="ml-2 group-open:hidden">
|
||||
<%= render partial: "shared/sync_indicator", locals: { size: "xs" } %>
|
||||
</div>
|
||||
<div class="flex items-center gap-3">
|
||||
<%= icon "chevron-right", class: "group-open:transform group-open:rotate-90" %>
|
||||
<%= tag.span class: class_names("text-sm text-primary font-medium", "animate-pulse" => account_group.syncing?) do %>
|
||||
<%= account_group.name %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="ml-auto text-right grow">
|
||||
<%= tag.p format_money(account_group.total_money), class: "text-sm font-medium text-primary" %>
|
||||
|
@ -32,10 +33,7 @@
|
|||
|
||||
<div class="min-w-0 grow">
|
||||
<div class="flex items-center gap-2 mb-0.5">
|
||||
<%= tag.p account.name, class: "text-sm text-primary font-medium truncate" %>
|
||||
<% if account.syncing? %>
|
||||
<%= render partial: "shared/sync_indicator", locals: { size: "xs" } %>
|
||||
<% end %>
|
||||
<%= tag.p account.name, class: class_names("text-sm text-primary font-medium truncate", "animate-pulse" => account.syncing?) %>
|
||||
</div>
|
||||
<%= tag.p account.short_subtype_label, class: "text-sm text-secondary truncate" %>
|
||||
</div>
|
||||
|
|
|
@ -12,15 +12,11 @@
|
|||
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="truncate">
|
||||
<h2 class="font-medium text-xl truncate"><%= title || account.name %></h2>
|
||||
<h2 class="font-medium text-xl truncate <%= "animate-pulse" if account.syncing? %>"><%= title || account.name %></h2>
|
||||
<% if subtitle.present? %>
|
||||
<p class="text-sm text-secondary"><%= subtitle %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if account.syncing? %>
|
||||
<%= render partial: "shared/sync_indicator", locals: { size: "sm" } %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="bg-container shadow-border-xs rounded-xl space-y-4 p-4">
|
||||
<div class="flex items-center gap-2">
|
||||
<h2 class="text-lg font-medium inline-flex items-center gap-1.5">
|
||||
<span>
|
||||
<span class="<%= "animate-pulse" if classification_group.syncing? %>">
|
||||
<%= classification_group.name %>
|
||||
</span>
|
||||
|
||||
|
@ -14,10 +14,6 @@
|
|||
<span class="text-secondary font-medium text-lg"><%= classification_group.total_money.format(precision: 0) %></span>
|
||||
<% end %>
|
||||
</h2>
|
||||
|
||||
<% if classification_group.syncing? %>
|
||||
<%= render partial: "shared/sync_indicator", locals: { size: "sm" } %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if classification_group.account_groups.any? %>
|
||||
|
|
|
@ -7,13 +7,9 @@
|
|||
<div class="space-y-2">
|
||||
<div class="flex items-center gap-2">
|
||||
<p class="text-sm text-secondary font-medium"><%= t(".title") %></p>
|
||||
|
||||
<% if balance_sheet.syncing? %>
|
||||
<%= render partial: "shared/sync_indicator", locals: { size: "sm" } %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<p class="text-primary -space-x-0.5 text-3xl font-medium">
|
||||
<p class="text-primary -space-x-0.5 text-3xl font-medium <%= "animate-pulse" if balance_sheet.syncing? %>">
|
||||
<%= series.trend.current.format %>
|
||||
</p>
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<%# locals: (size: "md") %>
|
||||
|
||||
<div class="animate-spin text-gray-500">
|
||||
<%= icon "loader-circle", color: "current", size: size %>
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue