feat: add bulk email copy for selected members (#230)
All checks were successful
continuous-integration/drone/push Build is passing

Copy selected members' emails to clipboard in 'First Last <email>' format
This commit is contained in:
Moritz 2025-12-02 10:02:58 +01:00
parent e803dbdf8b
commit e2ace3d2a8
11 changed files with 661 additions and 61 deletions

View file

@ -16,7 +16,7 @@ msgstr ""
msgid "Actions"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:202
#: lib/mv_web/live/member_live/index.html.heex:212
#: lib/mv_web/live/user_live/index.html.heex:72
#, elixir-autogen, elixir-format
msgid "Are you sure?"
@ -29,19 +29,19 @@ msgid "Attempting to reconnect"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:54
#: lib/mv_web/live/member_live/index.html.heex:148
#: lib/mv_web/live/member_live/index.html.heex:158
#: lib/mv_web/live/member_live/show.ex:59
#, elixir-autogen, elixir-format
msgid "City"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:204
#: lib/mv_web/live/member_live/index.html.heex:214
#: lib/mv_web/live/user_live/index.html.heex:74
#, elixir-autogen, elixir-format
msgid "Delete"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:196
#: lib/mv_web/live/member_live/index.html.heex:206
#: lib/mv_web/live/user_live/form.ex:265
#: lib/mv_web/live/user_live/index.html.heex:66
#, elixir-autogen, elixir-format
@ -55,7 +55,7 @@ msgid "Edit Member"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:47
#: lib/mv_web/live/member_live/index.html.heex:80
#: lib/mv_web/live/member_live/index.html.heex:90
#: 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
@ -71,7 +71,7 @@ msgid "First Name"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:51
#: lib/mv_web/live/member_live/index.html.heex:182
#: lib/mv_web/live/member_live/index.html.heex:192
#: lib/mv_web/live/member_live/show.ex:56
#, elixir-autogen, elixir-format
msgid "Join Date"
@ -83,12 +83,12 @@ msgstr ""
msgid "Last Name"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:6
#: lib/mv_web/live/member_live/index.html.heex:16
#, elixir-autogen, elixir-format
msgid "New Member"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:193
#: lib/mv_web/live/member_live/index.html.heex:203
#: lib/mv_web/live/user_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Show"
@ -122,7 +122,7 @@ msgid "Exit Date"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:56
#: lib/mv_web/live/member_live/index.html.heex:114
#: lib/mv_web/live/member_live/index.html.heex:124
#: lib/mv_web/live/member_live/show.ex:61
#, elixir-autogen, elixir-format
msgid "House Number"
@ -141,14 +141,14 @@ msgid "Paid"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:50
#: lib/mv_web/live/member_live/index.html.heex:165
#: lib/mv_web/live/member_live/index.html.heex:175
#: lib/mv_web/live/member_live/show.ex:55
#, elixir-autogen, elixir-format
msgid "Phone Number"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:57
#: lib/mv_web/live/member_live/index.html.heex:131
#: lib/mv_web/live/member_live/index.html.heex:141
#: lib/mv_web/live/member_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Postal Code"
@ -169,7 +169,7 @@ msgid "Saving..."
msgstr ""
#: lib/mv_web/live/member_live/form.ex:55
#: lib/mv_web/live/member_live/index.html.heex:97
#: lib/mv_web/live/member_live/index.html.heex:107
#: lib/mv_web/live/member_live/show.ex:60
#, elixir-autogen, elixir-format
msgid "Street"
@ -312,7 +312,7 @@ msgid "Member"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:25
#: lib/mv_web/live/member_live/index.ex:57
#: lib/mv_web/live/member_live/index.ex:58
#: lib/mv_web/live/member_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Members"
@ -366,12 +366,12 @@ msgstr ""
msgid "Required"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:37
#: lib/mv_web/live/member_live/index.html.heex:47
#, elixir-autogen, elixir-format
msgid "Select all members"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:51
#: lib/mv_web/live/member_live/index.html.heex:61
#, elixir-autogen, elixir-format
msgid "Select member"
msgstr ""
@ -557,7 +557,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:15
#: lib/mv_web/live/member_live/index.html.heex:25
#, elixir-autogen, elixir-format
msgid "Search..."
msgstr ""
@ -573,7 +573,7 @@ msgstr ""
msgid "Click to sort"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:63
#: lib/mv_web/live/member_live/index.html.heex:73
#, elixir-autogen, elixir-format, fuzzy
msgid "First name"
msgstr ""
@ -783,7 +783,29 @@ msgstr ""
msgid "Unlinking scheduled"
msgstr ""
#~ #: lib/mv_web/live/custom_field_live/index.ex:97
#~ #, elixir-autogen, elixir-format
#~ msgid "To confirm deletion, please enter the custom field slug:"
#~ msgstr ""
#: lib/mv_web/live/member_live/index.ex:150
#, elixir-autogen, elixir-format
msgid "Copied %{count} email address to clipboard"
msgid_plural "Copied %{count} email addresses to clipboard"
msgstr[0] ""
msgstr[1] ""
#: lib/mv_web/live/member_live/index.html.heex:10
#, elixir-autogen, elixir-format
msgid "Copy email addresses of selected members"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Copy emails"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:141
#, elixir-autogen, elixir-format
msgid "No email addresses found"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy
msgid "No members selected"
msgstr ""