module Project
  module ProductSidebar
    include PageObject

    unordered_list(:project_navigation, class: "ProjectNavigation-list-wrapper")
    link(:add_new_product, class: "ProjectManager-new-product")
    list_items(:product) { project_navigation_element.list_item_elements }
    div(:product_nav, class: "Opm-digital-product-navigation-steps")
    link(:current_product_step, class: "Opm-digital-product-navigation-selected")
    link(:overview_step) { product_nav_element.link_element(text: "Overview") }
    link(:basics_step) { product_nav_element.link_element(text: "Basics") }
    link(:artwork_step) { product_nav_element.link_element(text: "Artwork") }
    link(:tracks_step) { product_nav_element.link_element(text: "Tracks") }
    link(:scheduling_and_pricing_step) { product_nav_element.link_element(text: "Scheduling & Pricing") }
    link(:projections_step) { product_nav_element.link_element(text: "Projections") }
    link(:territory_restrictions_step) { product_nav_element.link_element(text: "Territory Restrictions") }
    link(:publishing_obligation_step) { product_nav_element.link_element(text: "Publishing Obligation") }
    span(:digital_product, class: "product-name")
    div(:active_digital_product, class: ["Opm-navigation-container-flex", "active"])
    div(:active_physical_product, class: "ProductNavigationElement-more-actions-menu-wrapper")
    span(:active_digital_product_status) do
      active_digital_product_element.span_element(class: "Opm-navigation-status-heading")
    end
    links(:navigation_link, class: "Opm-navigation-link")

    # checkmarks

    svg(:basics_checkmark) do
      basics_step_element.svg_element(class: "Icons-complete-checkmark")
    end

    svg(:publishing_obligation_checkmark) do
      publishing_obligation_step_element.svg_element(class: "Icons-complete-checkmark")
    end

    svg(:pricing_checkmark) do
      scheduling_and_pricing_step_element.svg_element(class: "Icons-complete-checkmark")
    end

    button(:validate_product, class: "LoadingButton")
    button(:resubmit) do
      div_element(class: "Opm-digital-product-navigation-resubmit-container").button_element
    end

    button(:submit) do
      div_element(class: "Opm-digital-product-navigation-submit-container").button_element
    end

    # elements to delete a product
    div(:product_more_actions, class: "ProductNavigationElement-more-actions-menu-wrapper")
    div(:active_product_more_actions) do
      link_element(class: "Opm-navigation-selected")
        .div_element(class: "ProductNavigationElement-more-actions-menu-wrapper")
    end
    button(:confirm_delete, id: "confirm-submit")
    li(:delete_product_option, class: "MoreActionsMenu-delete-button")
    li(:copy_product_option, class: "MoreActionsMenu-copy-button")
    li(:move_product_option, class: "MoreActionsMenu-move-product-button")
    li(:download_sales_sheet_option, class: "More-actions-menu-salessheet-download")
    li(:unsubmit_product, class: "More-actions-menu-unsubmit")
    p(:product_status_deleted, class: ["alert", "alert-success"])

    svg(:sheet_download_spinner, class: "Icons-loading-arrows")

    divs(:sidebar_product_more_actions, class: "Opm-navigation-container-flex")
  end
end
