mirror of
https://github.com/we-promise/sure.git
synced 2026-04-19 12:04:08 +00:00
Multi-step account forms + clearer balance editing (#2427)
* Initial multi-step property form * Improve form structure, add optional tooltip help icons to form fields * Add basic inline alert component * Clean up and improve property form lifecycle * Implement Account status concept * Lint fixes * Remove whitespace * Balance editing, scope updates for account * Passing tests * Fix brakeman warning * Remove stale columns * data constraint tweaks * Redundant property
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<%# locals: (entry:) %>
|
||||
<%# locals: (entry:, error_message:) %>
|
||||
|
||||
<%= styled_form_with model: entry, url: valuations_path, class: "space-y-4" do |form| %>
|
||||
<%= form.hidden_field :account_id %>
|
||||
|
||||
<% if entry.errors.any? %>
|
||||
<%= render "shared/form_errors", model: entry %>
|
||||
<% if error_message.present? %>
|
||||
<%= render AlertComponent.new(message: error_message, variant: :error) %>
|
||||
<% end %>
|
||||
|
||||
<div class="space-y-3">
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<%= tag.header class: "mb-4 space-y-1", id: dom_id(entry, :header) do %>
|
||||
<span class="text-secondary text-sm">
|
||||
<%= t(".balance") %>
|
||||
<%= entry.name %>
|
||||
</span>
|
||||
|
||||
<div class="flex items-center gap-4">
|
||||
|
||||
@@ -25,15 +25,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-span-2 justify-self-end font-medium text-sm">
|
||||
<% if balance_trend&.trend %>
|
||||
<%= tag.span format_money(balance_trend.trend.value), style: "color: #{balance_trend.trend.color}" %>
|
||||
<% else %>
|
||||
<%= tag.span "--", class: "text-gray-400" %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="col-span-2 justify-self-end">
|
||||
<div class="col-span-4 justify-self-end">
|
||||
<%= tag.p format_money(entry.amount_money), class: "font-medium text-sm text-primary" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%= render DialogComponent.new do |dialog| %>
|
||||
<% dialog.with_header(title: t(".title")) %>
|
||||
<% dialog.with_body do %>
|
||||
<%= render "form", entry: @entry %>
|
||||
<%= render "form", entry: @entry, error_message: @error_message %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
@@ -6,17 +6,18 @@
|
||||
<% end %>
|
||||
|
||||
<% dialog.with_body do %>
|
||||
<% if @error_message.present? %>
|
||||
<div class="mb-4">
|
||||
<%= render AlertComponent.new(message: @error_message, variant: :error) %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% dialog.with_section(title: t(".overview"), open: true) do %>
|
||||
<div class="pb-4">
|
||||
<%= styled_form_with model: entry,
|
||||
url: entry_path(entry),
|
||||
class: "space-y-2",
|
||||
data: { controller: "auto-submit-form" } do |f| %>
|
||||
<%= f.text_field :name,
|
||||
label: t(".name_label"),
|
||||
placeholder: t(".name_placeholder"),
|
||||
"data-auto-submit-form-target": "auto" %>
|
||||
|
||||
<%= f.date_field :date,
|
||||
label: t(".date_label"),
|
||||
max: Date.current,
|
||||
|
||||
Reference in New Issue
Block a user