From 8235f4c7b51fa5730dd5ee5f8bb00c608685f81b Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 30 Sep 2021 16:17:44 +0200 Subject: [PATCH] Migrate .html.eex template files to .html.heex See https://gist.github.com/chrismccord/2ab350f154235ad4a4d0f4de6decba7b#rename-your-htmleex-and-htmlleex-templates-to-htmlheex-optional Signed-off-by: Thomas Citharel --- .../api/{privacy.html.eex => privacy.html.heex} | 0 .../templates/api/{terms.html.eex => terms.html.heex} | 0 ..._item.html.eex => _comment_activity_item.html.heex} | 0 ...em.html.eex => _discussion_activity_item.html.heex} | 0 ...ty_item.html.eex => _event_activity_item.html.heex} | 0 ...ty_item.html.eex => _group_activity_item.html.heex} | 0 ...y_item.html.eex => _member_activity_item.html.heex} | 0 ...ity_item.html.eex => _post_activity_item.html.heex} | 0 ...item.html.eex => _resource_activity_item.html.heex} | 0 ...tml.eex => actor_suspension_participants.html.heex} | 0 ... => anonymous_participation_confirmation.html.heex} | 2 +- ...on.html.eex => before_event_notification.html.heex} | 2 +- .../email/{email.html.eex => email.html.heex} | 6 +++--- ...ity.html.eex => email_anonymous_activity.html.heex} | 2 +- ...hanged_new.html.eex => email_changed_new.html.heex} | 2 +- ...hanged_old.html.eex => email_changed_old.html.heex} | 0 ...tivity.html.eex => email_direct_activity.html.heex} | 10 +++++----- ...html.eex => event_participation_approved.html.heex} | 2 +- ...tml.eex => event_participation_confirmed.html.heex} | 2 +- ...html.eex => event_participation_rejected.html.heex} | 0 ...{event_updated.html.eex => event_updated.html.heex} | 2 +- .../{group_invite.html.eex => group_invite.html.heex} | 2 +- ...removal.html.eex => group_member_removal.html.heex} | 0 ..._suspension.html.eex => group_suspension.html.heex} | 0 ...tance_follow.html.eex => instance_follow.html.heex} | 2 +- ..._week.html.eex => notification_each_week.html.heex} | 4 ++-- ...fication.html.eex => on_day_notification.html.heex} | 4 ++-- ...assword_reset.html.eex => password_reset.html.heex} | 2 +- ...ex => pending_participation_notification.html.heex} | 2 +- ...on.html.eex => registration_confirmation.html.heex} | 2 +- .../email/{report.html.eex => report.html.heex} | 6 +++--- .../error/{500_page.html.eex => 500_page.html.heex} | 2 +- mix.exs | 1 + mix.lock | 1 + 34 files changed, 30 insertions(+), 28 deletions(-) rename lib/web/templates/api/{privacy.html.eex => privacy.html.heex} (100%) rename lib/web/templates/api/{terms.html.eex => terms.html.heex} (100%) rename lib/web/templates/email/activity/{_comment_activity_item.html.eex => _comment_activity_item.html.heex} (100%) rename lib/web/templates/email/activity/{_discussion_activity_item.html.eex => _discussion_activity_item.html.heex} (100%) rename lib/web/templates/email/activity/{_event_activity_item.html.eex => _event_activity_item.html.heex} (100%) rename lib/web/templates/email/activity/{_group_activity_item.html.eex => _group_activity_item.html.heex} (100%) rename lib/web/templates/email/activity/{_member_activity_item.html.eex => _member_activity_item.html.heex} (100%) rename lib/web/templates/email/activity/{_post_activity_item.html.eex => _post_activity_item.html.heex} (100%) rename lib/web/templates/email/activity/{_resource_activity_item.html.eex => _resource_activity_item.html.heex} (100%) rename lib/web/templates/email/{actor_suspension_participants.html.eex => actor_suspension_participants.html.heex} (100%) rename lib/web/templates/email/{anonymous_participation_confirmation.html.eex => anonymous_participation_confirmation.html.heex} (96%) rename lib/web/templates/email/{before_event_notification.html.eex => before_event_notification.html.heex} (96%) rename lib/web/templates/email/{email.html.eex => email.html.heex} (96%) rename lib/web/templates/email/{email_anonymous_activity.html.eex => email_anonymous_activity.html.heex} (96%) rename lib/web/templates/email/{email_changed_new.html.eex => email_changed_new.html.heex} (96%) rename lib/web/templates/email/{email_changed_old.html.eex => email_changed_old.html.heex} (100%) rename lib/web/templates/email/{email_direct_activity.html.eex => email_direct_activity.html.heex} (93%) rename lib/web/templates/email/{event_participation_approved.html.eex => event_participation_approved.html.heex} (96%) rename lib/web/templates/email/{event_participation_confirmed.html.eex => event_participation_confirmed.html.heex} (96%) rename lib/web/templates/email/{event_participation_rejected.html.eex => event_participation_rejected.html.heex} (100%) rename lib/web/templates/email/{event_updated.html.eex => event_updated.html.heex} (98%) rename lib/web/templates/email/{group_invite.html.eex => group_invite.html.heex} (96%) rename lib/web/templates/email/{group_member_removal.html.eex => group_member_removal.html.heex} (100%) rename lib/web/templates/email/{group_suspension.html.eex => group_suspension.html.heex} (100%) rename lib/web/templates/email/{instance_follow.html.eex => instance_follow.html.heex} (96%) rename lib/web/templates/email/{notification_each_week.html.eex => notification_each_week.html.heex} (93%) rename lib/web/templates/email/{on_day_notification.html.eex => on_day_notification.html.heex} (93%) rename lib/web/templates/email/{password_reset.html.eex => password_reset.html.heex} (96%) rename lib/web/templates/email/{pending_participation_notification.html.eex => pending_participation_notification.html.heex} (96%) rename lib/web/templates/email/{registration_confirmation.html.eex => registration_confirmation.html.heex} (96%) rename lib/web/templates/email/{report.html.eex => report.html.heex} (95%) rename lib/web/templates/error/{500_page.html.eex => 500_page.html.heex} (98%) diff --git a/lib/web/templates/api/privacy.html.eex b/lib/web/templates/api/privacy.html.heex similarity index 100% rename from lib/web/templates/api/privacy.html.eex rename to lib/web/templates/api/privacy.html.heex diff --git a/lib/web/templates/api/terms.html.eex b/lib/web/templates/api/terms.html.heex similarity index 100% rename from lib/web/templates/api/terms.html.eex rename to lib/web/templates/api/terms.html.heex diff --git a/lib/web/templates/email/activity/_comment_activity_item.html.eex b/lib/web/templates/email/activity/_comment_activity_item.html.heex similarity index 100% rename from lib/web/templates/email/activity/_comment_activity_item.html.eex rename to lib/web/templates/email/activity/_comment_activity_item.html.heex diff --git a/lib/web/templates/email/activity/_discussion_activity_item.html.eex b/lib/web/templates/email/activity/_discussion_activity_item.html.heex similarity index 100% rename from lib/web/templates/email/activity/_discussion_activity_item.html.eex rename to lib/web/templates/email/activity/_discussion_activity_item.html.heex diff --git a/lib/web/templates/email/activity/_event_activity_item.html.eex b/lib/web/templates/email/activity/_event_activity_item.html.heex similarity index 100% rename from lib/web/templates/email/activity/_event_activity_item.html.eex rename to lib/web/templates/email/activity/_event_activity_item.html.heex diff --git a/lib/web/templates/email/activity/_group_activity_item.html.eex b/lib/web/templates/email/activity/_group_activity_item.html.heex similarity index 100% rename from lib/web/templates/email/activity/_group_activity_item.html.eex rename to lib/web/templates/email/activity/_group_activity_item.html.heex diff --git a/lib/web/templates/email/activity/_member_activity_item.html.eex b/lib/web/templates/email/activity/_member_activity_item.html.heex similarity index 100% rename from lib/web/templates/email/activity/_member_activity_item.html.eex rename to lib/web/templates/email/activity/_member_activity_item.html.heex diff --git a/lib/web/templates/email/activity/_post_activity_item.html.eex b/lib/web/templates/email/activity/_post_activity_item.html.heex similarity index 100% rename from lib/web/templates/email/activity/_post_activity_item.html.eex rename to lib/web/templates/email/activity/_post_activity_item.html.heex diff --git a/lib/web/templates/email/activity/_resource_activity_item.html.eex b/lib/web/templates/email/activity/_resource_activity_item.html.heex similarity index 100% rename from lib/web/templates/email/activity/_resource_activity_item.html.eex rename to lib/web/templates/email/activity/_resource_activity_item.html.heex diff --git a/lib/web/templates/email/actor_suspension_participants.html.eex b/lib/web/templates/email/actor_suspension_participants.html.heex similarity index 100% rename from lib/web/templates/email/actor_suspension_participants.html.eex rename to lib/web/templates/email/actor_suspension_participants.html.heex diff --git a/lib/web/templates/email/anonymous_participation_confirmation.html.eex b/lib/web/templates/email/anonymous_participation_confirmation.html.heex similarity index 96% rename from lib/web/templates/email/anonymous_participation_confirmation.html.eex rename to lib/web/templates/email/anonymous_participation_confirmation.html.heex index 8cbb1a8b7..07ad8ae6a 100644 --- a/lib/web/templates/email/anonymous_participation_confirmation.html.eex +++ b/lib/web/templates/email/anonymous_participation_confirmation.html.heex @@ -47,7 +47,7 @@ - diff --git a/lib/web/templates/email/before_event_notification.html.eex b/lib/web/templates/email/before_event_notification.html.heex similarity index 96% rename from lib/web/templates/email/before_event_notification.html.eex rename to lib/web/templates/email/before_event_notification.html.heex index ab4f54c83..0c37dc2c0 100644 --- a/lib/web/templates/email/before_event_notification.html.eex +++ b/lib/web/templates/email/before_event_notification.html.heex @@ -47,7 +47,7 @@
+ <%= gettext "Confirm my e-mail address" %>
- diff --git a/lib/web/templates/email/email.html.eex b/lib/web/templates/email/email.html.heex similarity index 96% rename from lib/web/templates/email/email.html.eex rename to lib/web/templates/email/email.html.heex index 0881f9f18..e7e34bf0b 100644 --- a/lib/web/templates/email/email.html.eex +++ b/lib/web/templates/email/email.html.heex @@ -2,7 +2,7 @@ - +<%= @subject %> @@ -55,8 +55,8 @@
+ <%= gettext "Go to event page" %>
diff --git a/lib/web/templates/email/email_anonymous_activity.html.eex b/lib/web/templates/email/email_anonymous_activity.html.heex similarity index 96% rename from lib/web/templates/email/email_anonymous_activity.html.eex rename to lib/web/templates/email/email_anonymous_activity.html.heex index 52f624712..411e777cb 100644 --- a/lib/web/templates/email/email_anonymous_activity.html.eex +++ b/lib/web/templates/email/email_anonymous_activity.html.heex @@ -63,7 +63,7 @@
- - <%= @instance_name %>" width="366" height="108" style="display: block; width: 366px; max-width: 366px; min-width: 366px; font-family: 'Roboto', Helvetica, Arial, sans-serif; color: #ffffff; font-size: 18px;" border="0"> + + {"#{
- diff --git a/lib/web/templates/email/email_changed_new.html.eex b/lib/web/templates/email/email_changed_new.html.heex similarity index 96% rename from lib/web/templates/email/email_changed_new.html.eex rename to lib/web/templates/email/email_changed_new.html.heex index 75fd87b81..86613762a 100644 --- a/lib/web/templates/email/email_changed_new.html.eex +++ b/lib/web/templates/email/email_changed_new.html.heex @@ -47,7 +47,7 @@
" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;"> + <%= gettext "Visit event page" %>
diff --git a/lib/web/templates/email/email_changed_old.html.eex b/lib/web/templates/email/email_changed_old.html.heex similarity index 100% rename from lib/web/templates/email/email_changed_old.html.eex rename to lib/web/templates/email/email_changed_old.html.heex diff --git a/lib/web/templates/email/email_direct_activity.html.eex b/lib/web/templates/email/email_direct_activity.html.heex similarity index 93% rename from lib/web/templates/email/email_direct_activity.html.eex rename to lib/web/templates/email/email_direct_activity.html.heex index 23115ea33..82b472c25 100644 --- a/lib/web/templates/email/email_direct_activity.html.eex +++ b/lib/web/templates/email/email_direct_activity.html.heex @@ -64,8 +64,8 @@ <%= if hd(group_activities).group.avatar do %> <% end %> @@ -73,7 +73,7 @@
- + <%= gettext "Verify your email address" %>
- - + URI.decode() }"} target="_blank" style="text-decoration: none;"> +
@@ -81,7 +81,7 @@ <%= if hd(group_activities).group.name do %> @@ -131,7 +131,7 @@
- + URI.decode() }"} target="_blank" style="text-decoration: none;color: #474467;font-family: 'Roboto', Helvetica, Arial, sans-serif;font-size: 18px;font-weight: bold;line-height: 25px;"> <%= hd(group_activities).group.name || "@#{Mobilizon.Actors.Actor.preferred_username_and_domain(hd(group_activities).group)}" %>
- + URI.decode() }"} target="_blank" style="text-decoration: none;display: block;color: #7a7a7a;font-family: 'Roboto', Helvetica, Arial, sans-serif;font-size: 16px;font-weight: 400;line-height: 25px;"> @<%= Mobilizon.Actors.Actor.preferred_username_and_domain(hd(group_activities).group) %>
diff --git a/lib/web/templates/email/event_participation_approved.html.eex b/lib/web/templates/email/event_participation_approved.html.heex similarity index 96% rename from lib/web/templates/email/event_participation_approved.html.eex rename to lib/web/templates/email/event_participation_approved.html.heex index 1a1f2f80a..e3b578b2c 100644 --- a/lib/web/templates/email/event_participation_approved.html.eex +++ b/lib/web/templates/email/event_participation_approved.html.heex @@ -54,7 +54,7 @@
- + URI.decode() }/timeline"} target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;"> <%= dngettext "activity", "View one more activity", "View %{count} more activities", length(group_activities) - 5, %{count: length(group_activities) - 5} %> - diff --git a/lib/web/templates/email/event_participation_confirmed.html.eex b/lib/web/templates/email/event_participation_confirmed.html.heex similarity index 96% rename from lib/web/templates/email/event_participation_confirmed.html.eex rename to lib/web/templates/email/event_participation_confirmed.html.heex index d38056a4d..41fd6ba0e 100644 --- a/lib/web/templates/email/event_participation_confirmed.html.eex +++ b/lib/web/templates/email/event_participation_confirmed.html.heex @@ -54,7 +54,7 @@
+ <%= gettext "Visit event page" %>
- diff --git a/lib/web/templates/email/event_participation_rejected.html.eex b/lib/web/templates/email/event_participation_rejected.html.heex similarity index 100% rename from lib/web/templates/email/event_participation_rejected.html.eex rename to lib/web/templates/email/event_participation_rejected.html.heex diff --git a/lib/web/templates/email/event_updated.html.eex b/lib/web/templates/email/event_updated.html.heex similarity index 98% rename from lib/web/templates/email/event_updated.html.eex rename to lib/web/templates/email/event_updated.html.heex index 61b1318fd..4f0d11e41 100644 --- a/lib/web/templates/email/event_updated.html.eex +++ b/lib/web/templates/email/event_updated.html.heex @@ -117,7 +117,7 @@
+ <%= gettext "Visit event page" %>
- diff --git a/lib/web/templates/email/group_invite.html.eex b/lib/web/templates/email/group_invite.html.heex similarity index 96% rename from lib/web/templates/email/group_invite.html.eex rename to lib/web/templates/email/group_invite.html.heex index 129478107..d65966423 100644 --- a/lib/web/templates/email/group_invite.html.eex +++ b/lib/web/templates/email/group_invite.html.heex @@ -55,7 +55,7 @@
+ <%= gettext "Visit the updated event page" %>
diff --git a/lib/web/templates/email/group_member_removal.html.eex b/lib/web/templates/email/group_member_removal.html.heex similarity index 100% rename from lib/web/templates/email/group_member_removal.html.eex rename to lib/web/templates/email/group_member_removal.html.heex diff --git a/lib/web/templates/email/group_suspension.html.eex b/lib/web/templates/email/group_suspension.html.heex similarity index 100% rename from lib/web/templates/email/group_suspension.html.eex rename to lib/web/templates/email/group_suspension.html.heex diff --git a/lib/web/templates/email/instance_follow.html.eex b/lib/web/templates/email/instance_follow.html.heex similarity index 96% rename from lib/web/templates/email/instance_follow.html.eex rename to lib/web/templates/email/instance_follow.html.heex index 723891e98..4d90a7cc1 100644 --- a/lib/web/templates/email/instance_follow.html.eex +++ b/lib/web/templates/email/instance_follow.html.heex @@ -62,7 +62,7 @@
- + <%= gettext "See my groups" %>
diff --git a/lib/web/templates/email/notification_each_week.html.eex b/lib/web/templates/email/notification_each_week.html.heex similarity index 93% rename from lib/web/templates/email/notification_each_week.html.eex rename to lib/web/templates/email/notification_each_week.html.heex index 270785fa9..fcb41a7ab 100644 --- a/lib/web/templates/email/notification_each_week.html.eex +++ b/lib/web/templates/email/notification_each_week.html.heex @@ -48,7 +48,7 @@ <%= participation.event.begins_on |> datetime_tz_convert(@timezone) |> datetime_to_string(@locale) %> - + <%= participation.event.title %> @@ -58,7 +58,7 @@ <%= @participation.event.begins_on |> datetime_tz_convert(@timezone) |> datetime_to_string(@locale) %> - + <%= @participation.event.title %> <% end %> diff --git a/lib/web/templates/email/on_day_notification.html.eex b/lib/web/templates/email/on_day_notification.html.heex similarity index 93% rename from lib/web/templates/email/on_day_notification.html.eex rename to lib/web/templates/email/on_day_notification.html.heex index 7e6b9441d..0ace1ecb7 100644 --- a/lib/web/templates/email/on_day_notification.html.eex +++ b/lib/web/templates/email/on_day_notification.html.heex @@ -48,7 +48,7 @@ <%= participation.event.begins_on |> DateTime.shift_zone!(@timezone) |> datetime_to_time_string(@locale) %> - + <%= participation.event.title %> @@ -58,7 +58,7 @@ <%= @participation.event.begins_on |> DateTime.shift_zone!(@timezone) |> datetime_to_time_string(@locale) %> - + <%= @participation.event.title %> <% end %> diff --git a/lib/web/templates/email/password_reset.html.eex b/lib/web/templates/email/password_reset.html.heex similarity index 96% rename from lib/web/templates/email/password_reset.html.eex rename to lib/web/templates/email/password_reset.html.heex index ccd810a45..72e00784a 100644 --- a/lib/web/templates/email/password_reset.html.eex +++ b/lib/web/templates/email/password_reset.html.heex @@ -57,7 +57,7 @@
- " target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;"> + <%= gettext "See the federation settings" %> - diff --git a/lib/web/templates/email/pending_participation_notification.html.eex b/lib/web/templates/email/pending_participation_notification.html.heex similarity index 96% rename from lib/web/templates/email/pending_participation_notification.html.eex rename to lib/web/templates/email/pending_participation_notification.html.heex index 79aeb85ab..aafdc87d2 100644 --- a/lib/web/templates/email/pending_participation_notification.html.eex +++ b/lib/web/templates/email/pending_participation_notification.html.heex @@ -47,7 +47,7 @@
" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #474467; display: inline-block;"> + <%= gettext "Reset Password" %>
diff --git a/lib/web/templates/email/registration_confirmation.html.eex b/lib/web/templates/email/registration_confirmation.html.heex similarity index 96% rename from lib/web/templates/email/registration_confirmation.html.eex rename to lib/web/templates/email/registration_confirmation.html.heex index 89fbce362..583abe122 100644 --- a/lib/web/templates/email/registration_confirmation.html.eex +++ b/lib/web/templates/email/registration_confirmation.html.heex @@ -54,7 +54,7 @@
- " target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;"> + "/participations" }"} target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;"> <%= gettext "Manage pending requests" %> - diff --git a/lib/web/templates/email/report.html.eex b/lib/web/templates/email/report.html.heex similarity index 95% rename from lib/web/templates/email/report.html.eex rename to lib/web/templates/email/report.html.heex index f2fa83c75..bf01d6829 100644 --- a/lib/web/templates/email/report.html.eex +++ b/lib/web/templates/email/report.html.heex @@ -49,7 +49,7 @@

