<%= content_for :header_nav do %> <%= render "imports/nav", import: @import %> <% end %> <%= content_for :previous_path, imports_path %> <% if @import.is_a?(SureImport) %>
<%= render "imports/drag_drop_overlay", title: t("import.uploads.sure_import.drop_title"), subtitle: t("import.uploads.sure_import.drop_subtitle") %>

<%= t("import.uploads.sure_import.title") %>

<%= t("import.uploads.sure_import.description") %>

<%= styled_form_with model: @import, scope: :import, url: import_upload_path(@import), multipart: true, class: "space-y-2", data: { drag_and_drop_import_target: "form" } do |form| %>
<%= icon("database", size: "lg", class: "mb-4 mx-auto") %>

<%= t("import.uploads.sure_import.browse") %> <%= t("import.uploads.sure_import.browse_hint") %>

<%= form.file_field :ndjson_file, class: "hidden", accept: ".ndjson,.json", "data-auto-submit-form-target": "auto", "data-file-upload-target": "input", "data-drag-and-drop-import-target": "input" %>
<%= form.submit t("import.uploads.sure_import.upload_button"), disabled: @import.complete? %> <% end %>
<%= t("import.uploads.sure_import.hint_html") %>
<% elsif @import.is_a?(QifImport) %> <%# ── QIF upload – fixed format, account required ── %>

<%= t(".qif_title") %>

<%= t(".qif_description") %>

<%= styled_form_with model: @import, scope: :import, url: import_upload_path(@import), multipart: true, class: "space-y-4" do |form| %> <%= form.select :account_id, @import.family.accounts.visible.pluck(:name, :id), { label: t(".qif_account_label"), include_blank: t(".qif_account_placeholder"), selected: @import.account_id }, required: true %> <%= form.submit t(".qif_submit"), disabled: @import.complete? %> <% end %>
<% else %> <%# ── Standard CSV upload ── %>
<%= render "imports/drag_drop_overlay", title: "Drop CSV to upload", subtitle: "Your file will be uploaded automatically" %>

<%= t(".title") %>

<%= t(".description") %>

<%= render DS::Tabs.new(active_tab: params[:tab] || "csv-upload", url_param_key: "tab", testid: "import-tabs") do |tabs| %> <% tabs.with_nav do |nav| %> <% nav.with_btn(id: "csv-upload", label: "Upload CSV") %> <% nav.with_btn(id: "csv-paste", label: "Copy & Paste") %> <% end %> <% tabs.with_panel(tab_id: "csv-upload") do %> <%= styled_form_with model: @import, scope: :import, url: import_upload_path(@import), multipart: true, class: "space-y-2", data: { drag_and_drop_import_target: "form" } do |form| %> <%= form.select :col_sep, Import::SEPARATORS, label: true %> <% if @import.type == "TransactionImport" || @import.type == "TradeImport" %> <%= form.select :account_id, @import.family.accounts.visible.pluck(:name, :id), { label: "Account (optional)", include_blank: "Multi-account import", selected: @import.account_id } %> <% end %> <%= form.submit "Upload CSV", disabled: @import.complete? %> <% end %> <% end %> <% tabs.with_panel(tab_id: "csv-paste") do %> <%= styled_form_with model: @import, scope: :import, url: import_upload_path(@import), multipart: true, class: "space-y-2" do |form| %> <%= form.select :col_sep, Import::SEPARATORS, label: true %> <% if @import.type == "TransactionImport" || @import.type == "TradeImport" %> <%= form.select :account_id, @import.family.accounts.visible.pluck(:name, :id), { label: "Account (optional)", include_blank: "Multi-account import", selected: @import.account_id } %> <% end %> <%= form.text_area :raw_file_str, rows: 10, required: true, placeholder: "Paste your CSV file contents here", "data-auto-submit-form-target": "auto" %> <%= form.submit "Upload CSV", disabled: @import.complete? %> <% end %> <% end %> <% end %>
<%= link_to "Download a sample CSV", "/imports/#{@import.id}/upload/sample_csv", class: "text-primary underline", data: { turbo: false } %> to see the required CSV format
<% end %>