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>
48 lines
5.1 KiB
ERB
48 lines
5.1 KiB
ERB
<div class="mx-auto max-w-3xl space-y-4">
|
|
<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>
|
|
<div><%= f.label :legal_name, class: "mb-1 block text-sm font-medium" %><%= f.text_field :legal_name, class: input_class %></div>
|
|
<div><%= f.label :organization_type, class: "mb-1 block text-sm font-medium" %><%= f.select :organization_type, Catalog::ORGANIZATION_TYPES.map { |k,v| [v,k] }, {}, class: input_class %></div>
|
|
<div><%= f.label :sport, class: "mb-1 block text-sm font-medium" %><%= f.text_field :sport, class: input_class %></div>
|
|
<div><%= f.label :team_gender, class: "mb-1 block text-sm font-medium" %><%= f.select :team_gender, Catalog::TEAM_GENDERS.map { |k,v| [v,k] }, { include_blank: true }, class: input_class %></div>
|
|
<div><%= f.label :streaming_status, class: "mb-1 block text-sm font-medium" %><%= f.select :streaming_status, Catalog::STREAMING_STATUSES.map { |k,v| [v,k] }, { include_blank: true }, class: input_class %></div>
|
|
<div><%= f.label :status, class: "mb-1 block text-sm font-medium" %><%= f.select :status, Catalog::ORGANIZATION_STATUSES.map { |k,v| [v,k] }, {}, class: input_class %></div>
|
|
<div><%= f.label :lead_source, class: "mb-1 block text-sm font-medium" %><%= f.select :lead_source, Catalog::LEAD_SOURCES.map { |k,v| [v,k] }, { include_blank: true }, class: input_class %></div>
|
|
<div><%= f.label :list_position, class: "mb-1 block text-sm font-medium" %><%= f.number_field :list_position, min: 1, class: input_class %></div>
|
|
<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-3 dark:border-zinc-700">
|
|
<% (@projects || Project.active.ordered).each do |project| %>
|
|
<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 %>
|
|
</div>
|
|
<%= hidden_field_tag "organization[project_ids][]", "" %>
|
|
</div>
|
|
<div><%= f.label :country, class: "mb-1 block text-sm font-medium" %><%= f.text_field :country, class: input_class %></div>
|
|
<div><%= f.label :region, class: "mb-1 block text-sm font-medium" %><%= f.text_field :region, class: input_class %></div>
|
|
<div><%= f.label :province, class: "mb-1 block text-sm font-medium" %><%= f.text_field :province, class: input_class %></div>
|
|
<div><%= f.label :city, class: "mb-1 block text-sm font-medium" %><%= f.text_field :city, class: input_class %></div>
|
|
<div class="sm:col-span-2"><%= f.label :address, class: "mb-1 block text-sm font-medium" %><%= f.text_field :address, class: input_class %></div>
|
|
<div class="sm:col-span-2"><%= f.label :website, class: "mb-1 block text-sm font-medium" %><%= f.text_field :website, class: input_class %></div>
|
|
<div class="sm:col-span-2"><%= f.label :source_url, class: "mb-1 block text-sm font-medium" %><%= f.text_field :source_url, class: input_class %></div>
|
|
<div><%= f.label :phone, class: "mb-1 block text-sm font-medium" %><%= f.text_field :phone, class: input_class %></div>
|
|
<div><%= f.label :email, class: "mb-1 block text-sm font-medium" %><%= f.email_field :email, class: input_class %></div>
|
|
<div><%= f.label :vat_number, class: "mb-1 block text-sm font-medium" %><%= f.text_field :vat_number, class: input_class %></div>
|
|
<div><%= f.label :verified_at, class: "mb-1 block text-sm font-medium" %><%= f.date_field :verified_at, class: input_class %></div>
|
|
<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 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>
|