Packages

phoenix_kit

1.7.21
1.7.207 1.7.206 1.7.205 1.7.204 1.7.203 1.7.202 1.7.201 1.7.200 1.7.199 1.7.198 1.7.197 1.7.196 1.7.194 1.7.193 1.7.192 1.7.191 1.7.190 1.7.189 1.7.187 1.7.186 1.7.185 1.7.184 1.7.183 1.7.182 1.7.181 1.7.180 1.7.179 1.7.178 1.7.177 1.7.176 1.7.175 1.7.174 1.7.173 1.7.172 1.7.171 1.7.170 1.7.169 1.7.168 1.7.167 1.7.166 1.7.165 1.7.164 1.7.162 1.7.161 1.7.160 1.7.159 1.7.157 1.7.156 1.7.155 1.7.154 1.7.153 1.7.152 1.7.151 1.7.150 1.7.149 1.7.146 1.7.145 1.7.144 1.7.143 1.7.138 1.7.133 1.7.132 1.7.131 1.7.130 1.7.128 1.7.126 1.7.125 1.7.121 1.7.120 1.7.119 1.7.118 1.7.117 1.7.116 1.7.115 1.7.114 1.7.113 1.7.112 1.7.111 1.7.110 1.7.109 1.7.108 1.7.107 1.7.106 1.7.105 1.7.104 1.7.103 1.7.102 1.7.101 1.7.100 1.7.99 1.7.98 1.7.97 1.7.96 1.7.95 1.7.94 1.7.93 1.7.92 1.7.91 1.7.90 1.7.89 1.7.88 1.7.87 1.7.86 1.7.85 1.7.84 1.7.83 1.7.82 1.7.81 1.7.80 1.7.79 1.7.78 1.7.77 1.7.76 1.7.75 1.7.74 1.7.71 1.7.70 1.7.69 1.7.66 1.7.65 1.7.64 1.7.63 1.7.62 1.7.61 1.7.59 1.7.58 1.7.57 1.7.56 1.7.55 1.7.54 1.7.53 1.7.52 1.7.51 1.7.49 1.7.44 1.7.43 1.7.42 1.7.41 1.7.39 1.7.38 1.7.37 1.7.36 1.7.34 1.7.33 1.7.31 1.7.30 1.7.29 1.7.28 1.7.27 1.7.26 1.7.25 1.7.24 1.7.23 1.7.22 1.7.21 1.7.20 1.7.19 1.7.18 1.7.17 1.7.16 1.7.15 1.7.14 1.7.13 1.7.12 1.7.11 1.7.10 1.7.9 1.7.8 1.7.7 1.7.6 1.7.5 1.7.4 1.7.3 1.7.2 1.7.1 1.7.0 1.6.20 1.6.19 1.6.18 1.6.17 1.6.16 1.6.15 1.6.14 1.6.13 1.6.12 1.6.11 1.6.10 1.6.9 1.6.8 1.6.7 1.6.6 1.6.5 1.6.4 1.6.3 1.5.2 1.5.1 1.5.0 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.10 1.2.9 1.2.8 1.2.7 1.2.5 1.2.4 1.2.2 1.2.1 1.2.0 1.1.0 1.0.0

A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more

Current section

Files

Jump to
phoenix_kit lib phoenix_kit_web.ex
Raw

lib/phoenix_kit_web.ex

