live_svelte/example_project/lib/example_web/router.ex
2026-03-19 12:43:32 -07:00

78 lines
2.7 KiB
Elixir

defmodule ExampleWeb.Router do
use ExampleWeb, :router
pipeline :browser do
plug(:accepts, ["html"])
plug(:fetch_session)
plug(:fetch_live_flash)
plug(:put_root_layout, {ExampleWeb.Layouts, :root})
plug(:protect_from_forgery)
plug(:put_secure_browser_headers)
end
pipeline :api do
plug(:accepts, ["json"])
end
scope "/", ExampleWeb do
pipe_through(:browser)
get("/", PageController, :home)
# same order as in app.html.heex:
get("/hello-world", PageController, :hello_world)
get("/lodash", PageController, :lodash)
live("/live-struct", LiveStruct)
live("/live-simple-counter", LiveSimpleCounter)
live("/live-lights", LiveLights)
live("/live-sigil", LiveSigil)
get("/plus-minus-svelte", PageController, :plus_minus_svelte)
live("/live-plus-minus", LivePlusMinus)
live("/live-plus-minus-hybrid", LivePlusMinusHybrid)
live("/live-drag-drop", LiveDragDrop)
live("/live-static-color", LiveStaticColor)
live("/live-log-list", LiveLogList)
live("/live-breaking-news", LiveBreakingNews)
live("/live-chat", LiveChat)
live("/live-props-diff", LivePropsDiff)
live("/streams", Streams)
live("/live-id-list-diff", LiveIdListDiff)
live("/live-slots-simple", LiveSlotsSimple)
live("/live-slots-dynamic", LiveSlotsDynamic)
# live("/live-slots-nested", LiveSlotsNested)
live("/live-client-side-loading", LiveClientSideLoading)
# Ecto Examples
live("/live-notes-otp", LiveNotesOtp)
live("/live-form", LiveForm)
live("/live-upload", LiveUpload)
live("/live-event-reply", LiveEventReply)
live("/live-navigation", LiveNavigation)
live("/live-navigation/:page", LiveNavigation)
live("/live-editor", LiveEditor)
live("/live-runed", LiveRuned)
live("/live-stores", LiveStores)
live("/live-ssr", LiveSsr)
live("/live-composition", LiveComposition)
end
# Other scopes may use custom stacks.
# scope "/api", ExampleWeb do
# pipe_through :api
# end
# Enable LiveDashboard and Swoosh mailbox preview in development
if Application.compile_env(:example, :dev_routes) do
# If you want to use the LiveDashboard in production, you should put
# it behind authentication and allow only admins to access it.
# If your application does not have an admins-only section yet,
# you can use Plug.BasicAuth to set up some basic authentication
# as long as you are also using SSL (which you should anyway).
import Phoenix.LiveDashboard.Router
scope "/dev" do
pipe_through(:browser)
live_dashboard("/dashboard", metrics: ExampleWeb.Telemetry)
forward("/mailbox", Plug.Swoosh.MailboxPreview)
end
end
end