mirror of
https://github.com/we-promise/sure.git
synced 2026-04-08 14:54:49 +00:00
* pwa(cleanup): enforce LF, head meta + icons, manifest orientation, remove static webmanifest * pwa(cleanup): add gitattributes, head meta/icons, manifest orientation; remove static manifest; small nav & dashboard fixes * pwa(cleanup): improve transaction drawer header layout with inline close button * fix: address PR review feedback - Add dom_id to transaction header for Turbo Stream updates (Codex) - Add pending badge next to date when transaction is pending (CodeRabbit) - Make close button keyboard-focusable by removing tabindex=-1 (CodeRabbit) - Fix settings nav horizontal scroll with flex-nowrap space-x-1 (CodeRabbit) * fix: localize 'Linked with Plaid' tooltip string (CodeRabbit) * Update .gitattributes Better comment smh * fix: align transaction/transfer dialog icons and update transfer drawer pattern - Fix icon alignment in transaction header (items-center instead of items-start) - Make transfer/linked icons consistent size and color - Update transfers/show.html.erb to use frame: drawer with hide_close_icon pattern - Match transfer dialog header layout with transaction details * fix: enhance header layout This in the transaction and transfer views, with consistent icon placement * fix: remove fixed height from HTML document class basically a regression issue pretty sure * fix: update dialog rendering to use 'frame' and hide close icon in headers * fix: update transaction type tabs layout for improved responsiveness * fix: conditionally render transaction type tabs based on account type
39 lines
2.0 KiB
Plaintext
39 lines
2.0 KiB
Plaintext
<%= styled_form_with model: transfer, class: "space-y-4", data: { turbo_frame: "_top", controller: "transfer-form" } do |f| %>
|
|
<% if transfer.errors.present? %>
|
|
<div class="text-destructive flex items-center gap-2">
|
|
<%= icon "circle-alert", size: "sm" %>
|
|
<p class="text-sm"><%= @transfer.errors.full_messages.to_sentence %></p>
|
|
</div>
|
|
<% end %>
|
|
|
|
<%# Hide expense/income tabs when creating a transfer involving an investment or crypto account. %>
|
|
<% show_type_tabs = true %>
|
|
<% account_ids = [] %>
|
|
<% account_ids << @from_account_id if defined?(@from_account_id) && @from_account_id.present? %>
|
|
<% account_ids << params[:from_account_id] if params[:from_account_id].present? %>
|
|
<% account_ids << params[:to_account_id] if params[:to_account_id].present? %>
|
|
<% account_ids << transfer.from_account_id if transfer.respond_to?(:from_account_id) && transfer.from_account_id.present? %>
|
|
<% account_ids << transfer.to_account_id if transfer.respond_to?(:to_account_id) && transfer.to_account_id.present? %>
|
|
|
|
<% if account_ids.any? && Current.family.accounts.where(id: account_ids).any? { |a| a.investment? || a.crypto? } %>
|
|
<% show_type_tabs = false %>
|
|
<% end %>
|
|
|
|
<% if show_type_tabs %>
|
|
<section>
|
|
<%= render "shared/transaction_type_tabs", active_tab: "transfer" %>
|
|
</section>
|
|
<% end %>
|
|
|
|
<section class="space-y-2">
|
|
<%= f.collection_select :from_account_id, Current.family.accounts.alphabetically, :id, :name, { prompt: t(".select_account"), label: t(".from"), selected: @from_account_id }, required: true %>
|
|
<%= f.collection_select :to_account_id, Current.family.accounts.alphabetically, :id, :name, { prompt: t(".select_account"), label: t(".to") }, required: true %>
|
|
<%= f.number_field :amount, label: t(".amount"), required: true, min: 0, placeholder: "100", step: 0.00000001 %>
|
|
<%= f.date_field :date, value: transfer.inflow_transaction&.entry&.date || Date.current, label: t(".date"), required: true, max: Date.current %>
|
|
</section>
|
|
|
|
<section>
|
|
<%= f.submit t(".submit") %>
|
|
</section>
|
|
<% end %>
|