diff --git a/.gitignore b/.gitignore
index 15ea0337..32fc64ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,4 +35,3 @@ radiator-*.tar
npm-debug.log
/assets/node_modules/
-.lexical
\ No newline at end of file
diff --git a/.iex.exs b/.iex.exs
deleted file mode 100644
index e31d7f0f..00000000
--- a/.iex.exs
+++ /dev/null
@@ -1,3 +0,0 @@
-alias Radiator.Outline
-alias Radiator.Outline.Node
-alias Radiator.NodeAnalyzer
diff --git a/config/runtime.exs b/config/runtime.exs
index aca95d6b..fb53138f 100644
--- a/config/runtime.exs
+++ b/config/runtime.exs
@@ -68,6 +68,56 @@ if config_env() == :prod do
],
secret_key_base: secret_key_base
+ # ## SSL Support
+ #
+ # To get SSL working, you will need to add the `https` key
+ # to your endpoint configuration:
+ #
+ # config :radiator, RadiatorWeb.Endpoint,
+ # https: [
+ # ...,
+ # port: 443,
+ # cipher_suite: :strong,
+ # keyfile: System.get_env("SOME_APP_SSL_KEY_PATH"),
+ # certfile: System.get_env("SOME_APP_SSL_CERT_PATH")
+ # ]
+ #
+ # The `cipher_suite` is set to `:strong` to support only the
+ # latest and more secure SSL ciphers. This means old browsers
+ # and clients may not be supported. You can set it to
+ # `:compatible` for wider support.
+ #
+ # `:keyfile` and `:certfile` expect an absolute path to the key
+ # and cert in disk or a relative path inside priv, for example
+ # "priv/ssl/server.key". For all supported SSL configuration
+ # options, see https://hexdocs.pm/plug/Plug.SSL.html#configure/1
+ #
+ # We also recommend setting `force_ssl` in your config/prod.exs,
+ # ensuring no data is ever sent via http, always redirecting to https:
+ #
+ # config :radiator, RadiatorWeb.Endpoint,
+ # force_ssl: [hsts: true]
+ #
+ # Check `Plug.SSL` for all available options in `force_ssl`.
+
+ # ## Configuring the mailer
+ #
+ # In production you need to configure the mailer to use a different adapter.
+ # Also, you may need to configure the Swoosh API client of your choice if you
+ # are not using SMTP. Here is an example of the configuration:
+ #
+ # config :radiator, Radiator.Mailer,
+ # adapter: Swoosh.Adapters.Mailgun,
+ # api_key: System.get_env("MAILGUN_API_KEY"),
+ # domain: System.get_env("MAILGUN_DOMAIN")
+ #
+ # For this example you need include a HTTP client required by Swoosh API client.
+ # Swoosh supports Hackney and Finch out of the box:
+ #
+ # config :swoosh, :api_client, Swoosh.ApiClient.Hackney
+ #
+ # See https://hexdocs.pm/swoosh/Swoosh.html#module-installation for details.
+
config :radiator, Radiator.Mailer,
adapter: Swoosh.Adapters.SMTP,
relay: System.get_env("SMTP_SERVER"),
diff --git a/lib/radiator_web.ex b/lib/radiator_web.ex
index 2b03cd8c..20ced1ad 100644
--- a/lib/radiator_web.ex
+++ b/lib/radiator_web.ex
@@ -43,7 +43,7 @@ defmodule RadiatorWeb do
layouts: [html: RadiatorWeb.Layouts]
import Plug.Conn
- use Gettext, backend: RadiatorWeb.Gettext
+ import RadiatorWeb.Gettext
unquote(verified_routes())
end
@@ -88,7 +88,7 @@ defmodule RadiatorWeb do
# Core UI components and translation
import RadiatorWeb.CoreComponents
- use Gettext, backend: RadiatorWeb.Gettext
+ import RadiatorWeb.Gettext
# Shortcut for generating JS commands
alias Phoenix.LiveView.JS
diff --git a/lib/radiator_web/components/core_components.ex b/lib/radiator_web/components/core_components.ex
index 9a5c05e2..57ea215f 100644
--- a/lib/radiator_web/components/core_components.ex
+++ b/lib/radiator_web/components/core_components.ex
@@ -15,9 +15,11 @@ defmodule RadiatorWeb.CoreComponents do
Icons are provided by [heroicons](https://heroicons.com). See `icon/1` for usage.
"""
use Phoenix.Component
- use Gettext, backend: RadiatorWeb.Gettext
- alias Phoenix.HTML
+ import RadiatorWeb.Gettext
+
+ alias Phoenix.HTML.Form
+ alias Phoenix.HTML.FormField
alias Phoenix.LiveView.JS
@doc """
@@ -80,7 +82,7 @@ defmodule RadiatorWeb.CoreComponents do
@@ -158,7 +160,7 @@ defmodule RadiatorWeb.CoreComponents do
phx-connected={hide("#client-error")}
hidden
>
- <%= gettext("Attempting to reconnect") %>
+ {gettext("Attempting to reconnect")}
<.icon name="hero-arrow-path" class="ml-1 h-3 w-3 animate-spin" />
@@ -170,7 +172,7 @@ defmodule RadiatorWeb.CoreComponents do
phx-connected={hide("#server-error")}
hidden
>
- <%= gettext("Hang in there while we get back on track") %>
+ {gettext("Hang in there while we get back on track")}
<.icon name="hero-arrow-path" class="ml-1 h-3 w-3 animate-spin" />
@@ -204,9 +206,9 @@ defmodule RadiatorWeb.CoreComponents do
~H"""
<.form :let={f} for={@for} as={@as} {@rest}>
"""
end
@@ -371,13 +372,13 @@ defmodule RadiatorWeb.CoreComponents do
# All other inputs text, datetime-local, url, password, etc. are handled here...
def input(assigns) do
~H"""
-
"""
end
@@ -399,7 +400,7 @@ defmodule RadiatorWeb.CoreComponents do
def label(assigns) do
~H"""
"""
end
@@ -413,7 +414,7 @@ defmodule RadiatorWeb.CoreComponents do
~H"""