defmodule Mse25Web.Breadcrumbs do use Mse25Web, :html def breadcrumbs_html(assigns) do ~H""" """ end defp breadcrumbs(nodes) do breadcrumbs([], "", 1, nodes) end defp breadcrumbs(seen, _path, _index, []) do Enum.reverse(seen) end defp breadcrumbs(seen, path, index, [{slug, name} | nodes]) do breadcrumbs( [{index + 1, {path <> "/" <> to_string(slug), name}} | seen], path <> "/" <> to_string(slug), index + 1, nodes ) end defp breadcrumbs(seen, path, index, [{slug, name, custom_prefix} | nodes]) do breadcrumbs( [{index + 1, {custom_prefix <> "/" <> to_string(slug), name}} | seen], path <> "/" <> to_string(slug), index + 1, nodes ) end end