change labels

This commit is contained in:
Shibu M
2026-06-04 19:12:12 +00:00
parent f6b0d42a40
commit c07c0b2e61
4 changed files with 24 additions and 32 deletions

View File

@@ -74,17 +74,17 @@
</section>
<section>
<%= render DS::Disclosure.new(title: t(".bank_fees"), open: false, variant: :inline) do %>
<%= render DS::Disclosure.new(title: t(".bank_charges"), open: false, variant: :inline) do %>
<div class="space-y-2 pt-2">
<%= f.number_field :source_fee_amount,
label: t(".source_fee"),
label: t(".outgoing_fee"),
min: 0,
placeholder: "0.00",
step: "any",
data: { transfer_form_target: "sourceFee" } %>
<%= f.number_field :destination_fee_amount,
label: t(".destination_fee"),
label: t(".incoming_fee"),
min: 0,
placeholder: "0.00",
step: "any",

View File

@@ -38,20 +38,11 @@
<dd class="font-medium text-destructive privacy-sensitive"><%= format_money @transfer.outflow_transaction.entry.amount_money * -1 %></dd>
</dl>
</div>
<% if @transfer.has_source_fee? %>
<% if @transfer.has_fees? %>
<dl class="flex items-center gap-2 justify-between">
<dt class="text-secondary"><%= t(".source_fee") %></dt>
<dt class="text-secondary"><%= t(".bank_charges") %></dt>
<dd class="font-medium text-destructive privacy-sensitive">
-<%= format_money Money.new(@transfer.source_fee_amount, @transfer.from_account.currency) %>
</dd>
</dl>
<% end %>
<% if @transfer.has_destination_fee? %>
<dl class="flex items-center gap-2 justify-between">
<dt class="text-secondary"><%= t(".destination_fee") %></dt>
<dd class="font-medium text-destructive privacy-sensitive">
-<%= format_money Money.new(@transfer.destination_fee_amount, @transfer.to_account.currency) %>
-<%= format_money Money.new(@transfer.total_fee, @transfer.from_account.currency) %>
</dd>
</dl>
<% end %>

View File

@@ -7,13 +7,14 @@ en:
success: Transfer removed
form:
amount: Amount
bank_fees: Bank fees
bank_charges: Bank Charges
outgoing_fee: Outgoing transfer fee
incoming_fee: Incoming transfer fee
calculate_rate_tab: Calculate FX rate
convert_tab: Convert with FX rate
date: Date
destination_amount: Destination amount
destination_amount_display: "Destination amount: %{amount}"
destination_fee: Fee deducted from destination
exchange_rate: Exchange rate
exchange_rate_display: "Exchange rate: %{rate}"
exchange_rate_help: Choose how to enter the transfer amount.
@@ -22,7 +23,6 @@ en:
income: Income
select_account: Select account
source_amount: Source amount
source_fee: Fee charged to source
submit: Create transfer
to: To
transfer: Transfer
@@ -46,8 +46,7 @@ en:
to: To
date: Date
amount: Amount
source_fee: Source fee
destination_fee: Destination fee
bank_charges: Bank Charges
category: Category
uncategorized: Uncategorized
update:

26
db/schema.rb generated
View File

