Compare commits
7 commits
41d807c9d3
...
b72605e2f5
| Author | SHA1 | Date | |
|---|---|---|---|
| b72605e2f5 | |||
| dad8f2de4e | |||
| 49a2551e86 | |||
| 9145778998 | |||
| 09c75212b2 | |||
| 0cafdbafcd | |||
| 125f9ae77b |
6 changed files with 103 additions and 87 deletions
8
Justfile
8
Justfile
|
|
@ -84,4 +84,10 @@ regen-migrations migration_name commit_hash='':
|
|||
clean:
|
||||
mix clean
|
||||
rm -rf .elixir_ls
|
||||
rm -rf _build
|
||||
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 '/^<<<<<<</d; /^=======$/d; /^>>>>>>>/d; /^%%%%%%%/d; /^++++++/d; s/^+//' {} \;
|
||||
|
|
@ -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 <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>"
|
||||
# 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 || ""
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,12 @@
|
|||
</.button>
|
||||
<.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" />
|
||||
|
|
|
|||
|
|
@ -16,7 +16,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?"
|
||||
|
|
@ -29,21 +29,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/contribution_type_live/index.ex:78
|
||||
#: 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/contribution_type_live/index.ex:66
|
||||
#: 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
|
||||
|
|
@ -58,7 +58,7 @@ msgstr "Mitglied bearbeiten"
|
|||
|
||||
#: lib/mv_web/live/contribution_period_live/show.ex:58
|
||||
#: 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
|
||||
|
|
@ -74,7 +74,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"
|
||||
|
|
@ -86,12 +86,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"
|
||||
|
|
@ -119,7 +119,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"
|
||||
|
|
@ -137,21 +137,21 @@ msgstr "Notizen"
|
|||
#: lib/mv_web/live/contribution_period_live/show.ex:186
|
||||
#: lib/mv_web/live/contribution_period_live/show.ex:242
|
||||
#: 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"
|
||||
|
|
@ -172,7 +172,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"
|
||||
|
|
@ -183,7 +183,7 @@ msgstr "Straße"
|
|||
msgid "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/show.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
|
|
@ -200,7 +200,7 @@ msgstr "Mitglied anzeigen"
|
|||
msgid "This is a member record from your database."
|
||||
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/show.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
|
|
@ -369,12 +369,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"
|
||||
|
|
@ -560,7 +560,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..."
|
||||
|
|
@ -576,7 +576,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"
|
||||
|
|
@ -787,7 +787,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"
|
||||
|
|
@ -804,27 +804,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"
|
||||
|
|
@ -1294,4 +1294,4 @@ msgstr "Jährliches Intervall - Eintrittsperiode eingeschlossen"
|
|||
#~ #: lib/mv_web/live/member_live/show.ex:51
|
||||
#~ #, elixir-autogen, elixir-format
|
||||
#~ msgid "Birth Date"
|
||||
#~ msgstr "Geburtsdatum"
|
||||
#~ msgstr "Geburtsdatum"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,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?"
|
||||
|
|
@ -30,21 +30,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/contribution_type_live/index.ex:78
|
||||
#: 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/contribution_type_live/index.ex:66
|
||||
#: 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
|
||||
|
|
@ -59,7 +59,7 @@ msgstr ""
|
|||
|
||||
#: lib/mv_web/live/contribution_period_live/show.ex:58
|
||||
#: 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
|
||||
|
|
@ -75,7 +75,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"
|
||||
|
|
@ -87,12 +87,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"
|
||||
|
|
@ -120,7 +120,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"
|
||||
|
|
@ -138,21 +138,21 @@ msgstr ""
|
|||
#: lib/mv_web/live/contribution_period_live/show.ex:186
|
||||
#: lib/mv_web/live/contribution_period_live/show.ex:242
|
||||
#: 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"
|
||||
|
|
@ -173,7 +173,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"
|
||||
|
|
@ -184,7 +184,7 @@ msgstr ""
|
|||
msgid "Id"
|
||||
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/show.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
|
|
@ -201,7 +201,7 @@ msgstr ""
|
|||
msgid "This is a member record from your database."
|
||||
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/show.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
|
|
@ -370,12 +370,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 ""
|
||||
|
|
@ -561,7 +561,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 ""
|
||||
|
|
@ -577,7 +577,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 ""
|
||||
|
|
@ -788,7 +788,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"
|
||||
|
|
@ -805,27 +805,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 ""
|
||||
|
|
|
|||
|
|
@ -17,7 +17,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?"
|
||||
|
|
@ -30,21 +30,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/contribution_type_live/index.ex:78
|
||||
#: 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/contribution_type_live/index.ex:66
|
||||
#: 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
|
||||
|
|
@ -59,7 +59,7 @@ msgstr ""
|
|||
|
||||
#: lib/mv_web/live/contribution_period_live/show.ex:58
|
||||
#: 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
|
||||
|
|
@ -75,7 +75,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"
|
||||
|
|
@ -87,12 +87,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"
|
||||
|
|
@ -120,7 +120,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"
|
||||
|
|
@ -138,21 +138,21 @@ msgstr ""
|
|||
#: lib/mv_web/live/contribution_period_live/show.ex:186
|
||||
#: lib/mv_web/live/contribution_period_live/show.ex:242
|
||||
#: 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"
|
||||
|
|
@ -173,7 +173,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"
|
||||
|
|
@ -184,7 +184,7 @@ msgstr ""
|
|||
msgid "Id"
|
||||
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/show.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
|
|
@ -201,7 +201,7 @@ msgstr ""
|
|||
msgid "This is a member record from your database."
|
||||
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/show.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
|
|
@ -370,12 +370,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 ""
|
||||
|
|
@ -561,7 +561,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 ""
|
||||
|
|
@ -577,7 +577,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 ""
|
||||
|
|
@ -788,7 +788,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"
|
||||
|
|
@ -805,27 +805,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 ""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue