Files
sure/app/views/rules/confirm_all.html.erb
2026-01-08 15:20:14 +01:00

49 lines
2.1 KiB
Plaintext

<%= render DS::Dialog.new do |dialog| %>
<% dialog.with_header(title: t("rules.apply_all.confirm_title")) %>
<% dialog.with_body do %>
<p class="text-secondary text-sm mb-4">
<%= t("rules.apply_all.confirm_message",
count: @rules.count,
transactions: @total_affected_count) %>
</p>
<% if @rules.any? { |r| r.actions.any? { |a| a.action_type == "auto_categorize" } } %>
<div class="mb-4 p-3 bg-blue-50 border border-blue-200 rounded-lg">
<div class="flex items-start gap-2">
<%= icon "info", class: "w-4 h-4 text-blue-600 mt-0.5 flex-shrink-0" %>
<div class="text-xs">
<p class="font-medium text-blue-900 mb-1"><%= t("rules.apply_all.ai_cost_title") %></p>
<% if @estimated_cost.present? %>
<p class="text-blue-700">
<%= t("rules.apply_all.ai_cost_message", transactions: @total_affected_count) %>
<%= t("rules.apply_all.estimated_cost", cost: sprintf("%.4f", @estimated_cost)) %>
</p>
<% else %>
<p class="text-blue-700">
<%= t("rules.apply_all.ai_cost_message", transactions: @total_affected_count) %>
<% if @selected_model.present? %>
<span class="font-semibold"><%= t("rules.apply_all.cost_unavailable_model", model: @selected_model) %></span>
<% else %>
<span class="font-semibold"><%= t("rules.apply_all.cost_unavailable_no_provider") %></span>
<% end %>
<%= t("rules.apply_all.cost_warning") %>
</p>
<% end %>
<p class="text-blue-600 mt-1">
<%= link_to t("rules.apply_all.view_usage"), settings_llm_usage_path, class: "underline hover:text-blue-800" %>
</p>
</div>
</div>
</div>
<% end %>
<%= render DS::Button.new(
text: t("rules.apply_all.confirm_button"),
href: apply_all_rules_path,
method: :post,
full_width: true,
data: { turbo_frame: "_top" }) %>
<% end %>
<% end %>