defmodule PhoenixKitWeb do
@moduledoc """
The web interface for PhoenixKit.
This module provides the base functionality for web components
including controllers, live views, and components used for
user authentication and management.
"""
def static_paths, do: ~w(assets fonts images favicon.ico robots.txt)
def router do
quote do
use Phoenix.Router
import Plug.Conn
import Phoenix.Controller
import Phoenix.LiveView.Router
end
end
def channel do
quote do
use Phoenix.Channel
use Gettext, backend: PhoenixKitWeb.Gettext
end
end
def controller do
quote do
{layout_module, _} = PhoenixKit.LayoutConfig.get_layout()
use Phoenix.Controller,
formats: [:html, :json],
layouts: [html: layout_module]
import Plug.Conn
use Gettext, backend: PhoenixKitWeb.Gettext
unquote(core_components())
unquote(verified_routes())
end
end
def live_view do
quote do
use Phoenix.LiveView,
layout: PhoenixKit.LayoutConfig.get_layout()
use Gettext, backend: PhoenixKitWeb.Gettext
unquote(core_components())
unquote(html_helpers())
end
end
def live_component do
quote do
use Phoenix.LiveComponent
use Gettext, backend: PhoenixKitWeb.Gettext
unquote(html_helpers())
end
end
def html do
quote do
use Phoenix.Component
import Phoenix.Controller,
only: [get_csrf_token: 0, view_module: 1, view_template: 1]
use Gettext, backend: PhoenixKitWeb.Gettext
unquote(core_components())
unquote(html_helpers())
end
end
defp html_helpers do
quote do
import Phoenix.HTML
import Phoenix.HTML.Form
import Phoenix.LiveView.Helpers
unquote(verified_routes())
end
end
def core_components do
quote do
import PhoenixKitWeb.Components.Core.Button
import PhoenixKitWeb.Components.Core.Flash
import PhoenixKitWeb.Components.Core.Header
import PhoenixKitWeb.Components.Core.Icon
import PhoenixKitWeb.Components.Core.FormFieldLabel
import PhoenixKitWeb.Components.Core.FormFieldError
import PhoenixKitWeb.Components.Core.Input
import PhoenixKitWeb.Components.Core.Textarea
import PhoenixKitWeb.Components.Core.Select
import PhoenixKitWeb.Components.Core.Checkbox
import PhoenixKitWeb.Components.Core.SimpleForm
import PhoenixKitWeb.Components.Core.ThemeSwitcher
import PhoenixKitWeb.Components.Core.Badge
import PhoenixKitWeb.Components.Core.StatCard
import PhoenixKitWeb.Components.Core.EmailStatusBadge
import PhoenixKitWeb.Components.Core.TimeDisplay
import PhoenixKitWeb.Components.Core.EventTimelineItem
import PhoenixKitWeb.Components.Core.UserInfo
import PhoenixKitWeb.Components.Core.Pagination
import PhoenixKitWeb.Components.Core.FileDisplay
import PhoenixKitWeb.Components.Core.EmailActivityBadges
import PhoenixKitWeb.Components.Core.MessageTagBadge
import PhoenixKitWeb.Components.Core.NumberFormatter
import PhoenixKitWeb.Components.Core.TableDefault
import PhoenixKitWeb.Components.Core.OAuthUtils
import PhoenixKitWeb.Components.Core.OAuthProvider
import PhoenixKitWeb.Components.Core.OAuthCheckbox
import PhoenixKitWeb.Components.Core.AWSRegionSelect
import PhoenixKitWeb.Components.Core.AWSCredentialsVerify
import PhoenixKitWeb.Components.Core.Accordion
import PhoenixKitWeb.Components.Core.FileUpload
import PhoenixKitWeb.Components.Core.LanguageSwitcher
import PhoenixKitWeb.Components.Core.BlogLanguageSwitcher
import PhoenixKitWeb.Components.Core.BlogVersionSwitcher
import PhoenixKitWeb.Components.Core.MarkdownContent
import PhoenixKitWeb.Components.Core.DraggableList
import PhoenixKitWeb.Components.Core.OrderStatusBadge
import PhoenixKitWeb.Components.Core.InvoiceStatusBadge
import PhoenixKitWeb.Components.Core.TransactionTypeBadge
import PhoenixKitWeb.Components.Core.CurrencyDisplay
import PhoenixKitWeb.Components.Core.CookieConsent
end
end
def verified_routes do
quote do
use Phoenix.VerifiedRoutes,
endpoint: PhoenixKitWeb.Endpoint,
router: PhoenixKitWeb.Router,
statics: PhoenixKitWeb.static_paths()
end
end
@doc """
When used, dispatch to the appropriate controller/view/etc.
"""
defmacro __using__(which) when is_atom(which) do
apply(__MODULE__, which, [])
end
end