fix: mailto formatting
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Moritz 2025-12-03 09:55:35 +01:00 committed by Simon
parent d8384098b4
commit ce15b8f59b
Signed by: simon
GPG key ID: 40E7A58C4AA1EDB2
5 changed files with 95 additions and 85 deletions

View file

@ -137,13 +137,7 @@ defmodule MvWeb.MemberLive.Index do
selected_ids = socket.assigns.selected_members selected_ids = socket.assigns.selected_members
# Filter members that are in the selection and have email addresses # Filter members that are in the selection and have email addresses
formatted_emails = formatted_emails = format_selected_member_emails(socket.assigns.members, selected_ids)
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) email_count = length(formatted_emails)
cond do cond do
@ -887,9 +881,20 @@ defmodule MvWeb.MemberLive.Index do
end end
end end
# Filters selected members with email addresses and formats them.
# Returns a list of formatted email strings in the format "First Last <email>".
# 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 <email>" # Formats a member's email in the format "First Last <email>"
# Used for copy_emails feature to create email-client-friendly format. # Used for copy_emails feature and mailto links to create email-client-friendly format.
defp format_member_email(member) do def format_member_email(member) do
first_name = member.first_name || "" first_name = member.first_name || ""
last_name = member.last_name || "" last_name = member.last_name || ""

View file

@ -14,7 +14,12 @@
</.button> </.button>
<.button <.button
:if={Enum.any?(@members, &MapSet.member?(@selected_members, &1.id))} :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")} aria-label={gettext("Open email program with BCC recipients")}
> >
<.icon name="hero-envelope" /> <.icon name="hero-envelope" />

View file

