- @page_title = t('workarea.admin.catalog_products.index.page_title')

.view
  .view__header
    .grid.grid--right
      .grid__cell.grid__cell--50
        .view__heading
          = link_to "↑ #{t('workarea.admin.catalog.dashboard_link')}", catalog_dashboards_path, class: 'view__dashboard-button'
          %h1= t('workarea.admin.catalog_products.index.heading')
      .grid__cell.grid__cell--25
        - if s3?
          .align-right
            = link_to t('workarea.admin.catalog_products.index.upload_images'), product_images_direct_uploads_path

  .view__container
    .browsing-controls.browsing-controls--with-divider.browsing-controls--center{ class: ('browsing-controls--filters-displayed' unless @search.toggle_facets?) }
      = form_tag catalog_products_path, method: 'get', id: 'product_search_form', class: 'browsing-controls__form' do
        = facet_hidden_inputs(@search.facets)
        .browsing-controls__sort
          .property.property--inline
            = label_tag 'sort', t('workarea.admin.search.sort_by'), class: 'property__name'
            = select_tag :sort, options_for_select(@search.sorts, selected: @search.sort), data: { form_submitting_control: '' }

        .browsing-controls__search
          .search-form
            = text_field_tag :q, params[:q], class: 'search-form__input', id: 'search_products', title: t('workarea.admin.search.keywords'), placeholder: t('workarea.admin.search.keywords')
            = submit_tag 'search_products', class: 'search-form__button'

        = render 'workarea/admin/shared/creation_date', search: @search, form_path: catalog_products_path

        - if @search.facets.present?
          - @search.facets.each do |facet|
            = render "workarea/admin/facets/#{facet.type}", facet: facet

        - if @search.toggle_facets?
          .browsing-controls__toggle-filters
            %button.text-button{ type: 'button', data: { toggle_filters: '' } }= t('workarea.admin.search.show_filters')

      = render 'workarea/admin/facets/applied', search: @search, reset_path: catalog_products_path

      %p.browsing-controls__count{ data: { browsing_controls_count: @search.total } }
        = t('workarea.admin.catalog_products.index.product_pluralize', count: @search.total)

    - if @search.results.any?
      %table.index-table
        %thead
          %tr
            %th.index-table__control-cell
              .checkbox
                = check_box_tag 'select_all', nil, false, id: 'select_all', class: 'checkbox__input', data: { bulk_action_select_all: '' }
                = label_tag 'select_all', t('workarea.admin.bulk_actions.select_all'), class: 'checkbox__label'
            %th= t('workarea.admin.fields.image')
            %th= t('workarea.admin.fields.name')
            %th.align-center= t('workarea.admin.fields.id')
            %th= t('workarea.admin.fields.type')
            %th.align-center= t('workarea.admin.fields.total_available')
            %th.align-center= t('workarea.admin.fields.price')
            %th.align-center= t('workarea.admin.fields.insights')
            %th= t('workarea.admin.fields.updated_at')
        %tbody
          - @search.results.each do |result|
            %tr.index-table__row{ class: ('index-table__row--inactive' unless result.active) }
              %td.index-table__control-cell
                .checkbox
                  = check_box_tag 'global_id', result.to_gid_param, false, class: 'checkbox__input', id: dom_id(result), data: { bulk_action_item: '' }
                  = label_tag dom_id(result), '', class: 'checkbox__label', title: t('workarea.admin.bulk_actions.add_summary_button')
              %td.index-table__image-cell
                = link_to catalog_product_path(result), class: 'index-table__image-link' do
                  = image_tag product_image_url(result.primary_image, :medium), alt: result.name, class: 'index-table__image'
              %td
                = link_to result.name, catalog_product_path(result)
                = upcoming_changesets_icon_for(result)
                = comments_icon_for(result)
                = top_icon_for(result)
                = trending_icon_for(result)
                = segments_icons_for(result)
              %td.align-center= result.id
              %td= result.template.humanize
              %td.align-center
                - if result.ignore_inventory?
                  = t('workarea.admin.catalog_products.index.ignore_inventory', variants: pluralize(result.variants.size, t('workarea.admin.catalog_products.index.variant')))
                - else
                  = t('workarea.admin.catalog_products.index.inventory', count: result.available_inventory, variants: pluralize(result.variants.size, t('workarea.admin.catalog_products.index.variant')))
              %td.align-center
                - if result.one_price?
                  = number_to_currency result.sell_min_price
                  - if result.show_sell_range?
                    \- #{number_to_currency result.sell_max_price}
                - else
                  - if result.on_sale?
                    = number_to_currency result.sell_min_price
                    - if result.show_sell_range?
                      \- #{number_to_currency result.sell_max_price}
                  - else
                    = number_to_currency result.sell_min_price
                    - if result.show_sell_range?
                      \- #{number_to_currency result.sell_max_price}
              %td.align-center
                = link_to insights_catalog_product_path(result), class: 'link link--no-underline' do
                  %span.spark{ title: t('workarea.admin.catalog_products.index.sparkline_title') }
                    {#{sparkline_analytics_data_for(result.insights.orders_sparkline).join(',')}}
              %td= local_time_ago(result.updated_at)

      - if @search.results.total_pages > 1
        = render 'workarea/admin/shared/pagination', collection: @search.results

  .workflow-bar
    .grid
      .grid__cell.grid__cell--80
        = render 'workarea/admin/shared/bulk_actions', klass: Workarea::Catalog::Product, search: @search do
          .grid__cell
            = form_tag bulk_actions_path, method: :post, data: { bulk_action_form: '' } do
              = hidden_field_tag 'type', 'Workarea::BulkAction::ProductEdit', id: nil
              = hidden_field_tag 'query_id', @search.to_gid_param, id: nil
              %button.workflow-bar__button{ type: :submit }= t('workarea.admin.catalog_products.index.edit')
          .grid__cell
            = form_tag bulk_actions_path, method: :post, data: { bulk_action_form: '' } do
              = hidden_field_tag 'type', 'Workarea::BulkAction::SequentialProductEdit', id: nil
              = hidden_field_tag 'query_id', @search.to_gid_param, id: nil
              %button.workflow-bar__button{ type: :submit }= t('workarea.admin.catalog_products.index.edit_each')
      .grid__cell.grid__cell--20
        .align-right= link_to t('workarea.admin.catalog_products.index.add_new_product'), create_catalog_products_path, id: 'add_product', class: 'workflow-bar__button workflow-bar__button--create'