# frozen_string_literal: true

# Streamlines adding breadcrumbs to pages
module BreadcrumbsHelper
  def render_breadcrumbs(*breadcrumbs)
    breadcrumbs = breadcrumbs.flatten(1) # Ensure it's a single-level array

    tag.nav(class: "medium fs-12 mb-2") do
      tag.ol(class: "breadcrumb mb-1") do
        breadcrumbs.map do |crumb|
          raise "Expected a Hash but got: #{crumb.class}" unless crumb.is_a?(Hash)

          if crumb[:path]
            tag.li(class: "breadcrumb-item") do
              link_to(crumb[:name], crumb[:path])
            end
          else
            tag.li(crumb[:name], class: "breadcrumb-item active")
          end
        end.reduce(:+)
      end
    end
  end
end