@@ -42,7 +42,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.index ["account_id"], name: "index_account_shares_on_account_id"
t.index ["user_id", "include_in_finances"], name: "index_account_shares_on_user_id_and_include_in_finances"
t.index ["user_id"], name: "index_account_shares_on_user_id"
t.check_constraint "permission::text = ANY (ARRAY['full_control'::character varying, 'read_write'::character varying, 'read_only'::character varying]::text[])", name: "chk_account_shares_permission"
t.check_constraint "permission::text = ANY (ARRAY['full_control'::character varying::text, 'read_write'::character varying::text, 'read_only'::character varying::text])", name: "chk_account_shares_permission"
end
create_table "account_statements", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
@@ -91,9 +91,9 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.check_constraint "match_confidence IS NULL OR match_confidence >= 0::numeric AND match_confidence <= 1::numeric", name: "chk_account_statements_match_confidence"
t.check_constraint "parser_confidence IS NULL OR parser_confidence >= 0::numeric AND parser_confidence <= 1::numeric", name: "chk_account_statements_parser_confidence"
t.check_constraint "period_start_on IS NULL OR period_end_on IS NULL OR period_start_on <= period_end_on", name: "chk_account_statements_period_order"
t.check_constraint "review_status::text = ANY (ARRAY['unmatched'::character varying, 'linked'::character varying, 'rejected'::character varying]::text[])", name: "chk_account_statements_review_status"
t.check_constraint "review_status::text = ANY (ARRAY['unmatched'::character varying::text, 'linked'::character varying::text, 'rejected'::character varying::text])", name: "chk_account_statements_review_status"
t.check_constraint "source::text = 'manual_upload'::text", name: "chk_account_statements_source"
t.check_constraint "upload_status::text = ANY (ARRAY['stored'::character varying, 'failed'::character varying]::text[])", name: "chk_account_statements_upload_status"
t.check_constraint "upload_status::text = ANY (ARRAY['stored'::character varying::text, 'failed'::character varying::text])", name: "chk_account_statements_upload_status"
end
create_table "accounts", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
@@ -106,7 +106,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.uuid "accountable_id"
t.decimal "balance", precision: 19, scale: 4
t.string "currency"
t.virtual "classification", type: :string, as: "\nCASE\n WHEN ((accountable_type)::text = ANY ((ARRAY['Loan'::character varying, 'CreditCard'::character varying, 'OtherLiability'::character varying])::text[])) THEN 'liability'::text\n ELSE 'asset'::text\nEND", stored: true
t.virtual "classification", type: :string, as: "\nCASE\n WHEN ((accountable_type)::text = ANY (ARRAY[('Loan'::character varying)::text, ('CreditCard'::character varying)::text, ('OtherLiability'::character varying)::text])) THEN 'liability'::text\n ELSE 'asset'::text\nEND", stored: true
t.uuid "import_id"
t.uuid "plaid_account_id"
t.decimal "cash_balance", precision: 19, scale: 4, default: "0.0"
@@ -547,7 +547,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.index ["provider_key"], name: "index_debug_log_entries_on_provider_key"
t.index ["source"], name: "index_debug_log_entries_on_source"
t.index ["user_id"], name: "index_debug_log_entries_on_user_id"
t.check_constraint "level::text = ANY (ARRAY['debug'::character varying, 'info'::character varying, 'warn'::character varying, 'error'::character varying]::text[])", name: "chk_debug_log_entries_level"
t.check_constraint "level::text = ANY (ARRAY['debug'::character varying::text, 'info'::character varying::text, 'warn'::character varying::text, 'error'::character varying::text])", name: "chk_debug_log_entries_level"
end
create_table "depositories", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
@@ -767,7 +767,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.string "default_account_sharing", default: "shared", null: false
t.string "enabled_currencies", array: true
t.datetime "last_sync_all_attempted_at"
t.check_constraint "default_account_sharing::text = ANY (ARRAY['shared'::character varying, 'private'::character varying]::text[])", name: "chk_families_default_account_sharing"
t.check_constraint "default_account_sharing::text = ANY (ARRAY['shared'::character varying::text, 'private'::character varying::text])", name: "chk_families_default_account_sharing"
t.check_constraint "month_start_day >= 1 AND month_start_day <= 28", name: "month_start_day_range"
end
@@ -999,10 +999,10 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.index ["id", "family_id"], name: "idx_import_sessions_on_id_family", unique: true
t.check_constraint "client_session_id IS NULL OR btrim(client_session_id::text) <> ''::text", name: "chk_import_sessions_client_session_id_present"
t.check_constraint "expected_chunks IS NULL OR expected_chunks > 0", name: "chk_import_sessions_expected_chunks_positive"
t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_import_sessions_error_details_object"
t.check_constraint "import_type::text = 'SureImport'::text", name: "chk_import_sessions_import_type"
t.check_constraint "status::text = ANY (ARRAY['pending'::character varying, 'importing'::character varying, 'complete'::character varying, 'failed'::character varying]::text[])", name: "chk_import_sessions_status"
t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_import_sessions_error_details_object"
t.check_constraint "jsonb_typeof(summary) = 'object'::text", name: "chk_import_sessions_summary_object"
t.check_constraint "status::text = ANY (ARRAY['pending'::character varying, 'importing'::character varying, 'complete'::character varying, 'failed'::character varying]::text[])", name: "chk_import_sessions_status"
end
create_table "import_source_mappings", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
@@ -1020,10 +1020,10 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.index ["import_session_id"], name: "index_import_source_mappings_on_import_session_id"
t.index ["target_type", "target_id"], name: "idx_import_source_mappings_on_target"
t.check_constraint "btrim(source_id::text) <> ''::text", name: "chk_import_source_mappings_source_id_present"
t.check_constraint "source_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_source_type"
t.check_constraint "btrim(source_type::text) <> ''::text", name: "chk_import_source_mappings_source_type_present"
t.check_constraint "target_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_target_type"
t.check_constraint "btrim(target_type::text) <> ''::text", name: "chk_import_source_mappings_target_type_present"
t.check_constraint "source_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_source_type"
t.check_constraint "target_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_target_type"
end
create_table "imports", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
@@ -1078,9 +1078,9 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.index ["import_session_id"], name: "index_imports_on_import_session_id"
t.check_constraint "checksum IS NULL OR length(checksum::text) = 64", name: "chk_imports_checksum_sha256_length"
t.check_constraint "client_chunk_id IS NULL OR btrim(client_chunk_id::text) <> ''::text", name: "chk_imports_client_chunk_id_present"
t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_imports_error_details_object"
t.check_constraint "import_session_id IS NULL OR checksum IS NOT NULL", name: "chk_imports_session_checksum_present"
t.check_constraint "import_session_id IS NULL OR sequence IS NOT NULL", name: "chk_imports_session_sequence_present"
t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_imports_error_details_object"
t.check_constraint "jsonb_typeof(summary) = 'object'::text", name: "chk_imports_summary_object"
t.check_constraint "sequence IS NULL OR sequence > 0", name: "chk_imports_session_sequence_positive"
end
@@ -1616,7 +1616,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.index ["kind"], name: "index_securities_on_kind"
t.index ["price_provider", "offline_reason"], name: "index_securities_on_price_provider_and_offline_reason"
t.index ["price_provider"], name: "index_securities_on_price_provider"
t.check_constraint "kind::text = ANY (ARRAY['standard'::character varying, 'cash'::character varying]::text[])", name: "chk_securities_kind"
t.check_constraint "kind::text = ANY (ARRAY['standard'::character varying::text, 'cash'::character varying::text])", name: "chk_securities_kind"
end
create_table "security_prices", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
@@ -1966,6 +1966,8 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do
t.index ["inflow_transaction_id"], name: "index_transfers_on_inflow_transaction_id"
t.index ["outflow_transaction_id"], name: "index_transfers_on_outflow_transaction_id"
t.index ["status"], name: "index_transfers_on_status"
t.check_constraint "destination_fee_amount >= 0::numeric", name: "check_destination_fee_non_negative"
t.check_constraint "source_fee_amount >= 0::numeric", name: "check_source_fee_non_negative"
end
create_table "users", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|