defmodule MoonWeb.Router do
use MoonWeb, :router
pipeline :browser do
plug(:accepts, ["html"])
plug(:fetch_session)
plug(:fetch_live_flash)
plug(:put_root_layout, {MoonWeb.Layouts, :root})
plug(MoonWeb.Hooks.Plug.Cookies)
plug(:protect_from_forgery)
plug(:put_secure_browser_headers)
end
pipeline :api do
plug(:accepts, ["json"])
end
scope "/" do
pipe_through(:api)
get("/healthcheck", MoonWeb.Controllers.HealthcheckController, :index)
end
# Enables LiveDashboard only for development
#
# 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).
if Mix.env() in [:dev] do
import Phoenix.LiveDashboard.Router
scope "/" do
pipe_through(:browser)
live_dashboard("/dashboard")
end
end
live_session :default, on_mount: MoonWeb.Hooks.Cookies do
pipe_through(:browser)
live("/", MoonWeb.Pages.MainPage)
live("/vision", MoonWeb.Pages.VisionPage)
live("/getting-started/", MoonWeb.Pages.GettingStartedPage)
live("/contribute", MoonWeb.Pages.HowToContributePage)
live("/colours", MoonWeb.Pages.ColoursPage)
live("/components", MoonWeb.Pages.ComponentsPage)
live("/tokens", MoonWeb.Pages.TokensPage)
live("/typography", MoonWeb.Pages.TypographyPage)
live("/assets/age_limit", MoonWeb.Pages.Assets.AgeLimitPage)
live("/assets/crests", MoonWeb.Pages.Assets.CrestsPage)
live("/assets/currencies", MoonWeb.Pages.Assets.CurrenciesPage)
live("/assets/duotones", MoonWeb.Pages.Assets.DuotonesPage)
live("/assets/icons", MoonWeb.Pages.Assets.IconsPage)
live("/manifest", MoonWeb.Pages.ManifestPage)
live("/assets/logos", MoonWeb.Pages.Assets.LogosPage)
live("/assets/patterns", MoonWeb.Pages.Assets.PatternsPage)
live("/sidebar-examples/generic", MoonWeb.Pages.Parts.GenericSidebarPage)
live("/sidebar-examples/slim", MoonWeb.Pages.Parts.SlimSidebarPage)
live("/sidebar-examples/wide", MoonWeb.Pages.Parts.WideSidebarPage)
live("/button-examples", MoonWeb.Pages.Parts.ButtonsPage)
live("/header-examples", MoonWeb.Pages.Parts.HeaderPage)
live("/templates/button-examples", MoonWeb.Pages.Parts.ButtonsPage)
live("/templates/modal-examples", MoonWeb.Pages.Parts.ModalsPage)
live("/show-room", MoonWeb.Pages.Parts.ShowRoomPage)
live("/components/v2/alert/", MoonWeb.Pages.Design.AlertPage)
live("/components/v2/accordion/", MoonWeb.Pages.Design.AccordionPage)
live("/components/v2/avatar/", MoonWeb.Pages.Design.AvatarPage)
live("/components/v2/bottomsheet/", MoonWeb.Pages.Design.BottomSheetPage)
live("/components/v2/breadcrumb/", MoonWeb.Pages.Design.BreadcrumbPage)
live("/components/v2/button/", MoonWeb.Pages.Design.Button.ButtonPage)
live("/components/v2/carousel", MoonWeb.Pages.Design.CarouselPage)
live("/components/v2/chip/", MoonWeb.Pages.Design.ChipPage)
live(
"/components/v2/circularprogress/",
MoonWeb.Pages.Design.Progress.CircularProgressPage
)
live("/components/v2/drawer/", MoonWeb.Pages.Design.DrawerPage)
live("/components/v2/dropdown/", MoonWeb.Pages.Design.DropdownPage)
live("/components/v2/form/auth_code", MoonWeb.Pages.Design.Form.AuthCodePage)
live("/components/v2/form/checkbox", MoonWeb.Pages.Design.Form.CheckboxPage)
live("/components/v2/form/combobox", MoonWeb.Pages.Design.Form.ComboboxPage)
live("/components/v2/form/group", MoonWeb.Pages.Design.Form.GroupPage)
live("/components/v2/form/input", MoonWeb.Pages.Design.Form.InputPage)
live("/components/v2/form/inset_input", MoonWeb.Pages.Design.Form.InsetInputPage)
live("/components/v2/form/radio", MoonWeb.Pages.Design.Form.RadioPage)
live("/components/v2/form/select", MoonWeb.Pages.Design.Form.SelectPage)
live("/components/v2/form/textarea", MoonWeb.Pages.Design.Form.TextAreaPage)
live("/components/v2/icon_button", MoonWeb.Pages.Design.Button.IconButtonPage)
live("/components/v2/loader", MoonWeb.Pages.Design.LoaderPage)
live("/components/v2/menu_item", MoonWeb.Pages.Design.MenuItemPage)
live("/components/v2/modal", MoonWeb.Pages.Design.ModalPage)
live("/components/v2/pagination", MoonWeb.Pages.Design.PaginationPage)
live("/components/v2/popover", MoonWeb.Pages.Design.PopoverPage)
live("/components/v2/progress", MoonWeb.Pages.Design.Progress.LinearProgressPage)
live("/components/v2/search", MoonWeb.Pages.Design.SearchPage)
live("/components/v2/snackbar", MoonWeb.Pages.Design.SnackbarPage)
live("/components/v2/switch", MoonWeb.Pages.Design.SwitchPage)
live("/components/v2/table", MoonWeb.Pages.Design.TablePage)
live("/components/v2/tabs", MoonWeb.Pages.Design.TabsPage)
live("/components/v2/tag", MoonWeb.Pages.Design.TagPage)
live("/components/v2/tooltip", MoonWeb.Pages.Design.TooltipPage)
live("/components/accordion", MoonWeb.Pages.Components.AccordionPage)
live("/components/avatar", MoonWeb.Pages.Components.AvatarPage)
live("/components/banner", MoonWeb.Pages.Components.BannerPage)
live("/components/breadcrumb", MoonWeb.Pages.Components.BreadcrumbPage)
live("/components/button", MoonWeb.Pages.Components.ButtonPage)
live("/components/calendar", MoonWeb.Pages.Components.CalendarPage)
live("/components/card", MoonWeb.Pages.Components.CardPage)
live("/components/carousel", MoonWeb.Pages.Components.CarouselPage)
live("/components/charts/geo-map", MoonWeb.Pages.Components.Charts.GeoMapPage)
live("/components/charts/pie", MoonWeb.Pages.Components.Charts.PiePage)
live("/components/charts/line-chart", MoonWeb.Pages.Components.Charts.LineChartPage)
live("/components/charts/table", MoonWeb.Pages.Components.Charts.TablePage)
live("/components/charts/vertical-bar", MoonWeb.Pages.Components.Charts.VerticalBarPage)
live("/components/checkbox", MoonWeb.Pages.Components.CheckboxPage)
live("/components/chip", MoonWeb.Pages.Components.ChipPage)
live("/components/country-flags", MoonWeb.Pages.Components.CountryFlagsPage)
live("/components/date/datepicker", MoonWeb.Pages.Components.Date.DatepickerPage)
live("/components/date/single-date", MoonWeb.Pages.Components.Date.SingleDatePage)
live("/components/date/range-date", MoonWeb.Pages.Components.Date.RangeDatePage)
live("/components/dialog/modal", MoonWeb.Pages.Components.Dialog.ModalPage)
live("/components/dialog/dialog-content", MoonWeb.Pages.Components.Dialog.ContentPage)
live("/components/dialog/dialog-overlay", MoonWeb.Pages.Components.Dialog.OverlayPage)
live("/components/dialog/dialog-header", MoonWeb.Pages.Components.Dialog.HeaderPage)
live("/components/dialog/dialog-footer", MoonWeb.Pages.Components.Dialog.FooterPage)
live("/components/dialog/popover", MoonWeb.Pages.Components.Dialog.PopoverPage)
live(
"/components/checkbox-multiselect",
MoonWeb.Pages.Components.CheckboxMultiselectPage
)
live("/components/dropdown_menu_button", MoonWeb.Pages.Components.DropdownMenuButtonPage)
live("/components/drawer", MoonWeb.Pages.Components.DrawerPage)
live("/components/file-input", MoonWeb.Pages.Components.FileInputPage)
live("/components/icons", MoonWeb.Pages.Components.IconsPage)
live("/components/label", MoonWeb.Pages.Components.LabelPage)
live("/components/link", MoonWeb.Pages.Components.LinkPage)
live("/components/list_items", MoonWeb.Pages.Components.ListItemsPage)
live("/components/loader", MoonWeb.Pages.Components.LoaderPage)
live("/components/pagination", MoonWeb.Pages.Components.PaginationPage)
live("/components/progress/circular", MoonWeb.Pages.Components.Progress.CircularPage)
live("/components/progress/linear", MoonWeb.Pages.Components.Progress.LinearPage)
live("/components/radio-button", MoonWeb.Pages.Components.RadioButtonPage)
live("/components/search", MoonWeb.Pages.Components.SearchPage)
#
live("/components/select/dropdown", MoonWeb.Pages.Components.Select.DropdownPage)
live("/components/select", MoonWeb.Pages.Components.Select.SelectPage)
live("/components/select/single-select", MoonWeb.Pages.Components.Select.SingleSelectPage)
live("/components/select/multi-select", MoonWeb.Pages.Components.Select.MultiSelectPage)
live("/components/sidebar", MoonWeb.Pages.Components.SidebarPage)
live("/components/switch", MoonWeb.Pages.Components.SwitchPage)
live("/components/switcher", MoonWeb.Pages.Components.SwitcherPage)
live("/components/tabs", MoonWeb.Pages.Components.TabsPage)
live("/components/tabs/:tab_id", MoonWeb.Pages.Components.TabsPage)
live("/components/table", MoonWeb.Pages.Components.TablePage)
live("/components/text-input", MoonWeb.Pages.Components.TextInputPage)
live("/components/input-group", MoonWeb.Pages.Components.InputGroupPage)
live("/components/toast", MoonWeb.Pages.Components.ToastPage)
live("/components/tooltip", MoonWeb.Pages.Components.TooltipPage)
live("/tutorials/add-data-using-form", MoonWeb.Pages.Tutorials.AddDataUsingForm)
live("/tutorials/installation", MoonWeb.Pages.Tutorials.Installation)
live(
"/tutorials/process-description-and-team-interactions",
MoonWeb.Pages.Tutorials.Introduction
)
live("/tutorials/theming-and-visuals", MoonWeb.Pages.Theming.ThemingAndVisuals)
live("/usage_with_phoenix_templates", MoonWeb.Pages.PhoenixUsagePage)
end
live("/example/:example/:direction/:theme_name", MoonWeb.Pages.ExamplePage)
live("/example/:example", MoonWeb.Pages.ExamplePage)
end