Migliora pipeline e form per l'uso da cellulare.
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:
@@ -1,18 +1,44 @@
|
||||
<div class="mx-auto max-w-2xl space-y-4">
|
||||
<h1 class="text-2xl font-semibold"><%= @task.new_record? ? "Nuovo task" : "Modifica task" %></h1>
|
||||
<%= form_with model: @task, class: "#{card_class} p-6 space-y-4" do |f| %>
|
||||
<h1 class="text-xl font-semibold md:text-2xl"><%= @task.new_record? ? "Nuovo task" : "Modifica task" %></h1>
|
||||
<%= form_with model: @task, class: "#{card_class} p-4 md:p-6 space-y-5" do |f| %>
|
||||
<%= render "shared/errors", object: @task %>
|
||||
<%= f.text_field :title, placeholder: "Titolo", required: true, class: input_class %>
|
||||
<%= f.text_area :description, rows: 3, placeholder: "Descrizione", class: input_class %>
|
||||
<%= f.collection_select :organization_id, @organizations, :id, :name, {}, class: input_class %>
|
||||
<%= f.collection_select :assigned_user_id, @users, :id, :full_name, { include_blank: true }, class: input_class %>
|
||||
<%= f.datetime_local_field :due_at, class: input_class %>
|
||||
<%= f.select :priority, Catalog::TASK_PRIORITIES.map { |k,v| [v,k] }, {}, class: input_class %>
|
||||
<%= f.select :task_type, Catalog::TASK_TYPES.map { |k,v| [v,k] }, {}, class: input_class %>
|
||||
<%= f.select :status, Catalog::TASK_STATUSES.map { |k,v| [v,k] }, {}, class: input_class %>
|
||||
<div class="flex gap-2">
|
||||
<%= f.submit class: btn_primary %>
|
||||
<%= link_to "Annulla", tasks_path, class: btn_secondary %>
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Titolo</label>
|
||||
<%= f.text_field :title, placeholder: "Titolo", required: true, class: input_class %>
|
||||
</div>
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Descrizione</label>
|
||||
<%= f.text_area :description, rows: 4, placeholder: "Descrizione", class: input_class %>
|
||||
</div>
|
||||
<div class="grid gap-4 md:grid-cols-2">
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Organizzazione</label>
|
||||
<%= f.collection_select :organization_id, @organizations, :id, :name, {}, class: input_class %>
|
||||
</div>
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Assegnato a</label>
|
||||
<%= f.collection_select :assigned_user_id, @users, :id, :full_name, { include_blank: true }, class: input_class %>
|
||||
</div>
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Scadenza</label>
|
||||
<%= f.datetime_local_field :due_at, class: input_class %>
|
||||
</div>
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Priorità</label>
|
||||
<%= f.select :priority, Catalog::TASK_PRIORITIES.map { |k,v| [v,k] }, {}, class: input_class %>
|
||||
</div>
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Tipo task</label>
|
||||
<%= f.select :task_type, Catalog::TASK_TYPES.map { |k,v| [v,k] }, {}, class: input_class %>
|
||||
</div>
|
||||
<div class="space-y-1">
|
||||
<label class="block text-sm font-medium">Stato</label>
|
||||
<%= f.select :status, Catalog::TASK_STATUSES.map { |k,v| [v,k] }, {}, class: input_class %>
|
||||
</div>
|
||||
</div>
|
||||
<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", tasks_path, class: "#{btn_secondary} w-full sm:w-auto" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user