navigator icon indicating copy to clipboard operation
navigator copied to clipboard

Global navigation between multiple Phoenix endpoints

Navigator

Build Status hex.pm version

Global navigation between multiple Phoenix endpoints, tailwindcss friendly

navigation

Installation

Add the navigator package to your list of dependencies in mix.exs:

def deps do
  [
    {:navigator, "~> 0.0.8"}
  ]
end

Usage

Configure the navigation links in config/config.exs

# config/config.exs
use Mix.Config

config :navigator,
  links: %{
    storefront: [
      %{
        label: "Storefront Home",
        to: {StorefrontWeb.Router.Helpers, :home_path, [StorefrontWeb.Endpoint, :index]},
        class: "text-4xl"
      },
      %{
        label: "Orders",
        to: {StorefrontWeb.Router.Helpers, :order_path, [StorefrontWeb.Endpoint, :index]}
      },
      %{
        label: "Admin",
        to: {AdminWeb.Router.Helpers, :home_url, [AdminWeb.Endpoint, :index]}
      }
    ],
    admin: [
      %{
        label: "Admin Home",
        to: {AdminWeb.Router.Helpers, :home_path, [AdminWeb.Endpoint, :index]},
        class: "text-4xl"
      },
      %{
        label: "Order Admin",
        to: {AdminWeb.Router.Helpers, :order_path, [AdminWeb.Endpoint, :index]}
      },
    ]
  }

Render the navigation in your phoenix templates

<%= render Navigator, "horizontal.html", conn: @conn %>

Authors

License

navigator is released under the MIT license