Global navigation between multiple Phoenix endpoints, tailwindcss friendly
Add the navigator
package to your list of dependencies in mix.exs
:
def deps do
[
{:navigator, "~> 0.0.8"}
]
end
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 %>
- Alex Kwiatkowski - [email protected]
navigator
is released under the MIT license