diff --git a/lib/cannery_web.ex b/lib/cannery_web.ex index ec6ca34..00166f6 100644 --- a/lib/cannery_web.ex +++ b/lib/cannery_web.ex @@ -69,6 +69,7 @@ defmodule CanneryWeb do def html do quote do + # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse use Phoenix.Component # Import convenience functions from controllers @@ -82,11 +83,8 @@ defmodule CanneryWeb do defp html_helpers do quote do - # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse - use Phoenix.HTML - - # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse - import Phoenix.Component + use PhoenixHTMLHelpers + import Phoenix.{Component, HTML, HTML.Form} import CanneryWeb.{ErrorHelpers, Gettext, CoreComponents, HTMLHelpers} # Shortcut for generating JS commands diff --git a/lib/cannery_web/error_helpers.ex b/lib/cannery_web/error_helpers.ex index 0d1ea15..e1f3ea8 100644 --- a/lib/cannery_web/error_helpers.ex +++ b/lib/cannery_web/error_helpers.ex @@ -3,7 +3,8 @@ defmodule CanneryWeb.ErrorHelpers do Conveniences for translating and building error messages. """ - use Phoenix.HTML + use PhoenixHTMLHelpers + import Phoenix.HTML.Form import Phoenix.Component alias Ecto.Changeset alias Phoenix.{HTML.Form, LiveView.Rendered} @@ -65,7 +66,7 @@ defmodule CanneryWeb.ErrorHelpers do changeset |> changeset_error_map() |> Enum.map_join(". ", fn {key, errors} -> - "#{key |> humanize()}: #{errors |> Enum.join(", ")}" + "#{key |> Phoenix.Naming.humanize()}: #{errors |> Enum.join(", ")}" end) end diff --git a/mix.exs b/mix.exs index b6d13d8..db08f1f 100644 --- a/mix.exs +++ b/mix.exs @@ -47,29 +47,30 @@ defmodule Cannery.MixProject do defp deps do [ {:bcrypt_elixir, "~> 3.0"}, - {:phoenix, "~> 1.7.11"}, - {:phoenix_ecto, "~> 4.4"}, - {:phoenix_html, "~> 4.0"}, - {:phoenix_live_reload, "~> 1.2", only: :dev}, - {:phoenix_live_view, "~> 0.20.0"}, - {:phoenix_live_dashboard, "~> 0.8"}, + {:credo, "~> 1.5", only: [:dev, :test], runtime: false}, + {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}, + {:ecto_psql_extras, "~> 0.6"}, {:ecto_sql, "~> 3.6"}, - {:postgrex, ">= 0.0.0"}, - {:floki, ">= 0.30.0", only: :test}, + {:eqrcode, "~> 0.1.10"}, # {:esbuild, "~> 0.3", runtime: Mix.env() == :dev}, {:ex_doc, "~> 0.27", only: :dev, runtime: false}, - {:swoosh, "~> 1.6"}, + {:floki, ">= 0.30.0", only: :test}, {:gen_smtp, "~> 1.0"}, - {:oban, "~> 2.10"}, - {:telemetry_metrics, "~> 0.6"}, - {:telemetry_poller, "~> 1.0"}, {:gettext, "~> 0.18"}, {:jason, "~> 1.2"}, + {:oban, "~> 2.10"}, + {:phoenix_ecto, "~> 4.4"}, + {:phoenix_html_helpers, "~> 1.0"}, + {:phoenix_html, "~> 4.0"}, + {:phoenix_live_dashboard, "~> 0.8"}, + {:phoenix_live_reload, "~> 1.2", only: :dev}, + {:phoenix_live_view, "~> 0.20.0"}, + {:phoenix, "~> 1.7.11"}, {:plug_cowboy, "~> 2.7"}, - {:ecto_psql_extras, "~> 0.6"}, - {:eqrcode, "~> 0.1.10"}, - {:credo, "~> 1.5", only: [:dev, :test], runtime: false}, - {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false} + {:postgrex, ">= 0.0.0"}, + {:swoosh, "~> 1.6"}, + {:telemetry_metrics, "~> 0.6"}, + {:telemetry_poller, "~> 1.0"} ] end diff --git a/mix.lock b/mix.lock index c364a55..1faf95c 100644 --- a/mix.lock +++ b/mix.lock @@ -33,6 +33,7 @@ "phoenix": {:hex, :phoenix, "1.7.11", "1d88fc6b05ab0c735b250932c4e6e33bfa1c186f76dcf623d8dd52f07d6379c7", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"}, "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.3", "86e9878f833829c3f66da03d75254c155d91d72a201eb56ae83482328dc7ca93", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07"}, "phoenix_html": {:hex, :phoenix_html, "4.0.0", "4857ec2edaccd0934a923c2b0ba526c44a173c86b847e8db725172e9e51d11d6", [:mix], [], "hexpm", "cee794a052f243291d92fa3ccabcb4c29bb8d236f655fb03bcbdc3a8214b8d13"}, + "phoenix_html_helpers": {:hex, :phoenix_html_helpers, "1.0.1", "7eed85c52eff80a179391036931791ee5d2f713d76a81d0d2c6ebafe1e11e5ec", [:mix], [{:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cffd2385d1fa4f78b04432df69ab8da63dc5cf63e07b713a4dcf36a3740e3090"}, "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.3", "7ff51c9b6609470f681fbea20578dede0e548302b0c8bdf338b5a753a4f045bf", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"}, "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.4.1", "2aff698f5e47369decde4357ba91fc9c37c6487a512b41732818f2204a8ef1d3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"}, "phoenix_live_view": {:hex, :phoenix_live_view, "0.20.9", "46d5d436d3f8ff97f066b6c45528fd842a711fd3875b2d3f706b2e769ea07c51", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "694388615ece21b70c523910cba1c633132b08a270caaf60100dd4eaf331885d"},