diff --git a/lib/mv_web/components/core_components.ex b/lib/mv_web/components/core_components.ex index b8fe0fc..ae50ecb 100644 --- a/lib/mv_web/components/core_components.ex +++ b/lib/mv_web/components/core_components.ex @@ -42,7 +42,11 @@ defmodule MvWeb.CoreComponents do attr :id, :string, doc: "the optional id of flash container" attr :flash, :map, default: %{}, doc: "the map of flash messages to display" attr :title, :string, default: nil - attr :kind, :atom, values: [:info, :error], doc: "used for styling and flash lookup" + + attr :kind, :atom, + values: [:info, :error, :success, :warning], + doc: "used for styling and flash lookup" + attr :rest, :global, doc: "the arbitrary HTML attributes to add to the flash container" slot :inner_block, doc: "the optional inner block that renders the flash message" @@ -56,25 +60,27 @@ defmodule MvWeb.CoreComponents do id={@id} phx-click={JS.push("lv:clear-flash", value: %{key: @kind}) |> hide("##{@id}")} role="alert" - class="toast toast-top toast-end z-50" - {@rest} - > -
- <.icon :if={@kind == :info} name="hero-information-circle" class="size-5 shrink-0" /> - <.icon :if={@kind == :error} name="hero-exclamation-circle" class="size-5 shrink-0" /> -
-

{@title}

-

{msg}

-
-
- + @kind == :error && "alert-error", + @kind == :success && "bg-green-500 text-white", + @kind == :warning && "bg-blue-100 text-blue-800 border border-blue-300" + ]} + {@rest} + > + <.icon :if={@kind == :info} name="hero-information-circle" class="size-5 shrink-0" /> + <.icon :if={@kind == :error} name="hero-exclamation-circle" class="size-5 shrink-0" /> + <.icon :if={@kind == :success} name="hero-check-circle" class="size-5 shrink-0" /> + <.icon :if={@kind == :warning} name="hero-information-circle" class="size-5 shrink-0" /> +
+

{@title}

+

{msg}

