Improve UX of join requests and fix minor bugs #492

Merged
simon merged 12 commits from bugfix/480-fix-minor-bugs into main 2026-05-06 14:34:44 +02:00
5 changed files with 44 additions and 1 deletions
Showing only changes of commit d0d7d38c03 - Show all commits

View file

@ -186,6 +186,16 @@ defmodule MvWeb.GlobalSettingsLive do
<.icon name="hero-clipboard-document" class="size-4" /> <.icon name="hero-clipboard-document" class="size-4" />
{gettext("Copy")} {gettext("Copy")}
</.button> </.button>
<.link
href={@join_url}
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" />
{gettext("Open")}
</.link>
</div> </div>
</div> </div>

View file

@ -2396,10 +2396,11 @@ msgstr "Nur Administrator*innen oder die verknüpfte*n Benutzer*in(nen) können
msgid "Only possible if no members are assigned to this type." msgid "Only possible if no members are assigned to this type."
msgstr "Nur möglich, wenn diesem Typ keine Mitglieder zugewiesen sind." msgstr "Nur möglich, wenn diesem Typ keine Mitglieder zugewiesen sind."
#: lib/mv_web/live/global_settings_live.ex
#: lib/mv_web/live/member_live/show/membership_fees_component.ex #: lib/mv_web/live/member_live/show/membership_fees_component.ex
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open" msgid "Open"
msgstr "Offen" msgstr "Öffnen"
#: lib/mv_web/live/member_live/index.html.heex #: lib/mv_web/live/member_live/index.html.heex
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -3905,3 +3906,8 @@ msgstr "Nur OIDC-Anmeldung ist aktiv. Diese Option ist deaktiviert."
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only sign-in via Single Sign-On (SSO) is allowed." msgid "Only sign-in via Single Sign-On (SSO) is allowed."
msgstr "Nur Anmeldung per Single Sign-On (SSO) ist erlaubt." 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 ""

View file

@ -2397,6 +2397,7 @@ msgstr ""
msgid "Only possible if no members are assigned to this type." msgid "Only possible if no members are assigned to this type."
msgstr "" msgstr ""
#: lib/mv_web/live/global_settings_live.ex
#: lib/mv_web/live/member_live/show/membership_fees_component.ex #: lib/mv_web/live/member_live/show/membership_fees_component.ex
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open" msgid "Open"
@ -3905,3 +3906,8 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only sign-in via Single Sign-On (SSO) is allowed." msgid "Only sign-in via Single Sign-On (SSO) is allowed."
msgstr "" msgstr ""
#: lib/mv_web/live/global_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Open join page URL in a new tab"
msgstr ""

View file

@ -2397,6 +2397,7 @@ msgstr ""
msgid "Only possible if no members are assigned to this type." msgid "Only possible if no members are assigned to this type."
msgstr "" msgstr ""
#: lib/mv_web/live/global_settings_live.ex
#: lib/mv_web/live/member_live/show/membership_fees_component.ex #: lib/mv_web/live/member_live/show/membership_fees_component.ex
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open" msgid "Open"
@ -3905,3 +3906,8 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only sign-in via Single Sign-On (SSO) is allowed." msgid "Only sign-in via Single Sign-On (SSO) is allowed."
msgstr "" msgstr ""
#: lib/mv_web/live/global_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Open join page URL in a new tab"
msgstr ""

View file

@ -64,6 +64,21 @@ defmodule MvWeb.GlobalSettingsLiveTest do
assert html =~ "must be present" assert html =~ "must be present"
end end
test "shows open button for join page URL in same row as copy", %{conn: conn} do
{:ok, settings} = Membership.get_settings()
{:ok, _} = Membership.update_settings(settings, %{join_form_enabled: true})
{:ok, view, _html} = live(conn, ~p"/settings")
assert has_element?(view, "#copy-join-url-btn")
assert has_element?(
view,
"a[href][target=\"_blank\"][rel=\"noopener noreferrer\"]",
"Open"
)
end
end end
describe "SMTP / E-Mail section" do describe "SMTP / E-Mail section" do