Separa heatmap mobile/desktop, opt-out analytics per operatori, dashboard costi con KPI e trend mensili. Co-authored-by: Cursor <cursoragent@cursor.com>
35 lines
1.5 KiB
ERB
35 lines
1.5 KiB
ERB
<%= form_with model: @entry, url: url, method: method, local: true, class: "admin-filter-form" do |f| %>
|
|
<div class="admin-filter-grid">
|
|
<label class="admin-filter-field">
|
|
<span><%= t("admin.costs.entries.month") %></span>
|
|
<%= text_field_tag "platform_cost_entry[month]",
|
|
@entry.month&.strftime("%Y-%m"),
|
|
type: "month",
|
|
required: true %>
|
|
</label>
|
|
<label class="admin-filter-field">
|
|
<span><%= t("admin.costs.entries.label") %></span>
|
|
<%= f.text_field :label, required: true, maxlength: 120 %>
|
|
<span class="muted admin-table-sub"><%= t("admin.costs.entries.label_hint") %></span>
|
|
</label>
|
|
<label class="admin-filter-field">
|
|
<span><%= t("admin.costs.entries.amount") %></span>
|
|
<%= number_field_tag "platform_cost_entry[amount_euros]",
|
|
(@entry.amount_cents.to_f / 100.0 if @entry.amount_cents.present?),
|
|
step: 0.01,
|
|
min: 0.01,
|
|
required: true %>
|
|
</label>
|
|
<label class="admin-filter-field" style="grid-column: span 2;">
|
|
<span><%= t("admin.costs.entries.notes") %></span>
|
|
<%= f.text_area :notes, rows: 3 %>
|
|
</label>
|
|
</div>
|
|
<div class="admin-filter-actions">
|
|
<%= f.submit t("admin.costs.entries.save"), class: "admin-btn admin-btn--primary admin-btn--sm" %>
|
|
<%= link_to t("admin.costs.entries.cancel"),
|
|
admin_costs_path(month: @entry.month&.strftime("%Y-%m")),
|
|
class: "admin-btn admin-btn--outline admin-btn--sm" %>
|
|
</div>
|
|
<% end %>
|