+
+
""" end diff --git a/lib/mv_web/components/layouts.ex b/lib/mv_web/components/layouts.ex index b7f7568..487a01f 100644 --- a/lib/mv_web/components/layouts.ex +++ b/lib/mv_web/components/layouts.ex @@ -65,7 +65,9 @@ defmodule MvWeb.Layouts do def flash_group(assigns) do ~H""" -
+
+ <.flash kind={:success} flash={@flash} /> + <.flash kind={:warning} flash={@flash} /> <.flash kind={:info} flash={@flash} /> <.flash kind={:error} flash={@flash} /> diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 3087d7e..ad867ab 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -146,7 +146,7 @@ defmodule MvWeb.MemberLive.Index do socket |> push_event("copy_to_clipboard", %{text: email_string}) |> put_flash( - :info, + :success, ngettext( "Copied %{count} email address to clipboard", "Copied %{count} email addresses to clipboard", @@ -154,6 +154,10 @@ defmodule MvWeb.MemberLive.Index do count: email_count ) ) + |> put_flash( + :warning, + gettext("Tip: Paste email addresses into the BCC field for privacy compliance") + ) {:noreply, socket} end diff --git a/lib/mv_web/live/member_live/index.html.heex b/lib/mv_web/live/member_live/index.html.heex index 1ab9b3d..0dabbaf 100644 --- a/lib/mv_web/live/member_live/index.html.heex +++ b/lib/mv_web/live/member_live/index.html.heex @@ -12,6 +12,14 @@ <.icon name="hero-clipboard-document" /> {gettext("Copy emails")} ({Enum.count(@members, &(&1.id in @selected_members))}) + <.button + :if={Enum.any?(@members, &(&1.id in @selected_members))} + href={"mailto:?bcc=#{@members |> Enum.filter(&(&1.id in @selected_members and &1.email)) |> Enum.map(& &1.email) |> Enum.join(",")}"} + aria-label={gettext("Open email program with BCC recipients")} + > + <.icon name="hero-envelope" /> + {gettext("Open in email program")} + <.button variant="primary" navigate={~p"/members/new"}> <.icon name="hero-plus" /> {gettext("New Member")} diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index d75ec52..770cc09 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -10,37 +10,37 @@ msgid "" msgstr "" "Language: en\n" -#: lib/mv_web/components/core_components.ex:356 +#: lib/mv_web/components/core_components.ex:360 #, elixir-autogen, elixir-format msgid "Actions" msgstr "Aktionen" -#: lib/mv_web/live/member_live/index.html.heex:212 +#: lib/mv_web/live/member_live/index.html.heex:220 #: lib/mv_web/live/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "Bist du sicher?" -#: lib/mv_web/components/layouts.ex:80 -#: lib/mv_web/components/layouts.ex:92 +#: lib/mv_web/components/layouts.ex:82 +#: lib/mv_web/components/layouts.ex:94 #, elixir-autogen, elixir-format msgid "Attempting to reconnect" msgstr "Verbindung wird wiederhergestellt" #: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:158 +#: lib/mv_web/live/member_live/index.html.heex:166 #: lib/mv_web/live/member_live/show.ex:59 #, elixir-autogen, elixir-format msgid "City" msgstr "Stadt" -#: lib/mv_web/live/member_live/index.html.heex:214 +#: lib/mv_web/live/member_live/index.html.heex:222 #: lib/mv_web/live/user_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Delete" msgstr "Löschen" -#: lib/mv_web/live/member_live/index.html.heex:206 +#: lib/mv_web/live/member_live/index.html.heex:214 #: lib/mv_web/live/user_live/form.ex:265 #: lib/mv_web/live/user_live/index.html.heex:66 #, elixir-autogen, elixir-format @@ -54,7 +54,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:90 +#: lib/mv_web/live/member_live/index.html.heex:98 #: 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 @@ -70,7 +70,7 @@ msgid "First Name" msgstr "Vorname" #: lib/mv_web/live/member_live/form.ex:51 -#: lib/mv_web/live/member_live/index.html.heex:192 +#: lib/mv_web/live/member_live/index.html.heex:200 #: lib/mv_web/live/member_live/show.ex:56 #, elixir-autogen, elixir-format msgid "Join Date" @@ -82,28 +82,28 @@ msgstr "Beitrittsdatum" msgid "Last Name" msgstr "Nachname" -#: lib/mv_web/live/member_live/index.html.heex:16 +#: 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:203 +#: lib/mv_web/live/member_live/index.html.heex:211 #: lib/mv_web/live/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" msgstr "Anzeigen" -#: lib/mv_web/components/layouts.ex:87 +#: lib/mv_web/components/layouts.ex:89 #, elixir-autogen, elixir-format msgid "Something went wrong!" msgstr "Etwas ist schiefgelaufen!" -#: lib/mv_web/components/layouts.ex:75 +#: lib/mv_web/components/layouts.ex:77 #, elixir-autogen, elixir-format msgid "We can't find the internet" msgstr "Keine Internetverbindung gefunden" -#: lib/mv_web/components/core_components.ex:74 +#: lib/mv_web/components/core_components.ex:78 #, elixir-autogen, elixir-format msgid "close" msgstr "schließen" @@ -121,7 +121,7 @@ msgid "Exit Date" msgstr "Austrittsdatum" #: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:124 +#: lib/mv_web/live/member_live/index.html.heex:132 #: lib/mv_web/live/member_live/show.ex:61 #, elixir-autogen, elixir-format msgid "House Number" @@ -140,14 +140,14 @@ msgid "Paid" msgstr "Bezahlt" #: lib/mv_web/live/member_live/form.ex:50 -#: lib/mv_web/live/member_live/index.html.heex:175 +#: lib/mv_web/live/member_live/index.html.heex:183 #: lib/mv_web/live/member_live/show.ex:55 #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "Telefonnummer" #: lib/mv_web/live/member_live/form.ex:57 -#: lib/mv_web/live/member_live/index.html.heex:141 +#: lib/mv_web/live/member_live/index.html.heex:149 #: lib/mv_web/live/member_live/show.ex:62 #, elixir-autogen, elixir-format msgid "Postal Code" @@ -168,7 +168,7 @@ msgid "Saving..." msgstr "Speichern..." #: lib/mv_web/live/member_live/form.ex:55 -#: lib/mv_web/live/member_live/index.html.heex:107 +#: lib/mv_web/live/member_live/index.html.heex:115 #: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format msgid "Street" @@ -365,12 +365,12 @@ msgstr "Profil" msgid "Required" msgstr "Erforderlich" -#: lib/mv_web/live/member_live/index.html.heex:47 +#: lib/mv_web/live/member_live/index.html.heex:55 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "Alle Mitglieder auswählen" -#: lib/mv_web/live/member_live/index.html.heex:61 +#: lib/mv_web/live/member_live/index.html.heex:69 #, elixir-autogen, elixir-format msgid "Select member" msgstr "Mitglied auswählen" @@ -556,7 +556,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:25 +#: lib/mv_web/live/member_live/index.html.heex:33 #, elixir-autogen, elixir-format msgid "Search..." msgstr "Suchen..." @@ -572,7 +572,7 @@ msgstr "Benutzer*innen" msgid "Click to sort" msgstr "Klicke um zu sortieren" -#: lib/mv_web/live/member_live/index.html.heex:73 +#: lib/mv_web/live/member_live/index.html.heex:81 #, elixir-autogen, elixir-format msgid "First name" msgstr "Vorname" @@ -782,7 +782,7 @@ msgstr "Mitglied entverknüpfen" msgid "Unlinking scheduled" msgstr "Entverknüpfung geplant" -#: lib/mv_web/live/member_live/index.ex:150 +#: 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" @@ -799,12 +799,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:141 +#: lib/mv_web/live/member_live/index.ex:142 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "Keine E-Mail-Adressen gefunden" -#: lib/mv_web/live/member_live/index.ex:125 +#: lib/mv_web/live/member_live/index.ex:126 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "Keine Mitglieder ausgewählt" + +#: 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: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 +#, 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" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index ca8bd14..682b780 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -11,37 +11,37 @@ msgid "" msgstr "" -#: lib/mv_web/components/core_components.ex:356 +#: lib/mv_web/components/core_components.ex:360 #, elixir-autogen, elixir-format msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:212 +#: lib/mv_web/live/member_live/index.html.heex:220 #: lib/mv_web/live/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" -#: lib/mv_web/components/layouts.ex:80 -#: lib/mv_web/components/layouts.ex:92 +#: lib/mv_web/components/layouts.ex:82 +#: lib/mv_web/components/layouts.ex:94 #, elixir-autogen, elixir-format msgid "Attempting to reconnect" msgstr "" #: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:158 +#: lib/mv_web/live/member_live/index.html.heex:166 #: 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:214 +#: lib/mv_web/live/member_live/index.html.heex:222 #: 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:206 +#: lib/mv_web/live/member_live/index.html.heex:214 #: 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:90 +#: lib/mv_web/live/member_live/index.html.heex:98 #: 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:192 +#: lib/mv_web/live/member_live/index.html.heex:200 #: lib/mv_web/live/member_live/show.ex:56 #, elixir-autogen, elixir-format msgid "Join Date" @@ -83,28 +83,28 @@ msgstr "" msgid "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:16 +#: 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:203 +#: lib/mv_web/live/member_live/index.html.heex:211 #: lib/mv_web/live/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" msgstr "" -#: lib/mv_web/components/layouts.ex:87 +#: lib/mv_web/components/layouts.ex:89 #, elixir-autogen, elixir-format msgid "Something went wrong!" msgstr "" -#: lib/mv_web/components/layouts.ex:75 +#: lib/mv_web/components/layouts.ex:77 #, elixir-autogen, elixir-format msgid "We can't find the internet" msgstr "" -#: lib/mv_web/components/core_components.ex:74 +#: lib/mv_web/components/core_components.ex:78 #, elixir-autogen, elixir-format msgid "close" msgstr "" @@ -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:124 +#: lib/mv_web/live/member_live/index.html.heex:132 #: 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:175 +#: lib/mv_web/live/member_live/index.html.heex:183 #: 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:141 +#: lib/mv_web/live/member_live/index.html.heex:149 #: 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:107 +#: lib/mv_web/live/member_live/index.html.heex:115 #: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format msgid "Street" @@ -366,12 +366,12 @@ msgstr "" msgid "Required" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:47 +#: lib/mv_web/live/member_live/index.html.heex:55 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:61 +#: lib/mv_web/live/member_live/index.html.heex:69 #, 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:25 +#: lib/mv_web/live/member_live/index.html.heex:33 #, 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:73 +#: lib/mv_web/live/member_live/index.html.heex:81 #, elixir-autogen, elixir-format msgid "First name" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:150 +#: 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" @@ -800,12 +800,27 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:141 +#: lib/mv_web/live/member_live/index.ex:142 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:125 +#: lib/mv_web/live/member_live/index.ex:126 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "" + +#: 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:21 +#, elixir-autogen, elixir-format +msgid "Open in email program" +msgstr "" + +#: 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 "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index e9158d9..a3fdfa4 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -11,37 +11,37 @@ msgstr "" "Language: en\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/mv_web/components/core_components.ex:356 +#: lib/mv_web/components/core_components.ex:360 #, elixir-autogen, elixir-format msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:212 +#: lib/mv_web/live/member_live/index.html.heex:220 #: lib/mv_web/live/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" -#: lib/mv_web/components/layouts.ex:80 -#: lib/mv_web/components/layouts.ex:92 +#: lib/mv_web/components/layouts.ex:82 +#: lib/mv_web/components/layouts.ex:94 #, elixir-autogen, elixir-format msgid "Attempting to reconnect" msgstr "" #: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:158 +#: lib/mv_web/live/member_live/index.html.heex:166 #: 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:214 +#: lib/mv_web/live/member_live/index.html.heex:222 #: 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:206 +#: lib/mv_web/live/member_live/index.html.heex:214 #: 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:90 +#: lib/mv_web/live/member_live/index.html.heex:98 #: 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:192 +#: lib/mv_web/live/member_live/index.html.heex:200 #: lib/mv_web/live/member_live/show.ex:56 #, elixir-autogen, elixir-format msgid "Join Date" @@ -83,28 +83,28 @@ msgstr "" msgid "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:16 +#: 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:203 +#: lib/mv_web/live/member_live/index.html.heex:211 #: lib/mv_web/live/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" msgstr "" -#: lib/mv_web/components/layouts.ex:87 +#: lib/mv_web/components/layouts.ex:89 #, elixir-autogen, elixir-format msgid "Something went wrong!" msgstr "" -#: lib/mv_web/components/layouts.ex:75 +#: lib/mv_web/components/layouts.ex:77 #, elixir-autogen, elixir-format msgid "We can't find the internet" msgstr "" -#: lib/mv_web/components/core_components.ex:74 +#: lib/mv_web/components/core_components.ex:78 #, elixir-autogen, elixir-format msgid "close" msgstr "" @@ -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:124 +#: lib/mv_web/live/member_live/index.html.heex:132 #: 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:175 +#: lib/mv_web/live/member_live/index.html.heex:183 #: 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:141 +#: lib/mv_web/live/member_live/index.html.heex:149 #: 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:107 +#: lib/mv_web/live/member_live/index.html.heex:115 #: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format msgid "Street" @@ -366,12 +366,12 @@ msgstr "" msgid "Required" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:47 +#: lib/mv_web/live/member_live/index.html.heex:55 #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:61 +#: lib/mv_web/live/member_live/index.html.heex:69 #, 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:25 +#: lib/mv_web/live/member_live/index.html.heex:33 #, 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:73 +#: lib/mv_web/live/member_live/index.html.heex:81 #, elixir-autogen, elixir-format, fuzzy msgid "First name" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:150 +#: 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" @@ -800,12 +800,27 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:141 +#: lib/mv_web/live/member_live/index.ex:142 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:125 +#: lib/mv_web/live/member_live/index.ex:126 #, elixir-autogen, elixir-format, fuzzy msgid "No members selected" msgstr "" + +#: 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:21 +#, elixir-autogen, elixir-format +msgid "Open in email program" +msgstr "" + +#: 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 ""