feat: add open button to join link in settings
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Simon 2026-05-06 12:14:22 +02:00
parent 0159d5352a
commit d0d7d38c03
Signed by: simon
GPG key ID: 40E7A58C4AA1EDB2
5 changed files with 44 additions and 1 deletions

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