diff --git a/Justfile b/Justfile index a91c0e4..907283f 100644 --- a/Justfile +++ b/Justfile @@ -84,10 +84,4 @@ regen-migrations migration_name commit_hash='': clean: mix clean rm -rf .elixir_ls - 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 + rm -rf _build \ 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 67ce522..3d30d76 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -137,7 +137,13 @@ defmodule MvWeb.MemberLive.Index do selected_ids = socket.assigns.selected_members # Filter members that are in the selection and have email addresses - formatted_emails = format_selected_member_emails(socket.assigns.members, selected_ids) + 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) + email_count = length(formatted_emails) cond do @@ -881,20 +887,9 @@ 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 and mailto links to create email-client-friendly format. - def format_member_email(member) do + # Used for copy_emails feature to create email-client-friendly format. + defp 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 9f8851b..58e22b6 100644 --- a/lib/mv_web/live/member_live/index.html.heex +++ b/lib/mv_web/live/member_live/index.html.heex @@ -14,12 +14,7 @@ <.button :if={Enum.any?(@members, &MapSet.member?(@selected_members, &1.id))} - href={ - "mailto:?bcc=" <> - (MvWeb.MemberLive.Index.format_selected_member_emails(@members, @selected_members) - |> Enum.join(", ") - |> URI.encode()) - } + href={"mailto:?bcc=#{@members |> Enum.filter(&(MapSet.member?(@selected_members, &1.id) && &1.email)) |> Enum.map(& &1.email) |> Enum.join(",")}"} 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 d2e8a3f..a2407a7 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:248 +#: lib/mv_web/live/member_live/index.html.heex:243 #: 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:184 +#: lib/mv_web/live/member_live/index.html.heex:179 #: 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:250 +#: lib/mv_web/live/member_live/index.html.heex:245 #: 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:242 +#: lib/mv_web/live/member_live/index.html.heex:237 #: 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:112 +#: lib/mv_web/live/member_live/index.html.heex:107 #: 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:220 +#: lib/mv_web/live/member_live/index.html.heex:215 #: 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:29 +#: lib/mv_web/live/member_live/index.html.heex:24 #, elixir-autogen, elixir-format msgid "New Member" msgstr "Neues Mitglied" -#: lib/mv_web/live/member_live/index.html.heex:239 +#: lib/mv_web/live/member_live/index.html.heex:234 #: 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:148 +#: lib/mv_web/live/member_live/index.html.heex:143 #: 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:229 +#: lib/mv_web/live/member_live/index.html.heex:224 #: 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:202 +#: lib/mv_web/live/member_live/index.html.heex:197 #: 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:166 +#: lib/mv_web/live/member_live/index.html.heex:161 #: 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:60 +#: lib/mv_web/live/global_settings_live.ex:61 #: 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:130 +#: lib/mv_web/live/member_live/index.html.heex:125 #: 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:234 +#: lib/mv_web/live/member_live/index.html.heex:229 #: 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:234 +#: lib/mv_web/live/member_live/index.html.heex:229 #: 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:68 +#: lib/mv_web/live/member_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "Alle Mitglieder auswählen" -#: lib/mv_web/live/member_live/index.html.heex:82 +#: lib/mv_web/live/member_live/index.html.heex:77 #, 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:42 +#: lib/mv_web/live/global_settings_live.ex:43 #, 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:39 +#: lib/mv_web/live/member_live/index.html.heex:34 #, 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:94 +#: lib/mv_web/live/member_live/index.html.heex:89 #, 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:105 +#: lib/mv_web/live/global_settings_live.ex:108 #, 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:56 +#: lib/mv_web/live/global_settings_live.ex:57 #, elixir-autogen, elixir-format msgid "Association Name" msgstr "Vereinsname" -#: lib/mv_web/live/global_settings_live.ex:50 +#: lib/mv_web/live/global_settings_live.ex:51 #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "Vereinsdaten" -#: lib/mv_web/live/global_settings_live.ex:44 +#: lib/mv_web/live/global_settings_live.ex:45 #, 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:61 +#: lib/mv_web/live/global_settings_live.ex:62 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "Einstellungen speichern" -#: lib/mv_web/live/global_settings_live.ex:87 +#: lib/mv_web/live/global_settings_live.ex:88 #, 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:159 +#: lib/mv_web/live/member_live/index.ex:165 #, 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:148 +#: lib/mv_web/live/member_live/index.ex:154 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "Keine E-Mail-Adressen gefunden" -#: lib/mv_web/live/member_live/index.ex:145 +#: lib/mv_web/live/member_live/index.ex:151 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "Keine Mitglieder ausgewählt" -#: lib/mv_web/live/member_live/index.html.heex:23 +#: lib/mv_web/live/member_live/index.html.heex:18 #, 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:26 +#: lib/mv_web/live/member_live/index.html.heex:21 #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "Im E-Mail-Programm öffnen" -#: lib/mv_web/live/member_live/index.ex:168 +#: lib/mv_web/live/member_live/index.ex:174 #, 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:110 +#: lib/mv_web/live/global_settings_live.ex:118 #, 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:119 +#: lib/mv_web/live/global_settings_live.ex:127 #, 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:125 +#: lib/mv_web/live/global_settings_live.ex:133 #, 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 daeb4d9..d687d03 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:248 +#: lib/mv_web/live/member_live/index.html.heex:243 #: 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:184 +#: lib/mv_web/live/member_live/index.html.heex:179 #: 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:250 +#: lib/mv_web/live/member_live/index.html.heex:245 #: 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:242 +#: lib/mv_web/live/member_live/index.html.heex:237 #: 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:112 +#: lib/mv_web/live/member_live/index.html.heex:107 #: 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:220 +#: lib/mv_web/live/member_live/index.html.heex:215 #: 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:29 +#: lib/mv_web/live/member_live/index.html.heex:24 #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:239 +#: lib/mv_web/live/member_live/index.html.heex:234 #: 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:148 +#: lib/mv_web/live/member_live/index.html.heex:143 #: 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:229 +#: lib/mv_web/live/member_live/index.html.heex:224 #: 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:202 +#: lib/mv_web/live/member_live/index.html.heex:197 #: 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:166 +#: lib/mv_web/live/member_live/index.html.heex:161 #: 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:60 +#: lib/mv_web/live/global_settings_live.ex:61 #: 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:130 +#: lib/mv_web/live/member_live/index.html.heex:125 #: 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:234 +#: lib/mv_web/live/member_live/index.html.heex:229 #: 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:234 +#: lib/mv_web/live/member_live/index.html.heex:229 #: 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:68 +#: lib/mv_web/live/member_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:82 +#: lib/mv_web/live/member_live/index.html.heex:77 #, 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:42 +#: lib/mv_web/live/global_settings_live.ex:43 #, 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:39 +#: lib/mv_web/live/member_live/index.html.heex:34 #, 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:94 +#: lib/mv_web/live/member_live/index.html.heex:89 #, 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:105 +#: lib/mv_web/live/global_settings_live.ex:108 #, 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:56 +#: lib/mv_web/live/global_settings_live.ex:57 #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:50 +#: lib/mv_web/live/global_settings_live.ex:51 #, elixir-autogen, elixir-format msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:44 +#: lib/mv_web/live/global_settings_live.ex:45 #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/global_settings_live.ex:61 +#: lib/mv_web/live/global_settings_live.ex:62 #, elixir-autogen, elixir-format msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:87 +#: lib/mv_web/live/global_settings_live.ex:88 #, 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:159 +#: lib/mv_web/live/member_live/index.ex:165 #, 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:148 +#: lib/mv_web/live/member_live/index.ex:154 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:145 +#: lib/mv_web/live/member_live/index.ex:151 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:23 +#: lib/mv_web/live/member_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:26 +#: lib/mv_web/live/member_live/index.html.heex:21 #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:168 +#: lib/mv_web/live/member_live/index.ex:174 #, 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:110 +#: lib/mv_web/live/global_settings_live.ex:118 #, 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:119 +#: lib/mv_web/live/global_settings_live.ex:127 #, 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:125 +#: lib/mv_web/live/global_settings_live.ex:133 #, 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 e10c455..09d7a51 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:248 +#: lib/mv_web/live/member_live/index.html.heex:243 #: 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:184 +#: lib/mv_web/live/member_live/index.html.heex:179 #: 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:250 +#: lib/mv_web/live/member_live/index.html.heex:245 #: 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:242 +#: lib/mv_web/live/member_live/index.html.heex:237 #: 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:112 +#: lib/mv_web/live/member_live/index.html.heex:107 #: 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:220 +#: lib/mv_web/live/member_live/index.html.heex:215 #: 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:29 +#: lib/mv_web/live/member_live/index.html.heex:24 #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:239 +#: lib/mv_web/live/member_live/index.html.heex:234 #: 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:148 +#: lib/mv_web/live/member_live/index.html.heex:143 #: 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:229 +#: lib/mv_web/live/member_live/index.html.heex:224 #: 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:202 +#: lib/mv_web/live/member_live/index.html.heex:197 #: 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:166 +#: lib/mv_web/live/member_live/index.html.heex:161 #: 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:60 +#: lib/mv_web/live/global_settings_live.ex:61 #: 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:130 +#: lib/mv_web/live/member_live/index.html.heex:125 #: 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:234 +#: lib/mv_web/live/member_live/index.html.heex:229 #: 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:234 +#: lib/mv_web/live/member_live/index.html.heex:229 #: 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:68 +#: lib/mv_web/live/member_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:82 +#: lib/mv_web/live/member_live/index.html.heex:77 #, 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:42 +#: lib/mv_web/live/global_settings_live.ex:43 #, 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:39 +#: lib/mv_web/live/member_live/index.html.heex:34 #, 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:94 +#: lib/mv_web/live/member_live/index.html.heex:89 #, 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:105 +#: lib/mv_web/live/global_settings_live.ex:108 #, 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:56 +#: lib/mv_web/live/global_settings_live.ex:57 #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:50 +#: lib/mv_web/live/global_settings_live.ex:51 #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:44 +#: lib/mv_web/live/global_settings_live.ex:45 #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/global_settings_live.ex:61 +#: lib/mv_web/live/global_settings_live.ex:62 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:87 +#: lib/mv_web/live/global_settings_live.ex:88 #, 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:159 +#: lib/mv_web/live/member_live/index.ex:165 #, 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:148 +#: lib/mv_web/live/member_live/index.ex:154 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:145 +#: lib/mv_web/live/member_live/index.ex:151 #, elixir-autogen, elixir-format, fuzzy msgid "No members selected" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:23 +#: lib/mv_web/live/member_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:26 +#: lib/mv_web/live/member_live/index.html.heex:21 #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:168 +#: lib/mv_web/live/member_live/index.ex:174 #, 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:110 +#: lib/mv_web/live/global_settings_live.ex:118 #, 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:119 +#: lib/mv_web/live/global_settings_live.ex:127 #, 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:125 +#: lib/mv_web/live/global_settings_live.ex:133 #, elixir-autogen, elixir-format msgid "Slug does not match. Deletion cancelled." msgstr "" @@ -908,6 +908,11 @@ 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."