@ -15,7 +15,7 @@ msgstr ""
msgid "Actions" msgid "Actions"
msgstr "Aktionen" 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 #: lib/mv_web/live/user_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure?" msgid "Are you sure?"
@ -28,19 +28,19 @@ msgid "Attempting to reconnect"
msgstr "Verbindung wird wiederhergestellt" msgstr "Verbindung wird wiederhergestellt"
#: lib/mv_web/live/member_live/form.ex:53 #: 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 #: lib/mv_web/live/member_live/show.ex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "City" msgid "City"
msgstr "Stadt" msgstr "Stadt"
#: 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 #: lib/mv_web/live/user_live/index.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: 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/form.ex:265
#: lib/mv_web/live/user_live/index.html.heex:66 #: lib/mv_web/live/user_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -54,7 +54,7 @@ msgid "Edit Member"
msgstr "Mitglied bearbeiten" msgstr "Mitglied bearbeiten"
#: lib/mv_web/live/member_live/form.ex:47 #: 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/member_live/show.ex:50
#: lib/mv_web/live/user_live/form.ex:46 #: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/index.html.heex:44 #: lib/mv_web/live/user_live/index.html.heex:44
@ -70,7 +70,7 @@ msgid "First Name"
msgstr "Vorname" msgstr "Vorname"
#: lib/mv_web/live/member_live/form.ex:50 #: 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 #: lib/mv_web/live/member_live/show.ex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Join Date" msgid "Join Date"
@ -82,12 +82,12 @@ msgstr "Beitrittsdatum"
msgid "Last Name" msgid "Last Name"
msgstr "Nachname" 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 #, elixir-autogen, elixir-format
msgid "New Member" msgid "New Member"
msgstr "Neues Mitglied" 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 #: lib/mv_web/live/user_live/index.html.heex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show" msgid "Show"
@ -115,7 +115,7 @@ msgid "Exit Date"
msgstr "Austrittsdatum" msgstr "Austrittsdatum"
#: lib/mv_web/live/member_live/form.ex:55 #: 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 #: lib/mv_web/live/member_live/show.ex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "House Number" msgid "House Number"
@ -130,21 +130,21 @@ msgstr "Notizen"
#: lib/mv_web/live/components/payment_filter_component.ex:94 #: lib/mv_web/live/components/payment_filter_component.ex:94
#: lib/mv_web/live/components/payment_filter_component.ex:144 #: 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/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 #: lib/mv_web/live/member_live/show.ex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paid" msgid "Paid"
msgstr "Bezahlt" msgstr "Bezahlt"
#: lib/mv_web/live/member_live/form.ex:49 #: 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 #: lib/mv_web/live/member_live/show.ex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Phone Number" msgid "Phone Number"
msgstr "Telefonnummer" msgstr "Telefonnummer"
#: lib/mv_web/live/member_live/form.ex:56 #: 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 #: lib/mv_web/live/member_live/show.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Postal Code" msgid "Postal Code"
@ -165,7 +165,7 @@ msgid "Saving..."
msgstr "Speichern..." msgstr "Speichern..."
#: lib/mv_web/live/member_live/form.ex:54 #: 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 #: lib/mv_web/live/member_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Street" msgid "Street"
@ -176,7 +176,7 @@ msgstr "Straße"
msgid "Id" msgid "Id"
msgstr "ID" msgstr "ID"
#: 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/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -193,7 +193,7 @@ msgstr "Mitglied anzeigen"
msgid "This is a member record from your database." msgid "This is a member record from your database."
msgstr "Dies ist ein Mitglied aus deiner Datenbank." msgstr "Dies ist ein Mitglied aus deiner Datenbank."
#: 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/index/formatter.ex:60
#: lib/mv_web/live/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -359,12 +359,12 @@ msgstr "Profil"
msgid "Required" msgid "Required"
msgstr "Erforderlich" 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 #, elixir-autogen, elixir-format
msgid "Select all members" msgid "Select all members"
msgstr "Alle Mitglieder auswählen" 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 #, elixir-autogen, elixir-format
msgid "Select member" msgid "Select member"
msgstr "Mitglied auswählen" msgstr "Mitglied auswählen"
@ -550,7 +550,7 @@ msgid "Toggle dark mode"
msgstr "Dunklen Modus umschalten" msgstr "Dunklen Modus umschalten"
#: lib/mv_web/live/components/search_bar_component.ex:15 #: 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 #, elixir-autogen, elixir-format
msgid "Search..." msgid "Search..."
msgstr "Suchen..." msgstr "Suchen..."
@ -566,7 +566,7 @@ msgstr "Benutzer*innen"
msgid "Click to sort" msgid "Click to sort"
msgstr "Klicke um zu sortieren" 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 #, elixir-autogen, elixir-format
msgid "First name" msgid "First name"
msgstr "Vorname" msgstr "Vorname"
@ -776,7 +776,7 @@ msgstr "Mitglied entverknüpfen"
msgid "Unlinking scheduled" msgid "Unlinking scheduled"
msgstr "Entverknüpfung geplant" 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 #, elixir-autogen, elixir-format
msgid "Copied %{count} email address to clipboard" msgid "Copied %{count} email address to clipboard"
msgid_plural "Copied %{count} email addresses to clipboard" msgid_plural "Copied %{count} email addresses to clipboard"
@ -793,27 +793,27 @@ msgstr "E-Mail-Adressen der ausgewählten Mitglieder kopieren"
msgid "Copy emails" msgid "Copy emails"
msgstr "E-Mails kopieren" 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 #, elixir-autogen, elixir-format
msgid "No email addresses found" msgid "No email addresses found"
msgstr "Keine E-Mail-Adressen gefunden" 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 #, elixir-autogen, elixir-format
msgid "No members selected" msgid "No members selected"
msgstr "Keine Mitglieder ausgewählt" 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 #, elixir-autogen, elixir-format
msgid "Open email program with BCC recipients" msgid "Open email program with BCC recipients"
msgstr "E-Mail-Programm mit BCC-Empfänger*innen öffnen" 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 #, elixir-autogen, elixir-format
msgid "Open in email program" msgid "Open in email program"
msgstr "Im E-Mail-Programm öffnen" 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 #, elixir-autogen, elixir-format
msgid "Tip: Paste email addresses into the BCC field for privacy compliance" 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" msgstr "Tipp: E-Mail-Adressen ins BCC-Feld einfügen für Datenschutzkonformität"

View file