<%= if @report.reported.type == :Group do %>

<%= gettext "Group reported" %>

- " target="_blank"> + <%= Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %> <% else %> @@ -70,7 +70,7 @@
" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;"> + <%= gettext "Activate my account" %>

<%= gettext "Event" %>

- " target="_blank"> + <%= gettext "%{title} by %{creator}", title: @report.event.title, creator: Mobilizon.Actors.Actor.preferred_username_and_domain(@report.reported) %>

@@ -122,7 +122,7 @@
- diff --git a/lib/web/templates/error/500_page.html.eex b/lib/web/templates/error/500_page.html.heex similarity index 98% rename from lib/web/templates/error/500_page.html.eex rename to lib/web/templates/error/500_page.html.heex index 1ea14e90e..53f39466c 100644 --- a/lib/web/templates/error/500_page.html.eex +++ b/lib/web/templates/error/500_page.html.heex @@ -1,5 +1,5 @@ - + diff --git a/mix.exs b/mix.exs index db86fd195..a6e63803c 100644 --- a/mix.exs +++ b/mix.exs @@ -100,6 +100,7 @@ defmodule Mobilizon.Mixfile do {:phoenix_ecto, "~> 4.0"}, {:postgrex, ">= 0.15.3"}, {:phoenix_html, "~> 3.0"}, + {:phoenix_live_view, "~> 0.16.4"}, {:gettext, "~> 0.11"}, {:cowboy, "~> 2.6"}, {:guardian, "~> 2.0"}, diff --git a/mix.lock b/mix.lock index b7029b6d4..862019349 100644 --- a/mix.lock +++ b/mix.lock @@ -106,6 +106,7 @@ "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.0", "0672ed4e4808b3fbed494dded89958e22fb882de47a97634c0b13e7b0b5f7720", [:mix], [{:ecto, "~> 3.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "09864e558ed31ee00bd48fcc1d4fc58ae9678c9e81649075431e69dbabb43cc1"}, "phoenix_html": {:hex, :phoenix_html, "3.0.4", "232d41884fe6a9c42d09f48397c175cd6f0d443aaa34c7424da47604201df2e1", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "ce17fd3cf815b2ed874114073e743507704b1f5288bb03c304a77458485efc8b"}, "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.3.3", "3a53772a6118d5679bf50fc1670505a290e32a1d195df9e069d8c53ab040c054", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "766796676e5f558dbae5d1bdb066849673e956005e3730dfd5affd7a6da4abac"}, + "phoenix_live_view": {:hex, :phoenix_live_view, "0.16.4", "5692edd0bac247a9a816eee7394e32e7a764959c7d0cf9190662fc8b0cd24c97", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.5.9 or ~> 1.6.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "754ba49aa2e8601afd4f151492c93eb72df69b0b9856bab17711b8397e43bba0"}, "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.0.0", "a1ae76717bb168cdeb10ec9d92d1480fec99e3080f011402c0a2d68d47395ffb", [:mix], [], "hexpm", "c52d948c4f261577b9c6fa804be91884b381a7f8f18450c5045975435350f771"}, "phoenix_view": {:hex, :phoenix_view, "1.0.0", "fea71ecaaed71178b26dd65c401607de5ec22e2e9ef141389c721b3f3d4d8011", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "82be3e2516f5633220246e2e58181282c71640dab7afc04f70ad94253025db0c"}, "plug": {:hex, :plug, "1.12.1", "645678c800601d8d9f27ad1aebba1fdb9ce5b2623ddb961a074da0b96c35187d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d57e799a777bc20494b784966dc5fbda91eb4a09f571f76545b72a634ce0d30b"},
+ <%= gettext "View report" %>