Migliora pipeline e form per l'uso da cellulare.
CI / scan_ruby (push) Failing after 11m35s
CI / scan_js (push) Successful in 11m13s
CI / lint (push) Failing after 11m53s

Rende la pipeline verticale su mobile e semplifica i form lunghi con sezioni, tap target più grandi e azioni più facili da usare in movimento.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-18 11:38:48 +02:00
co-authored by Cursor
parent 0e8730b889
commit a33a281a96
9 changed files with 290 additions and 109 deletions
+8 -8
View File
@@ -1,6 +1,6 @@
<div class="mx-auto max-w-3xl space-y-4">
<h1 class="text-2xl font-semibold"><%= @organization.new_record? ? "Nuova organizzazione" : "Modifica organizzazione" %></h1>
<%= form_with model: @organization, class: "#{card_class} p-6 space-y-4" do |f| %>
<h1 class="text-xl font-semibold md:text-2xl"><%= @organization.new_record? ? "Nuova organizzazione" : "Modifica organizzazione" %></h1>
<%= form_with model: @organization, class: "#{card_class} p-4 md:p-6 space-y-6" do |f| %>
<%= render "shared/errors", object: @organization %>
<div class="grid gap-4 sm:grid-cols-2">
<div class="sm:col-span-2"><%= f.label :name, class: "mb-1 block text-sm font-medium" %><%= f.text_field :name, required: true, class: input_class %></div>
@@ -15,10 +15,10 @@
<div><%= f.label :assigned_user_id, "Owner", class: "mb-1 block text-sm font-medium" %><%= f.collection_select :assigned_user_id, @users, :id, :full_name, { include_blank: true }, class: input_class %></div>
<div class="sm:col-span-2">
<span class="mb-1 block text-sm font-medium">Progetti</span>
<div class="flex flex-wrap gap-3 rounded-lg border border-zinc-200 px-3 py-2 dark:border-zinc-700">
<div class="flex flex-wrap gap-3 rounded-lg border border-zinc-200 px-3 py-3 dark:border-zinc-700">
<% (@projects || Project.active.ordered).each do |project| %>
<label class="inline-flex items-center gap-2 text-sm">
<%= check_box_tag "organization[project_ids][]", project.id, @organization.project_ids.include?(project.id) || (@organization.new_record? && current_project&.id == project.id), id: "organization_project_#{project.id}" %>
<label class="inline-flex min-h-11 items-center gap-2 rounded-lg border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-700">
<%= check_box_tag "organization[project_ids][]", project.id, @organization.project_ids.include?(project.id) || (@organization.new_record? && current_project&.id == project.id), id: "organization_project_#{project.id}", class: "size-5" %>
<%= project.name %>
</label>
<% end %>
@@ -39,9 +39,9 @@
<div class="sm:col-span-2"><%= f.label :commercial_fit, class: "mb-1 block text-sm font-medium" %><%= f.text_area :commercial_fit, rows: 3, class: input_class %></div>
<div class="sm:col-span-2"><%= f.label :notes, class: "mb-1 block text-sm font-medium" %><%= f.text_area :notes, rows: 4, class: input_class %></div>
</div>
<div class="flex gap-2">
<%= f.submit class: btn_primary %>
<%= link_to "Annulla", @organization.persisted? ? @organization : organizations_path, class: btn_secondary %>
<div class="flex flex-col gap-2 border-t border-zinc-100 pt-4 sm:flex-row dark:border-zinc-800">
<%= f.submit class: "#{btn_primary} w-full sm:w-auto" %>
<%= link_to "Annulla", @organization.persisted? ? @organization : organizations_path, class: "#{btn_secondary} w-full sm:w-auto" %>
</div>
<% end %>
</div>