@ -16,7 +16,7 @@ msgstr ""
msgid "Actions" msgid "Actions"
msgstr "" 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 #: lib/mv_web/live/user_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure?" msgid "Are you sure?"
@ -29,19 +29,19 @@ msgid "Attempting to reconnect"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:53 #: 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 #: lib/mv_web/live/member_live/show.ex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "City" msgid "City"
msgstr "" msgstr ""
#: 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 #: lib/mv_web/live/user_live/index.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: 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/form.ex:265
#: lib/mv_web/live/user_live/index.html.heex:66 #: lib/mv_web/live/user_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -55,7 +55,7 @@ msgid "Edit Member"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:47 #: 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/member_live/show.ex:50
#: lib/mv_web/live/user_live/form.ex:46 #: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/index.html.heex:44 #: lib/mv_web/live/user_live/index.html.heex:44
@ -71,7 +71,7 @@ msgid "First Name"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:50 #: 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 #: lib/mv_web/live/member_live/show.ex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Join Date" msgid "Join Date"
@ -83,12 +83,12 @@ msgstr ""
msgid "Last Name" msgid "Last Name"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "New Member" msgid "New Member"
msgstr "" 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 #: lib/mv_web/live/user_live/index.html.heex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show" msgid "Show"
@ -116,7 +116,7 @@ msgid "Exit Date"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:55 #: 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 #: lib/mv_web/live/member_live/show.ex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "House Number" msgid "House Number"
@ -131,21 +131,21 @@ msgstr ""
#: lib/mv_web/live/components/payment_filter_component.ex:94 #: lib/mv_web/live/components/payment_filter_component.ex:94
#: lib/mv_web/live/components/payment_filter_component.ex:144 #: 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/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 #: lib/mv_web/live/member_live/show.ex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paid" msgid "Paid"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:49 #: 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 #: lib/mv_web/live/member_live/show.ex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Phone Number" msgid "Phone Number"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:56 #: 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 #: lib/mv_web/live/member_live/show.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Postal Code" msgid "Postal Code"
@ -166,7 +166,7 @@ msgid "Saving..."
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:54 #: 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 #: lib/mv_web/live/member_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Street" msgid "Street"
@ -177,7 +177,7 @@ msgstr ""
msgid "Id" msgid "Id"
msgstr "" msgstr ""
#: 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/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -194,7 +194,7 @@ msgstr ""
msgid "This is a member record from your database." msgid "This is a member record from your database."
msgstr "" msgstr ""
#: 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/index/formatter.ex:60
#: lib/mv_web/live/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -360,12 +360,12 @@ msgstr ""
msgid "Required" msgid "Required"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Select all members" msgid "Select all members"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Select member" msgid "Select member"
msgstr "" msgstr ""
@ -551,7 +551,7 @@ msgid "Toggle dark mode"
msgstr "" msgstr ""
#: lib/mv_web/live/components/search_bar_component.ex:15 #: 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 #, elixir-autogen, elixir-format
msgid "Search..." msgid "Search..."
msgstr "" msgstr ""
@ -567,7 +567,7 @@ msgstr ""
msgid "Click to sort" msgid "Click to sort"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "First name" msgid "First name"
msgstr "" msgstr ""
@ -777,7 +777,7 @@ msgstr ""
msgid "Unlinking scheduled" msgid "Unlinking scheduled"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:165 #: lib/mv_web/live/member_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied %{count} email address to clipboard" msgid "Copied %{count} email address to clipboard"
msgid_plural "Copied %{count} email addresses to clipboard" msgid_plural "Copied %{count} email addresses to clipboard"
@ -794,27 +794,27 @@ msgstr ""
msgid "Copy emails" msgid "Copy emails"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:154 #: lib/mv_web/live/member_live/index.ex:148
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No email addresses found" msgid "No email addresses found"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:151 #: lib/mv_web/live/member_live/index.ex:145
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No members selected" msgid "No members selected"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Open email program with BCC recipients" msgid "Open email program with BCC recipients"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Open in email program" msgid "Open in email program"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:174 #: lib/mv_web/live/member_live/index.ex:168
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgid "Tip: Paste email addresses into the BCC field for privacy compliance"
msgstr "" msgstr ""

View file

