diff --git a/Justfile b/Justfile index 907283f..a91c0e4 100644 --- a/Justfile +++ b/Justfile @@ -84,4 +84,10 @@ regen-migrations migration_name commit_hash='': clean: mix clean rm -rf .elixir_ls - rm -rf _build \ No newline at end of file + rm -rf _build + +# Remove Git merge conflict markers from gettext files +remove-gettext-conflicts: + #!/usr/bin/env bash + set -euo pipefail + find priv/gettext -type f -exec sed -i '/^<<<<<<< HEAD$/d; /^=======$/d; /^>>>>>>>/d' {} \; \ No newline at end of file diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 3d30d76..67ce522 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -137,13 +137,7 @@ defmodule MvWeb.MemberLive.Index do selected_ids = socket.assigns.selected_members # Filter members that are in the selection and have email addresses - formatted_emails = - socket.assigns.members - |> Enum.filter(fn member -> - MapSet.member?(selected_ids, member.id) && member.email && member.email != "" - end) - |> Enum.map(&format_member_email/1) - + formatted_emails = format_selected_member_emails(socket.assigns.members, selected_ids) email_count = length(formatted_emails) cond do @@ -887,9 +881,20 @@ defmodule MvWeb.MemberLive.Index do end end + # Filters selected members with email addresses and formats them. + # Returns a list of formatted email strings in the format "First Last ". + # Used by both copy_emails and mailto links. + def format_selected_member_emails(members, selected_members) do + members + |> Enum.filter(fn member -> + MapSet.member?(selected_members, member.id) && member.email && member.email != "" + end) + |> Enum.map(&format_member_email/1) + end + # Formats a member's email in the format "First Last " - # Used for copy_emails feature to create email-client-friendly format. - defp format_member_email(member) do + # Used for copy_emails feature and mailto links to create email-client-friendly format. + def format_member_email(member) do first_name = member.first_name || "" last_name = member.last_name || "" diff --git a/lib/mv_web/live/member_live/index.html.heex b/lib/mv_web/live/member_live/index.html.heex index 58e22b6..9f8851b 100644 --- a/lib/mv_web/live/member_live/index.html.heex +++ b/lib/mv_web/live/member_live/index.html.heex @@ -14,7 +14,12 @@ <.button :if={Enum.any?(@members, &MapSet.member?(@selected_members, &1.id))} - href={"mailto:?bcc=#{@members |> Enum.filter(&(MapSet.member?(@selected_members, &1.id) && &1.email)) |> Enum.map(& &1.email) |> Enum.join(",")}"} + href={ + "mailto:?bcc=" <> + (MvWeb.MemberLive.Index.format_selected_member_emails(@members, @selected_members) + |> Enum.join(", ") + |> URI.encode()) + } aria-label={gettext("Open email program with BCC recipients")} > <.icon name="hero-envelope" /> diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index a2407a7..d2e8a3f 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -15,7 +15,7 @@ msgstr "" msgid "Actions" msgstr "Aktionen" -#: lib/mv_web/live/member_live/index.html.heex:243 +#: lib/mv_web/live/member_live/index.html.heex:248 #: lib/mv_web/live/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" @@ -28,21 +28,21 @@ msgid "Attempting to reconnect" msgstr "Verbindung wird wiederhergestellt" #: lib/mv_web/live/member_live/form.ex:53 -#: lib/mv_web/live/member_live/index.html.heex:179 +#: lib/mv_web/live/member_live/index.html.heex:184 #: lib/mv_web/live/member_live/show.ex:58 #, elixir-autogen, elixir-format msgid "City" msgstr "Stadt" #: lib/mv_web/live/custom_field_live/index_component.ex:82 -#: lib/mv_web/live/member_live/index.html.heex:245 +#: lib/mv_web/live/member_live/index.html.heex:250 #: lib/mv_web/live/user_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Delete" msgstr "Löschen" #: lib/mv_web/live/custom_field_live/index_component.ex:76 -#: lib/mv_web/live/member_live/index.html.heex:237 +#: lib/mv_web/live/member_live/index.html.heex:242 #: lib/mv_web/live/user_live/form.ex:265 #: lib/mv_web/live/user_live/index.html.heex:66 #, elixir-autogen, elixir-format @@ -56,7 +56,7 @@ msgid "Edit Member" msgstr "Mitglied bearbeiten" #: lib/mv_web/live/member_live/form.ex:47 -#: lib/mv_web/live/member_live/index.html.heex:107 +#: lib/mv_web/live/member_live/index.html.heex:112 #: lib/mv_web/live/member_live/show.ex:50 #: lib/mv_web/live/user_live/form.ex:46 #: lib/mv_web/live/user_live/index.html.heex:44 @@ -72,7 +72,7 @@ msgid "First Name" msgstr "Vorname" #: lib/mv_web/live/member_live/form.ex:50 -#: lib/mv_web/live/member_live/index.html.heex:215 +#: lib/mv_web/live/member_live/index.html.heex:220 #: lib/mv_web/live/member_live/show.ex:55 #, elixir-autogen, elixir-format msgid "Join Date" @@ -84,12 +84,12 @@ msgstr "Beitrittsdatum" msgid "Last Name" msgstr "Nachname" -#: lib/mv_web/live/member_live/index.html.heex:24 +#: lib/mv_web/live/member_live/index.html.heex:29 #, elixir-autogen, elixir-format msgid "New Member" msgstr "Neues Mitglied" -#: lib/mv_web/live/member_live/index.html.heex:234 +#: lib/mv_web/live/member_live/index.html.heex:239 #: lib/mv_web/live/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" @@ -117,7 +117,7 @@ msgid "Exit Date" msgstr "Austrittsdatum" #: lib/mv_web/live/member_live/form.ex:55 -#: lib/mv_web/live/member_live/index.html.heex:143 +#: lib/mv_web/live/member_live/index.html.heex:148 #: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format msgid "House Number" @@ -132,21 +132,21 @@ msgstr "Notizen" #: lib/mv_web/live/components/payment_filter_component.ex:94 #: lib/mv_web/live/components/payment_filter_component.ex:144 #: lib/mv_web/live/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:224 +#: lib/mv_web/live/member_live/index.html.heex:229 #: lib/mv_web/live/member_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Paid" msgstr "Bezahlt" #: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:197 +#: lib/mv_web/live/member_live/index.html.heex:202 #: lib/mv_web/live/member_live/show.ex:54 #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "Telefonnummer" #: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:161 +#: lib/mv_web/live/member_live/index.html.heex:166 #: lib/mv_web/live/member_live/show.ex:61 #, elixir-autogen, elixir-format msgid "Postal Code" @@ -159,7 +159,7 @@ msgstr "Mitglied speichern" #: lib/mv_web/live/custom_field_live/form_component.ex:63 #: lib/mv_web/live/custom_field_value_live/form.ex:74 -#: lib/mv_web/live/global_settings_live.ex:61 +#: lib/mv_web/live/global_settings_live.ex:60 #: lib/mv_web/live/member_live/form.ex:78 #: lib/mv_web/live/user_live/form.ex:248 #, elixir-autogen, elixir-format @@ -167,7 +167,7 @@ msgid "Saving..." msgstr "Speichern..." #: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:125 +#: lib/mv_web/live/member_live/index.html.heex:130 #: lib/mv_web/live/member_live/show.ex:59 #, elixir-autogen, elixir-format msgid "Street" @@ -179,7 +179,7 @@ msgid "Id" msgstr "ID" #: lib/mv_web/live/custom_field_live/index_component.ex:68 -#: lib/mv_web/live/member_live/index.html.heex:229 +#: lib/mv_web/live/member_live/index.html.heex:234 #: lib/mv_web/live/member_live/index/formatter.ex:61 #: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format @@ -197,7 +197,7 @@ msgid "This is a member record from your database." msgstr "Dies ist ein Mitglied aus deiner Datenbank." #: lib/mv_web/live/custom_field_live/index_component.ex:65 -#: lib/mv_web/live/member_live/index.html.heex:229 +#: lib/mv_web/live/member_live/index.html.heex:234 #: lib/mv_web/live/member_live/index/formatter.ex:60 #: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format @@ -365,12 +365,12 @@ msgstr "Profil" msgid "Required" msgstr "Erforderlich" -#: lib/mv_web/live/member_live/index.html.heex:63 +#: lib/mv_web/live/member_live/index.html.heex:68 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "Alle Mitglieder auswählen" -#: lib/mv_web/live/member_live/index.html.heex:77 +#: lib/mv_web/live/member_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Select member" msgstr "Mitglied auswählen" @@ -378,7 +378,7 @@ msgstr "Mitglied auswählen" #: lib/mv_web/components/layouts/navbar.ex:26 #: lib/mv_web/components/layouts/navbar.ex:99 #: lib/mv_web/live/global_settings_live.ex:32 -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex:42 #, elixir-autogen, elixir-format msgid "Settings" msgstr "Einstellungen" @@ -559,7 +559,7 @@ msgid "Toggle dark mode" msgstr "Dunklen Modus umschalten" #: lib/mv_web/live/components/search_bar_component.ex:15 -#: lib/mv_web/live/member_live/index.html.heex:34 +#: lib/mv_web/live/member_live/index.html.heex:39 #, elixir-autogen, elixir-format msgid "Search..." msgstr "Suchen..." @@ -575,7 +575,7 @@ msgstr "Benutzer*innen" msgid "Click to sort" msgstr "Klicke um zu sortieren" -#: lib/mv_web/live/member_live/index.html.heex:89 +#: lib/mv_web/live/member_live/index.html.heex:94 #, elixir-autogen, elixir-format msgid "First name" msgstr "Vorname" @@ -627,7 +627,7 @@ msgstr "Benutzerdefinierte Feldwerte" msgid "Custom field" msgstr "Benutzerdefiniertes Feld" -#: lib/mv_web/live/global_settings_live.ex:108 +#: lib/mv_web/live/global_settings_live.ex:105 #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "Benutzerdefiniertes Feld erfolgreich %{action}" @@ -699,27 +699,27 @@ msgstr "Um die Löschung zu bestätigen, gib bitte folgenden Text ein:" msgid "Show in overview" msgstr "In der Mitglieder-Übersicht anzeigen" -#: lib/mv_web/live/global_settings_live.ex:57 +#: lib/mv_web/live/global_settings_live.ex:56 #, elixir-autogen, elixir-format msgid "Association Name" msgstr "Vereinsname" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex:50 #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "Vereinsdaten" -#: lib/mv_web/live/global_settings_live.ex:45 +#: lib/mv_web/live/global_settings_live.ex:44 #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "Passe übergreifende Einstellungen für den Verein an." -#: lib/mv_web/live/global_settings_live.ex:62 +#: lib/mv_web/live/global_settings_live.ex:61 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "Einstellungen speichern" -#: lib/mv_web/live/global_settings_live.ex:88 +#: lib/mv_web/live/global_settings_live.ex:87 #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "Einstellungen erfolgreich gespeichert" @@ -774,7 +774,7 @@ msgstr "Mitglied entverknüpfen" msgid "Unlinking scheduled" msgstr "Entverknüpfung geplant" -#: lib/mv_web/live/member_live/index.ex:165 +#: lib/mv_web/live/member_live/index.ex:159 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -791,27 +791,27 @@ msgstr "E-Mail-Adressen der ausgewählten Mitglieder kopieren" msgid "Copy emails" msgstr "E-Mails kopieren" -#: lib/mv_web/live/member_live/index.ex:154 +#: lib/mv_web/live/member_live/index.ex:148 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "Keine E-Mail-Adressen gefunden" -#: lib/mv_web/live/member_live/index.ex:151 +#: lib/mv_web/live/member_live/index.ex:145 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "Keine Mitglieder ausgewählt" -#: lib/mv_web/live/member_live/index.html.heex:18 +#: lib/mv_web/live/member_live/index.html.heex:23 #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "E-Mail-Programm mit BCC-Empfänger*innen öffnen" -#: lib/mv_web/live/member_live/index.html.heex:21 +#: lib/mv_web/live/member_live/index.html.heex:26 #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "Im E-Mail-Programm öffnen" -#: lib/mv_web/live/member_live/index.ex:174 +#: lib/mv_web/live/member_live/index.ex:168 #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "Tipp: E-Mail-Adressen ins BCC-Feld einfügen für Datenschutzkonformität" @@ -851,7 +851,7 @@ msgstr "Nicht bezahlt" msgid "Payment filter" msgstr "Zahlungsfilter" -#: lib/mv_web/live/global_settings_live.ex:118 +#: lib/mv_web/live/global_settings_live.ex:110 #, elixir-autogen, elixir-format, fuzzy msgid "Custom field deleted successfully" msgstr "Benutzerdefiniertes Feld erfolgreich %{action}" @@ -861,7 +861,7 @@ msgstr "Benutzerdefiniertes Feld erfolgreich %{action}" msgid "Edit Custom Field" msgstr "Benutzerdefiniertes Feld bearbeiten" -#: lib/mv_web/live/global_settings_live.ex:127 +#: lib/mv_web/live/global_settings_live.ex:119 #, elixir-autogen, elixir-format msgid "Failed to delete custom field: %{error}" msgstr "Konnte benutzerdefiniertes Feld nicht löschen: %{error}" @@ -881,7 +881,7 @@ msgstr "Neues Benutzerdefiniertes Feld" msgid "Show in Overview" msgstr "In der Mitglieder-Übersicht anzeigen" -#: lib/mv_web/live/global_settings_live.ex:133 +#: lib/mv_web/live/global_settings_live.ex:125 #, elixir-autogen, elixir-format msgid "Slug does not match. Deletion cancelled." msgstr "Eingegebener Text war nicht korrekt. Löschen wurde abgebrochen." diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index d687d03..daeb4d9 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -16,7 +16,7 @@ msgstr "" msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:243 +#: lib/mv_web/live/member_live/index.html.heex:248 #: lib/mv_web/live/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" @@ -29,21 +29,21 @@ msgid "Attempting to reconnect" msgstr "" #: lib/mv_web/live/member_live/form.ex:53 -#: lib/mv_web/live/member_live/index.html.heex:179 +#: lib/mv_web/live/member_live/index.html.heex:184 #: lib/mv_web/live/member_live/show.ex:58 #, elixir-autogen, elixir-format msgid "City" msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:82 -#: lib/mv_web/live/member_live/index.html.heex:245 +#: lib/mv_web/live/member_live/index.html.heex:250 #: lib/mv_web/live/user_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:76 -#: lib/mv_web/live/member_live/index.html.heex:237 +#: lib/mv_web/live/member_live/index.html.heex:242 #: lib/mv_web/live/user_live/form.ex:265 #: lib/mv_web/live/user_live/index.html.heex:66 #, elixir-autogen, elixir-format @@ -57,7 +57,7 @@ msgid "Edit Member" msgstr "" #: lib/mv_web/live/member_live/form.ex:47 -#: lib/mv_web/live/member_live/index.html.heex:107 +#: lib/mv_web/live/member_live/index.html.heex:112 #: lib/mv_web/live/member_live/show.ex:50 #: lib/mv_web/live/user_live/form.ex:46 #: lib/mv_web/live/user_live/index.html.heex:44 @@ -73,7 +73,7 @@ msgid "First Name" msgstr "" #: lib/mv_web/live/member_live/form.ex:50 -#: lib/mv_web/live/member_live/index.html.heex:215 +#: lib/mv_web/live/member_live/index.html.heex:220 #: lib/mv_web/live/member_live/show.ex:55 #, elixir-autogen, elixir-format msgid "Join Date" @@ -85,12 +85,12 @@ msgstr "" msgid "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:24 +#: lib/mv_web/live/member_live/index.html.heex:29 #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 +#: lib/mv_web/live/member_live/index.html.heex:239 #: lib/mv_web/live/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" @@ -118,7 +118,7 @@ msgid "Exit Date" msgstr "" #: lib/mv_web/live/member_live/form.ex:55 -#: lib/mv_web/live/member_live/index.html.heex:143 +#: lib/mv_web/live/member_live/index.html.heex:148 #: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format msgid "House Number" @@ -133,21 +133,21 @@ msgstr "" #: lib/mv_web/live/components/payment_filter_component.ex:94 #: lib/mv_web/live/components/payment_filter_component.ex:144 #: lib/mv_web/live/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:224 +#: lib/mv_web/live/member_live/index.html.heex:229 #: lib/mv_web/live/member_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Paid" msgstr "" #: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:197 +#: lib/mv_web/live/member_live/index.html.heex:202 #: lib/mv_web/live/member_live/show.ex:54 #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" #: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:161 +#: lib/mv_web/live/member_live/index.html.heex:166 #: lib/mv_web/live/member_live/show.ex:61 #, elixir-autogen, elixir-format msgid "Postal Code" @@ -160,7 +160,7 @@ msgstr "" #: lib/mv_web/live/custom_field_live/form_component.ex:63 #: lib/mv_web/live/custom_field_value_live/form.ex:74 -#: lib/mv_web/live/global_settings_live.ex:61 +#: lib/mv_web/live/global_settings_live.ex:60 #: lib/mv_web/live/member_live/form.ex:78 #: lib/mv_web/live/user_live/form.ex:248 #, elixir-autogen, elixir-format @@ -168,7 +168,7 @@ msgid "Saving..." msgstr "" #: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:125 +#: lib/mv_web/live/member_live/index.html.heex:130 #: lib/mv_web/live/member_live/show.ex:59 #, elixir-autogen, elixir-format msgid "Street" @@ -180,7 +180,7 @@ msgid "Id" msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:68 -#: lib/mv_web/live/member_live/index.html.heex:229 +#: lib/mv_web/live/member_live/index.html.heex:234 #: lib/mv_web/live/member_live/index/formatter.ex:61 #: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format @@ -198,7 +198,7 @@ msgid "This is a member record from your database." msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:65 -#: lib/mv_web/live/member_live/index.html.heex:229 +#: lib/mv_web/live/member_live/index.html.heex:234 #: lib/mv_web/live/member_live/index/formatter.ex:60 #: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format @@ -366,12 +366,12 @@ msgstr "" msgid "Required" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:63 +#: lib/mv_web/live/member_live/index.html.heex:68 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:77 +#: lib/mv_web/live/member_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Select member" msgstr "" @@ -379,7 +379,7 @@ msgstr "" #: lib/mv_web/components/layouts/navbar.ex:26 #: lib/mv_web/components/layouts/navbar.ex:99 #: lib/mv_web/live/global_settings_live.ex:32 -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex:42 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" @@ -560,7 +560,7 @@ msgid "Toggle dark mode" msgstr "" #: lib/mv_web/live/components/search_bar_component.ex:15 -#: lib/mv_web/live/member_live/index.html.heex:34 +#: lib/mv_web/live/member_live/index.html.heex:39 #, elixir-autogen, elixir-format msgid "Search..." msgstr "" @@ -576,7 +576,7 @@ msgstr "" msgid "Click to sort" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:89 +#: lib/mv_web/live/member_live/index.html.heex:94 #, elixir-autogen, elixir-format msgid "First name" msgstr "" @@ -628,7 +628,7 @@ msgstr "" msgid "Custom field" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:108 +#: lib/mv_web/live/global_settings_live.ex:105 #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "" @@ -700,27 +700,27 @@ msgstr "" msgid "Show in overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:57 +#: lib/mv_web/live/global_settings_live.ex:56 #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex:50 #, elixir-autogen, elixir-format msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:45 +#: lib/mv_web/live/global_settings_live.ex:44 #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/global_settings_live.ex:62 +#: lib/mv_web/live/global_settings_live.ex:61 #, elixir-autogen, elixir-format msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:88 +#: lib/mv_web/live/global_settings_live.ex:87 #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "" @@ -775,7 +775,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:165 +#: lib/mv_web/live/member_live/index.ex:159 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -792,27 +792,27 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:154 +#: lib/mv_web/live/member_live/index.ex:148 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:151 +#: lib/mv_web/live/member_live/index.ex:145 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:18 +#: lib/mv_web/live/member_live/index.html.heex:23 #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:21 +#: lib/mv_web/live/member_live/index.html.heex:26 #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:174 +#: lib/mv_web/live/member_live/index.ex:168 #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" @@ -852,7 +852,7 @@ msgstr "" msgid "Payment filter" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:118 +#: lib/mv_web/live/global_settings_live.ex:110 #, elixir-autogen, elixir-format msgid "Custom field deleted successfully" msgstr "" @@ -862,7 +862,7 @@ msgstr "" msgid "Edit Custom Field" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:127 +#: lib/mv_web/live/global_settings_live.ex:119 #, elixir-autogen, elixir-format msgid "Failed to delete custom field: %{error}" msgstr "" @@ -882,7 +882,7 @@ msgstr "" msgid "Show in Overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:133 +#: lib/mv_web/live/global_settings_live.ex:125 #, elixir-autogen, elixir-format msgid "Slug does not match. Deletion cancelled." msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 09d7a51..e10c455 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -16,7 +16,7 @@ msgstr "" msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:243 +#: lib/mv_web/live/member_live/index.html.heex:248 #: lib/mv_web/live/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" @@ -29,21 +29,21 @@ msgid "Attempting to reconnect" msgstr "" #: lib/mv_web/live/member_live/form.ex:53 -#: lib/mv_web/live/member_live/index.html.heex:179 +#: lib/mv_web/live/member_live/index.html.heex:184 #: lib/mv_web/live/member_live/show.ex:58 #, elixir-autogen, elixir-format msgid "City" msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:82 -#: lib/mv_web/live/member_live/index.html.heex:245 +#: lib/mv_web/live/member_live/index.html.heex:250 #: lib/mv_web/live/user_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:76 -#: lib/mv_web/live/member_live/index.html.heex:237 +#: lib/mv_web/live/member_live/index.html.heex:242 #: lib/mv_web/live/user_live/form.ex:265 #: lib/mv_web/live/user_live/index.html.heex:66 #, elixir-autogen, elixir-format @@ -57,7 +57,7 @@ msgid "Edit Member" msgstr "" #: lib/mv_web/live/member_live/form.ex:47 -#: lib/mv_web/live/member_live/index.html.heex:107 +#: lib/mv_web/live/member_live/index.html.heex:112 #: lib/mv_web/live/member_live/show.ex:50 #: lib/mv_web/live/user_live/form.ex:46 #: lib/mv_web/live/user_live/index.html.heex:44 @@ -73,7 +73,7 @@ msgid "First Name" msgstr "" #: lib/mv_web/live/member_live/form.ex:50 -#: lib/mv_web/live/member_live/index.html.heex:215 +#: lib/mv_web/live/member_live/index.html.heex:220 #: lib/mv_web/live/member_live/show.ex:55 #, elixir-autogen, elixir-format msgid "Join Date" @@ -85,12 +85,12 @@ msgstr "" msgid "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:24 +#: lib/mv_web/live/member_live/index.html.heex:29 #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 +#: lib/mv_web/live/member_live/index.html.heex:239 #: lib/mv_web/live/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" @@ -118,7 +118,7 @@ msgid "Exit Date" msgstr "" #: lib/mv_web/live/member_live/form.ex:55 -#: lib/mv_web/live/member_live/index.html.heex:143 +#: lib/mv_web/live/member_live/index.html.heex:148 #: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format msgid "House Number" @@ -133,21 +133,21 @@ msgstr "" #: lib/mv_web/live/components/payment_filter_component.ex:94 #: lib/mv_web/live/components/payment_filter_component.ex:144 #: lib/mv_web/live/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:224 +#: lib/mv_web/live/member_live/index.html.heex:229 #: lib/mv_web/live/member_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Paid" msgstr "" #: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:197 +#: lib/mv_web/live/member_live/index.html.heex:202 #: lib/mv_web/live/member_live/show.ex:54 #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" #: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:161 +#: lib/mv_web/live/member_live/index.html.heex:166 #: lib/mv_web/live/member_live/show.ex:61 #, elixir-autogen, elixir-format msgid "Postal Code" @@ -160,7 +160,7 @@ msgstr "" #: lib/mv_web/live/custom_field_live/form_component.ex:63 #: lib/mv_web/live/custom_field_value_live/form.ex:74 -#: lib/mv_web/live/global_settings_live.ex:61 +#: lib/mv_web/live/global_settings_live.ex:60 #: lib/mv_web/live/member_live/form.ex:78 #: lib/mv_web/live/user_live/form.ex:248 #, elixir-autogen, elixir-format @@ -168,7 +168,7 @@ msgid "Saving..." msgstr "" #: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:125 +#: lib/mv_web/live/member_live/index.html.heex:130 #: lib/mv_web/live/member_live/show.ex:59 #, elixir-autogen, elixir-format msgid "Street" @@ -180,7 +180,7 @@ msgid "Id" msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:68 -#: lib/mv_web/live/member_live/index.html.heex:229 +#: lib/mv_web/live/member_live/index.html.heex:234 #: lib/mv_web/live/member_live/index/formatter.ex:61 #: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format @@ -198,7 +198,7 @@ msgid "This is a member record from your database." msgstr "" #: lib/mv_web/live/custom_field_live/index_component.ex:65 -#: lib/mv_web/live/member_live/index.html.heex:229 +#: lib/mv_web/live/member_live/index.html.heex:234 #: lib/mv_web/live/member_live/index/formatter.ex:60 #: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format @@ -366,12 +366,12 @@ msgstr "" msgid "Required" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:63 +#: lib/mv_web/live/member_live/index.html.heex:68 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:77 +#: lib/mv_web/live/member_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Select member" msgstr "" @@ -379,7 +379,7 @@ msgstr "" #: lib/mv_web/components/layouts/navbar.ex:26 #: lib/mv_web/components/layouts/navbar.ex:99 #: lib/mv_web/live/global_settings_live.ex:32 -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex:42 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" @@ -560,7 +560,7 @@ msgid "Toggle dark mode" msgstr "" #: lib/mv_web/live/components/search_bar_component.ex:15 -#: lib/mv_web/live/member_live/index.html.heex:34 +#: lib/mv_web/live/member_live/index.html.heex:39 #, elixir-autogen, elixir-format msgid "Search..." msgstr "" @@ -576,7 +576,7 @@ msgstr "" msgid "Click to sort" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:89 +#: lib/mv_web/live/member_live/index.html.heex:94 #, elixir-autogen, elixir-format, fuzzy msgid "First name" msgstr "" @@ -628,7 +628,7 @@ msgstr "" msgid "Custom field" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:108 +#: lib/mv_web/live/global_settings_live.ex:105 #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "" @@ -700,27 +700,27 @@ msgstr "" msgid "Show in overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:57 +#: lib/mv_web/live/global_settings_live.ex:56 #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex:50 #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:45 +#: lib/mv_web/live/global_settings_live.ex:44 #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/global_settings_live.ex:62 +#: lib/mv_web/live/global_settings_live.ex:61 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:88 +#: lib/mv_web/live/global_settings_live.ex:87 #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "" @@ -775,7 +775,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:165 +#: lib/mv_web/live/member_live/index.ex:159 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -792,27 +792,27 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:154 +#: lib/mv_web/live/member_live/index.ex:148 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:151 +#: lib/mv_web/live/member_live/index.ex:145 #, elixir-autogen, elixir-format, fuzzy msgid "No members selected" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:18 +#: lib/mv_web/live/member_live/index.html.heex:23 #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:21 +#: lib/mv_web/live/member_live/index.html.heex:26 #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:174 +#: lib/mv_web/live/member_live/index.ex:168 #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" @@ -852,7 +852,7 @@ msgstr "" msgid "Payment filter" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:118 +#: lib/mv_web/live/global_settings_live.ex:110 #, elixir-autogen, elixir-format, fuzzy msgid "Custom field deleted successfully" msgstr "" @@ -862,7 +862,7 @@ msgstr "" msgid "Edit Custom Field" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:127 +#: lib/mv_web/live/global_settings_live.ex:119 #, elixir-autogen, elixir-format msgid "Failed to delete custom field: %{error}" msgstr "" @@ -882,7 +882,7 @@ msgstr "" msgid "Show in Overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:133 +#: lib/mv_web/live/global_settings_live.ex:125 #, elixir-autogen, elixir-format msgid "Slug does not match. Deletion cancelled." msgstr "" @@ -908,11 +908,6 @@ msgstr "" #~ msgid "Birth Date" #~ msgstr "" -#~ #: lib/mv_web/live/custom_field_live/index_component.ex:22 -#~ #, elixir-autogen, elixir-format -#~ msgid "Manage custom field definitions for members." -#~ msgstr "" - #~ #: lib/mv_web/live/custom_field_live/form.ex:46 #~ #, elixir-autogen, elixir-format, fuzzy #~ msgid "Use this form to manage custom_field records in your database."