diff --git a/lib/mv_web/live/global_settings_live.ex b/lib/mv_web/live/global_settings_live.ex
index 492c813..43851db 100644
--- a/lib/mv_web/live/global_settings_live.ex
+++ b/lib/mv_web/live/global_settings_live.ex
@@ -191,10 +191,10 @@ defmodule MvWeb.GlobalSettingsLive do
target="_blank"
rel="noopener noreferrer"
class="btn btn-secondary btn-sm"
- aria-label={gettext("Open join page URL in a new tab")}
>
- <.icon name="hero-arrow-top-right-on-square" class="size-4" />
+ <.icon name="hero-arrow-top-right-on-square" class="size-4" aria-hidden="true" />
{pgettext("action", "Open")}
+ {gettext("join page URL in a new tab")}
diff --git a/lib/mv_web/live/join_live.ex b/lib/mv_web/live/join_live.ex
index e3bc444..ba0e476 100644
--- a/lib/mv_web/live/join_live.ex
+++ b/lib/mv_web/live/join_live.ex
@@ -6,8 +6,8 @@ defmodule MvWeb.JoinLive do
use MvWeb, :live_view
alias Ash.Resource.Info
- alias Mv.Membership.CustomFieldLookup
alias Mv.Membership
+ alias Mv.Membership.CustomFieldLookup
alias MvWeb.JoinRateLimit
alias MvWeb.Translations.MemberFields
@@ -81,14 +81,12 @@ defmodule MvWeb.JoinLive do
<% end %>
<%= for field <- @join_fields do %>
-
-
- <%= if field.input_type == "checkbox" do %>
-
+ <%= if field.input_type == "checkbox" do %>
+
+
+ <% else %>
+
+
- <% end %>
-
+
+ <% end %>
<% end %>
<%!--
@@ -274,7 +282,8 @@ defmodule MvWeb.JoinLive do
field_atom ->
Mv.Membership.Member
|> Info.attribute(field_atom)
- |> attribute_to_input_type()
+ |> Map.get(:type)
+ |> input_type_for()
end
end
@@ -285,21 +294,17 @@ defmodule MvWeb.JoinLive do
|> Enum.find(&(Atom.to_string(&1) == field_id))
end
- defp custom_field_input_type(type), do: attribute_to_input_type(%{type: type})
+ defp custom_field_input_type(type), do: input_type_for(type)
- defp attribute_to_input_type(%{type: type}) when type in [:date, Ash.Type.Date], do: "date"
-
- defp attribute_to_input_type(%{type: type}) when type in [:integer, Ash.Type.Integer],
- do: "number"
-
- defp attribute_to_input_type(%{type: type}) when type in [:boolean, Ash.Type.Boolean],
- do: "checkbox"
-
- defp attribute_to_input_type(%{type: type}) when type in [:email, Mv.Membership.Email],
- do: "email"
-
- defp attribute_to_input_type(%{type: _}), do: "text"
- defp attribute_to_input_type(nil), do: "text"
+ defp input_type_for(:date), do: "date"
+ defp input_type_for(Ash.Type.Date), do: "date"
+ defp input_type_for(:integer), do: "number"
+ defp input_type_for(Ash.Type.Integer), do: "number"
+ defp input_type_for(:boolean), do: "checkbox"
+ defp input_type_for(Ash.Type.Boolean), do: "checkbox"
+ defp input_type_for(:email), do: "email"
+ defp input_type_for(Mv.Membership.Email), do: "email"
+ defp input_type_for(_), do: "text"
defp checkbox_checked?(value) when value in [true, "true", "on", "1"], do: true
defp checkbox_checked?(_), do: false
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index 4b047fd..52270cc 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -3901,11 +3901,6 @@ msgstr "Nur OIDC-Anmeldung ist aktiv. Diese Option ist deaktiviert."
msgid "Only sign-in via Single Sign-On (SSO) is allowed."
msgstr "Nur Anmeldung per Single Sign-On (SSO) ist erlaubt."
-#: lib/mv_web/live/global_settings_live.ex
-#, elixir-autogen, elixir-format
-msgid "Open join page URL in a new tab"
-msgstr ""
-
#: lib/mv_web/live/global_settings_live.ex
#, elixir-autogen, elixir-format
msgctxt "action"
@@ -3917,3 +3912,8 @@ msgstr "Öffnen"
msgctxt "status"
msgid "Open"
msgstr "Offen"
+
+#: lib/mv_web/live/global_settings_live.ex
+#, elixir-autogen, elixir-format
+msgid "join page URL in a new tab"
+msgstr "Beitrittslink in einem neuen Tab"
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index bd94594..5d48691 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -3901,11 +3901,6 @@ msgstr ""
msgid "Only sign-in via Single Sign-On (SSO) is allowed."
msgstr ""
-#: lib/mv_web/live/global_settings_live.ex
-#, elixir-autogen, elixir-format
-msgid "Open join page URL in a new tab"
-msgstr ""
-
#: lib/mv_web/live/global_settings_live.ex
#, elixir-autogen, elixir-format
msgctxt "action"
@@ -3917,3 +3912,8 @@ msgstr ""
msgctxt "status"
msgid "Open"
msgstr ""
+
+#: lib/mv_web/live/global_settings_live.ex
+#, elixir-autogen, elixir-format
+msgid "join page URL in a new tab"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index 40a321e..ec6f305 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -3901,11 +3901,6 @@ msgstr ""
msgid "Only sign-in via Single Sign-On (SSO) is allowed."
msgstr ""
-#: lib/mv_web/live/global_settings_live.ex
-#, elixir-autogen, elixir-format
-msgid "Open join page URL in a new tab"
-msgstr ""
-
#: lib/mv_web/live/global_settings_live.ex
#, elixir-autogen, elixir-format
msgctxt "action"
@@ -3917,3 +3912,8 @@ msgstr "Open"
msgctxt "status"
msgid "Open"
msgstr "Open"
+
+#: lib/mv_web/live/global_settings_live.ex
+#, elixir-autogen, elixir-format
+msgid "join page URL in a new tab"
+msgstr "join page URL in a new tab"