@ -16,7 +16,7 @@ msgstr ""
msgid "Actions" msgid "Actions"
msgstr "" 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 #: lib/mv_web/live/user_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure?" msgid "Are you sure?"
@ -29,19 +29,19 @@ msgid "Attempting to reconnect"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:53 #: 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 #: lib/mv_web/live/member_live/show.ex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "City" msgid "City"
msgstr "" msgstr ""
#: 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 #: lib/mv_web/live/user_live/index.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: 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/form.ex:265
#: lib/mv_web/live/user_live/index.html.heex:66 #: lib/mv_web/live/user_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -55,7 +55,7 @@ msgid "Edit Member"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:47 #: 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/member_live/show.ex:50
#: lib/mv_web/live/user_live/form.ex:46 #: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/index.html.heex:44 #: lib/mv_web/live/user_live/index.html.heex:44
@ -71,7 +71,7 @@ msgid "First Name"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:50 #: 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 #: lib/mv_web/live/member_live/show.ex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Join Date" msgid "Join Date"
@ -83,12 +83,12 @@ msgstr ""
msgid "Last Name" msgid "Last Name"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "New Member" msgid "New Member"
msgstr "" 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 #: lib/mv_web/live/user_live/index.html.heex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show" msgid "Show"
@ -116,7 +116,7 @@ msgid "Exit Date"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:55 #: 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 #: lib/mv_web/live/member_live/show.ex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "House Number" msgid "House Number"
@ -131,21 +131,21 @@ msgstr ""
#: lib/mv_web/live/components/payment_filter_component.ex:94 #: lib/mv_web/live/components/payment_filter_component.ex:94
#: lib/mv_web/live/components/payment_filter_component.ex:144 #: 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/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 #: lib/mv_web/live/member_live/show.ex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paid" msgid "Paid"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:49 #: 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 #: lib/mv_web/live/member_live/show.ex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Phone Number" msgid "Phone Number"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:56 #: 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 #: lib/mv_web/live/member_live/show.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Postal Code" msgid "Postal Code"
@ -166,7 +166,7 @@ msgid "Saving..."
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:54 #: 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 #: lib/mv_web/live/member_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Street" msgid "Street"
@ -177,7 +177,7 @@ msgstr ""
msgid "Id" msgid "Id"
msgstr "" msgstr ""
#: 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/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -194,7 +194,7 @@ msgstr ""
msgid "This is a member record from your database." msgid "This is a member record from your database."
msgstr "" msgstr ""
#: 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/index/formatter.ex:60
#: lib/mv_web/live/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -360,12 +360,12 @@ msgstr ""
msgid "Required" msgid "Required"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Select all members" msgid "Select all members"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Select member" msgid "Select member"
msgstr "" msgstr ""
@ -551,7 +551,7 @@ msgid "Toggle dark mode"
msgstr "" msgstr ""
#: lib/mv_web/live/components/search_bar_component.ex:15 #: 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 #, elixir-autogen, elixir-format
msgid "Search..." msgid "Search..."
msgstr "" msgstr ""
@ -567,7 +567,7 @@ msgstr ""
msgid "Click to sort" msgid "Click to sort"
msgstr "" 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 #, elixir-autogen, elixir-format, fuzzy
msgid "First name" msgid "First name"
msgstr "" msgstr ""
@ -777,7 +777,7 @@ msgstr ""
msgid "Unlinking scheduled" msgid "Unlinking scheduled"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:165 #: lib/mv_web/live/member_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied %{count} email address to clipboard" msgid "Copied %{count} email address to clipboard"
msgid_plural "Copied %{count} email addresses to clipboard" msgid_plural "Copied %{count} email addresses to clipboard"
@ -794,27 +794,27 @@ msgstr ""
msgid "Copy emails" msgid "Copy emails"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:154 #: lib/mv_web/live/member_live/index.ex:148
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No email addresses found" msgid "No email addresses found"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:151 #: lib/mv_web/live/member_live/index.ex:145
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No members selected" msgid "No members selected"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Open email program with BCC recipients" msgid "Open email program with BCC recipients"
msgstr "" 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 #, elixir-autogen, elixir-format
msgid "Open in email program" msgid "Open in email program"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/index.ex:174 #: lib/mv_web/live/member_live/index.ex:168
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgid "Tip: Paste email addresses into the BCC field for privacy compliance"
msgstr "" msgstr ""