From 827c6c77dabb06aece0cd5317e44fd77f4fb82ad Mon Sep 17 00:00:00 2001 From: Alex Lion Date: Thu, 3 Jul 2025 14:55:23 +0200 Subject: [PATCH] deps: upgrade to live view 1.0 --- CHANGELOG.md | 8 ++ lib/claper_web.ex | 2 +- lib/claper_web/controllers/user_oidc_auth.ex | 2 +- .../live/embed_live/form_component.html.heex | 16 +-- .../live/event_live/embed_component.ex | 6 +- .../live/event_live/embed_iframe_component.ex | 2 +- .../live/event_live/event_card_component.ex | 44 +++---- .../event_live/event_form_component.html.heex | 78 ++++++------ .../live/event_live/form_component.ex | 10 +- .../live/event_live/index.html.heex | 20 +-- lib/claper_web/live/event_live/join.html.heex | 20 +-- .../live/event_live/manage.html.heex | 120 +++++++++--------- .../event_live/manageable_post_component.ex | 32 ++--- .../event_live/manageable_quiz_component.ex | 12 +- .../event_live/manager_settings_component.ex | 44 +++---- .../live/event_live/poll_component.ex | 22 ++-- .../live/event_live/post_component.ex | 42 +++--- .../live/event_live/presenter.html.heex | 34 ++--- .../live/event_live/quiz_component.ex | 40 +++--- lib/claper_web/live/event_live/show.html.heex | 64 +++++----- .../live/form_live/form_component.html.heex | 8 +- lib/claper_web/live/modal_component.ex | 9 +- .../live/poll_live/form_component.html.heex | 20 +-- .../live/quiz_live/quiz_component.html.heex | 32 ++--- lib/claper_web/live/stat_live/index.html.heex | 90 ++++++------- .../live/user_settings_live/show.html.heex | 60 ++++----- lib/claper_web/templates/error/404.html.heex | 6 +- lib/claper_web/templates/error/500.html.heex | 6 +- .../templates/error/csrf_error.html.heex | 20 +-- .../templates/layout/_avatar.html.heex | 4 +- .../layout/_profile_dropdown.html.heex | 4 +- .../templates/layout/_user_menu.html.heex | 10 +- lib/claper_web/templates/layout/app.html.heex | 2 +- .../templates/layout/email.html.heex | 2 +- .../templates/layout/live.html.heex | 10 +- .../templates/layout/root.html.heex | 6 +- .../templates/layout/user.html.heex | 8 +- .../leader_notifier/invitation.html.heex | 16 +-- .../templates/lti/launch/error.html.heex | 6 +- .../templates/lti/registration/new.html.heex | 8 +- .../lti/registration/success.html.heex | 12 +- .../page/user_confirmation/edit.html.heex | 6 +- .../page/user_confirmation/new.html.heex | 10 +- .../templates/user_confirmation/new.html.heex | 10 +- .../templates/user_notifier/change.html.heex | 14 +- .../templates/user_notifier/confirm.html.heex | 14 +- .../templates/user_notifier/magic.html.heex | 14 +- .../templates/user_notifier/reset.html.heex | 14 +- .../templates/user_notifier/welcome.html.heex | 32 ++--- .../user_registration/confirm.html.heex | 12 +- .../templates/user_registration/new.html.heex | 4 +- .../user_reset_password/edit.html.heex | 4 +- .../user_reset_password/new.html.heex | 4 +- .../templates/user_session/new.html.heex | 16 +-- .../views/components/alert_component.ex | 4 +- .../views/components/input_component.ex | 60 ++++----- lib/claper_web/views/error_helpers.ex | 10 +- mix.exs | 4 +- mix.lock | 14 +- 59 files changed, 604 insertions(+), 599 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 422a79c..89eb5b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +### v.2.4.0 + +### Fixes and improvements + +- Upgrade JS dependencies +- Upgrade Elixir dependencies, including Phoenix Live View to 1.0.17 +- Refactor view templates to use {} instead of <%= %> + ### v.2.3.2 ### Fixes and improvements diff --git a/lib/claper_web.ex b/lib/claper_web.ex index 5ebb91b..6d2e7b4 100644 --- a/lib/claper_web.ex +++ b/lib/claper_web.ex @@ -99,7 +99,7 @@ defmodule ClaperWeb do use PhoenixHTMLHelpers # Import LiveView and .heex helpers (live_render, live_patch, <.form>, etc) - import Phoenix.LiveView.Helpers + import Phoenix.Component import ClaperWeb.LiveHelpers alias Phoenix.LiveView.JS diff --git a/lib/claper_web/controllers/user_oidc_auth.ex b/lib/claper_web/controllers/user_oidc_auth.ex index e55975e..6cb495d 100644 --- a/lib/claper_web/controllers/user_oidc_auth.ex +++ b/lib/claper_web/controllers/user_oidc_auth.ex @@ -103,7 +103,7 @@ defmodule ClaperWeb.UserOidcAuth do Application.get_env(:claper, ClaperWeb.Endpoint)[:base_url] end - defp opts(pkce_verifier \\ nil) do + defp opts(pkce_verifier) do url = base_url() base_opts = %{ diff --git a/lib/claper_web/live/embed_live/form_component.html.heex b/lib/claper_web/live/embed_live/form_component.html.heex index 2d17912..9c5f74f 100644 --- a/lib/claper_web/live/embed_live/form_component.html.heex +++ b/lib/claper_web/live/embed_live/form_component.html.heex @@ -46,16 +46,16 @@ -

<%= gettext("Options") %>

+

{gettext("Options")}

- <%= checkbox(f, :attendee_visibility, class: "h-4 w-5") %> - <%= label( + {checkbox(f, :attendee_visibility, class: "h-4 w-5")} + {label( f, :attendee_visibility, gettext("Attendees can view the web content on their device"), class: "text-sm font-medium" - ) %> + )}
@@ -65,13 +65,13 @@ phx_disable_with="Loading..." class="w-full lg:w-auto px-6 text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= case @live_action do + {case @live_action do :new -> gettext("Create") :edit -> gettext("Save") - end %> + end} <%= if @live_action == :edit do %> - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_target: @myself, @@ -81,7 +81,7 @@ ], class: "w-full lg:w-auto px-6 text-center text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-supporting-red-600 to-supporting-red-400 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" - ) %> + )} <% end %> diff --git a/lib/claper_web/live/event_live/embed_component.ex b/lib/claper_web/live/event_live/embed_component.ex index b73d5bc..e7c0c54 100644 --- a/lib/claper_web/live/event_live/embed_component.ex +++ b/lib/claper_web/live/event_live/embed_component.ex @@ -29,7 +29,7 @@ defmodule ClaperWeb.EventLive.EmbedComponent do d="M14.25 9.75L16.5 12l-2.25 2.25m-4.5 0L7.5 12l2.25-2.25M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z" /> - <%= gettext("See current web content") %> + {gettext("See current web content")} @@ -52,8 +52,8 @@ defmodule ClaperWeb.EventLive.EmbedComponent do -

<%= gettext("Current web content") %>

-

<%= @embed.title %>

+

{gettext("Current web content")}

+

{@embed.title}

<.live_component diff --git a/lib/claper_web/live/event_live/embed_iframe_component.ex b/lib/claper_web/live/event_live/embed_iframe_component.ex index ef53356..d746cca 100644 --- a/lib/claper_web/live/event_live/embed_iframe_component.ex +++ b/lib/claper_web/live/event_live/embed_iframe_component.ex @@ -39,7 +39,7 @@ defmodule ClaperWeb.EventLive.EmbedIframeComponent do > <% "custom" -> %> - <%= raw(@content) %> + {raw(@content)} <% end %>
""" diff --git a/lib/claper_web/live/event_live/event_card_component.ex b/lib/claper_web/live/event_live/event_card_component.ex index 52acac6..9d00d55 100644 --- a/lib/claper_web/live/event_live/event_card_component.ex +++ b/lib/claper_web/live/event_live/event_card_component.ex @@ -20,7 +20,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do class="text-lg font-medium text-primary-600 truncate" href={~p"/e/#{@event.code}/manage"} > - <%= @event.name %> + {@event.name}

- <%= gettext("Live") %> + {gettext("Live")} <% end %> <%= if !Event.started?(@event) && !Event.finished?(@event) do %>

- <%= gettext("Incoming") %> + {gettext("Incoming")}

<% end %> <%= if Event.finished?(@event) do %>

- <%= gettext("Finished") %> + {gettext("Finished")}

<% end %> @@ -66,7 +66,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do

- <%= @event.code %> + {@event.code}

- <%= gettext("Starting on") %> + {gettext("Starting on")}

- <%= gettext("Finished on") %> + {gettext("Finished on")}

@@ -108,7 +108,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do phx-target={@myself} class="flex w-full lg:w-auto pl-3 pr-4 text-white items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline hover:bg-primary-600 bg-primary-500" > - <%= gettext("Join") %> + {gettext("Join")} - <%= gettext("Event manager") %> + {gettext("Event manager")}
  • @@ -172,7 +172,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do /> - <%= gettext("Attendees room") %> + {gettext("Attendees room")}
  • @@ -198,7 +198,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do > - <%= gettext("End") %> + {gettext("End")}
    @@ -209,7 +209,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do phx-target={@myself} class="flex w-full lg:w-auto pl-3 pr-4 text-gray-700 items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline hover:bg-gray-300 bg-gray-200" > - <%= gettext("More options") %> + {gettext("More options")} - <%= gettext("Edit") %> + {gettext("Edit")}
  • @@ -265,7 +265,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do - <%= gettext("Duplicate") %> + {gettext("Duplicate")}
  • @@ -279,7 +279,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do class="mt-2 flex flex-col space-y-2 sm:space-y-0 justify-between sm:flex-row items-center" > - <%= gettext("Error when processing the file") %> + {gettext("Error when processing the file")}
    <%= if not @is_leader do %> @@ -289,7 +289,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do phx-target={@myself} class="flex w-full lg:w-auto pl-3 pr-4 text-gray-700 items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline hover:bg-gray-300 bg-gray-200" > - <%= gettext("More options") %> + {gettext("More options")} - <%= gettext("Edit") %> + {gettext("Edit")} @@ -341,7 +341,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do class="flex space-x-1 items-center" > - <%= gettext("Processing your file...") %> + {gettext("Processing your file...")}
    <% end %> @@ -367,7 +367,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do - <%= gettext("View report") %> + {gettext("View report")}
    @@ -378,7 +378,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do phx-target={@myself} class="flex w-full lg:w-auto pl-3 pr-4 text-gray-700 items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline hover:bg-gray-300 bg-gray-200" > - <%= gettext("More options") %> + {gettext("More options")} - <%= gettext("Duplicate") %> + {gettext("Duplicate")}
  • @@ -441,7 +441,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do clip-rule="evenodd" /> - <%= gettext("Delete") %> + {gettext("Delete")}
  • diff --git a/lib/claper_web/live/event_live/event_form_component.html.heex b/lib/claper_web/live/event_live/event_form_component.html.heex index 86edde9..0b482fd 100644 --- a/lib/claper_web/live/event_live/event_form_component.html.heex +++ b/lib/claper_web/live/event_live/event_form_component.html.heex @@ -33,13 +33,13 @@ /> - <%= gettext("How it works ?") %> + {gettext("How it works ?")}

    - <%= @page_title %> + {@page_title}

    @@ -50,28 +50,28 @@ phx_disable_with="Loading..." class="w-full lg:w-auto px-6 text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= case @action do + {case @action do :edit -> gettext("Save") :new -> gettext("Create") - end %> + end} <% else %>
    - <%= case @action do + {case @action do :edit -> gettext("Save") :new -> gettext("Create") - end %> + end}
    <% end %> <%= if @action == :edit && !@event.expired_at do %> - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_value_id: @event.uuid, data: [confirm: gettext("Are you sure?")], class: "w-full lg:w-auto px-6 text-center text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-supporting-red-600 to-supporting-red-400 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" - ) %> + )} <% end %>
    @@ -85,7 +85,7 @@ data-tg-title={"📄 #{gettext("Presentation file (optional)")}"} >
    <%= if @uploads.presentation_file.entries |> Enum.at(0, %{}) |> Map.get(:progress, 0) < 100 do %> @@ -112,22 +112,22 @@ phx-submit="save-file" phx-target={@myself} > - <%= gettext("Upload a file") %> + {gettext("Upload a file")} <.live_file_input upload={@uploads.presentation_file} class="sr-only" /> -

    <%= gettext("or drag and drop") %>

    +

    {gettext("or drag and drop")}

    - <%= gettext("PDF, PPT, PPTX up to %{size} MB", size: @max_file_size) %> + {gettext("PDF, PPT, PPTX up to %{size} MB", size: @max_file_size)}

    <%= for entry <- @uploads.presentation_file.entries do %> - <%= entry.progress %> + {entry.progress} <%= for err <- upload_errors(@uploads.presentation_file, entry) do %>

    - <%= error_to_string(err) %> + {error_to_string(err)}

    <% end %> <% end %> @@ -149,9 +149,9 @@ d="M5 13l4 4L19 7" /> -

    <%= gettext("Presentation uploaded") %>

    +

    {gettext("Presentation uploaded")}

    -

    <%= entry.client_name %>

    +

    {entry.client_name}

    - <%= gettext("Remove") %> + {gettext("Remove")}

    <% end %> @@ -170,7 +170,7 @@ <% else %>
    <%= if @uploads.presentation_file.entries |> Enum.at(0, %{}) |> Map.get(:progress, 0) < 100 do %> @@ -189,7 +189,7 @@ d="M5 13l4 4L19 7" /> -

    <%= gettext("Presentation attached") %>

    +

    {gettext("Presentation attached")}

    <%= for entry <- @uploads.presentation_file.entries do %> - <%= entry.progress %> + {entry.progress} <%= for err <- upload_errors(@uploads.presentation_file, entry) do %>

    - <%= error_to_string(err) %> + {error_to_string(err)}

    <% end %> <% end %>
    <% else %> @@ -235,19 +235,19 @@ d="M5 13l4 4L19 7" /> -

    <%= gettext("Presentation replaced") %>

    +

    {gettext("Presentation replaced")}

    <%= for entry <- @uploads.presentation_file.entries do %> -

    <%= entry.client_name %>

    +

    {entry.client_name}

    - <%= entry.progress %> + {entry.progress}
    <%= for err <- upload_errors(@uploads.presentation_file, entry) do %>

    - <%= error_to_string(err) %> + {error_to_string(err)}

    <% end %>

    @@ -258,7 +258,7 @@ phx-target={@myself} class="text-red-500 text-sm" > - <%= gettext("Remove") %> + {gettext("Remove")}

    <% end %> @@ -267,7 +267,7 @@ <%= for entry <- @uploads.presentation_file.entries do %> <%= for err <- upload_errors(@uploads.presentation_file, entry) do %>

    - <%= error_to_string(err) %> + {error_to_string(err)}

    <% end %> <% end %> @@ -339,7 +339,7 @@ data-tg-order="4" > - <%= gettext("Facilitators can present and manage interactions") %> + {gettext("Facilitators can present and manage interactions")} @@ -381,15 +381,15 @@ key={:email} name="" /> - <%= hidden_input(l, :user_email, value: @current_user.email) %> + {hidden_input(l, :user_email, value: @current_user.email)} <% else %>
    @@ -401,9 +401,9 @@ />
    - <%= hidden_input(l, :temp_id) %> - <%= hidden_input(l, :event_id, value: @event.id) %> - <%= hidden_input(l, :user_email, value: @current_user.email) %> + {hidden_input(l, :temp_id)} + {hidden_input(l, :event_id, value: @event.id)} + {hidden_input(l, :user_email, value: @current_user.email)} <% end %> diff --git a/lib/claper_web/live/event_live/form_component.ex b/lib/claper_web/live/event_live/form_component.ex index 6cd8dce..3ed7222 100644 --- a/lib/claper_web/live/event_live/form_component.ex +++ b/lib/claper_web/live/event_live/form_component.ex @@ -29,7 +29,7 @@ defmodule ClaperWeb.EventLive.FormComponent do - <%= gettext("See current form") %> + {gettext("See current form")} @@ -48,8 +48,8 @@ defmodule ClaperWeb.EventLive.FormComponent do -

    <%= gettext("Current form") %>

    -

    <%= @form.title %>

    +

    {gettext("Current form")}

    +

    {@form.title}

    <%= form_for :form_submit, "#", [id: @id, phx_change: "validate", phx_target: @myself, phx_submit: "submit"], fn f -> %>
    @@ -94,7 +94,7 @@ defmodule ClaperWeb.EventLive.FormComponent do type="submit" class="px-3 py-2 text-white font-semibold bg-primary-500 hover:bg-primary-600 rounded-md my-5" > - <%= if is_nil(assigns.current_form_submit), do: gettext("Submit"), else: gettext("Edit") %> + {if is_nil(assigns.current_form_submit), do: gettext("Submit"), else: gettext("Edit")} <%= unless is_nil(assigns.current_form_submit) do %> @@ -111,7 +111,7 @@ defmodule ClaperWeb.EventLive.FormComponent do > - <%= gettext("Saved") %> + {gettext("Saved")}
    <% end %> diff --git a/lib/claper_web/live/event_live/index.html.heex b/lib/claper_web/live/event_live/index.html.heex index e12315d..1556a02 100644 --- a/lib/claper_web/live/event_live/index.html.heex +++ b/lib/claper_web/live/event_live/index.html.heex @@ -25,7 +25,7 @@ /> - <%= gettext("How it works ?") %> + {gettext("How it works ?")} <%= if @live_action in [:new, :edit] do %> @@ -90,7 +90,7 @@ phx_disable_with="Loading..." class="mt-5 w-full lg:w-auto px-6 text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Create") %> + {gettext("Create")} @@ -108,7 +108,7 @@ >

    - <%= gettext("My events") %> + {gettext("My events")}

    @@ -138,7 +138,7 @@ /> - <%= gettext("Quick event") %> + {gettext("Quick event")} <.link @@ -163,7 +163,7 @@ /> - <%= gettext("Create event") %> + {gettext("Create event")}
    @@ -175,7 +175,7 @@ phx-value-tab="not_expired" class={"#{if @active_tab == "not_expired", do: "bg-primary-100 text-primary-700", else: "text-gray-500 hover:text-gray-700"} px-3 py-2 font-medium rounded-md"} > - <%= gettext("Active") %> + {gettext("Active")} @@ -214,14 +214,14 @@ phx-click="load-more" class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-primary-700 bg-primary-100 hover:bg-primary-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500" > - <%= gettext("Load more") %> + {gettext("Load more")} <% end %> <%= if Enum.count(@events) == 0 do %>
    -

    <%= gettext("Create your first event") %>

    +

    {gettext("Create your first event")}

    <% end %> diff --git a/lib/claper_web/live/event_live/join.html.heex b/lib/claper_web/live/event_live/join.html.heex index 0624078..8ce3bf4 100644 --- a/lib/claper_web/live/event_live/join.html.heex +++ b/lib/claper_web/live/event_live/join.html.heex @@ -21,21 +21,21 @@ @click.away="open = false" > - <%= gettext("About") %> + {gettext("About")} <%= if @current_user do %> <.link href={~p"/events"} class="relative inline-flex items-center px-4 py-1 text-base font-sm rounded-md text-white bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Dashboard") %> + {gettext("Dashboard")} <% else %> <.link href={~p"/users/log_in"} class="relative inline-flex items-center px-4 py-1 text-base font-sm rounded-md text-white bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Login") %> + {gettext("Login")} <% end %> @@ -44,21 +44,21 @@ @@ -71,13 +71,13 @@ <%= form_for :event, ~p"/join", ["phx-submit": "join", "phx-hook": "JoinEvent", id: "form"], fn f -> %>
    - <%= text_input(f, :code, + {text_input(f, :code, required: true, autofocus: true, id: "input", class: "transition-all bg-transparent tracking-widest w-full uppercase text-white text-2xl px-3 border-b border-gray-200 focus:border-b-2 pt-5 pl-12 pb-3 outline-none" - ) %> + )} - <%= gettext("Join") %> + {gettext("Join")}
    @@ -101,7 +101,7 @@
    -

    <%= gettext("Web content") %>

    +

    {gettext("Web content")}

    - <%= gettext("Add a Youtube video or any web content.") %> + {gettext("Add a Youtube video or any web content.")}

    @@ -289,9 +289,9 @@
    -

    <%= gettext("Quiz") %>

    +

    {gettext("Quiz")}

    - <%= gettext("Add a quiz to test knowledge.") %> + {gettext("Add a quiz to test knowledge.")}

    @@ -301,10 +301,10 @@ <%= if @create=="poll" do %>

    - <%= case @create_action do + {case @create_action do :new -> gettext("New poll") :edit -> gettext("Edit poll") - end %> + end}

    <.live_component module={ClaperWeb.PollLive.FormComponent} @@ -322,10 +322,10 @@ <%= if @create=="form" do %>

    - <%= case @create_action do + {case @create_action do :new -> gettext("New form") :edit -> gettext("Edit form") - end %> + end}

    <.live_component module={ClaperWeb.FormLive.FormComponent} @@ -343,10 +343,10 @@ <%= if @create == "embed" do %>

    - <%= case @create_action do + {case @create_action do :new -> gettext("New web content") :edit -> gettext("Edit web content") - end %> + end}

    <.live_component module={ClaperWeb.EmbedLive.FormComponent} @@ -364,10 +364,10 @@ <%= if @create=="quiz" do %>

    - <%= case @create_action do + {case @create_action do :new -> gettext("New quiz") :edit -> gettext("Edit quiz") - end %> + end}

    <.live_component module={ClaperWeb.QuizLive.QuizComponent} @@ -385,7 +385,7 @@ <%= if @create == "import" do %>

    - <%= gettext("Select presentation") %> + {gettext("Select presentation")}

      <%= for event <- @events do %> @@ -410,7 +410,7 @@ /> - <%= event.name %> + {event.name} @@ -453,7 +453,7 @@

      - <%= @event.name %> + {@event.name}

      @@ -471,7 +471,7 @@ d="M7 20l4-16m2 16l4-16M6 9h14M4 15h14" /> - <%= @event.code %> + {@event.code}
      - <%= @attendees_nb %> + {@attendees_nb} - <%= link(gettext("Join"), + {link(gettext("Join"), to: ~p"/e/#{@event.code}", class: "text-xs text-primary-600 font-semibold text-sm ", target: "_blank" - ) %> + )}
      @@ -535,8 +535,8 @@ - <%= gettext("Open preview") %> - <%= gettext("Close preview") %> + {gettext("Open preview")} + {gettext("Close preview")}
      @@ -737,10 +737,10 @@

      0}> - <%= gettext("This slide does not have any interactions.") %> + {gettext("This slide does not have any interactions.")} - <%= gettext("Create your first interaction.") %> + {gettext("Create your first interaction.")}

      @@ -756,7 +756,7 @@ > - <%= gettext("Add interaction") %> + {gettext("Add interaction")}
      @@ -783,7 +783,7 @@ />
      - <%= gettext("Poll") %> + {gettext("Poll")}
    - <%= gettext("Form") %> + {gettext("Form")}
    - <%= gettext("Web content") %> + {gettext("Web content")}
    - <%= gettext("Quiz") %> + {gettext("Quiz")}

    <% _ -> %> <% end %> - <%= interaction.title %> + {interaction.title}

    @@ -1098,7 +1098,7 @@ phx-value-id={interaction.id} class="bg-supporting-red-100 text-supporting-red-800 px-2 py-2 rounded text-sm font-medium w-full" > - <%= gettext("Disable") %> + {gettext("Disable")}
    <% else %> @@ -1115,7 +1115,7 @@ phx-value-id={interaction.id} class="bg-primary-100 text-primary-800 px-2 py-2 rounded text-sm font-medium w-full" > - <%= gettext("Enable") %> + {gettext("Enable")} <% end %> @@ -1129,7 +1129,7 @@ > - <%= gettext("Add interaction") %> + {gettext("Add interaction")} @@ -1164,35 +1164,35 @@ >
  • - <%= link(gettext("Messages") <> " (#{@post_count})", + {link(gettext("Messages") <> " (#{@post_count})", to: "#", phx_click: "list-tab", phx_value_tab: :posts - ) %> + )}
  • - <%= link(gettext("Questions") <> " (#{@question_count})", + {link(gettext("Questions") <> " (#{@question_count})", to: "#", phx_click: "list-tab", phx_value_tab: :questions - ) %> + )}
  • - <%= link(gettext("Pinned messages") <> " (#{@pinned_post_count})", + {link(gettext("Pinned messages") <> " (#{@pinned_post_count})", to: "#", phx_click: "list-tab", phx_value_tab: :pinned_posts - ) %> + )}
  • - <%= link(gettext("Form submissions") <> " (#{@form_submit_count})", + {link(gettext("Form submissions") <> " (#{@form_submit_count})", to: "#", phx_click: "list-tab", phx_value_tab: :forms - ) %> + )}
  • @@ -1218,7 +1218,7 @@

    - <%= gettext("Messages from attendees will appear here.") %> + {gettext("Messages from attendees will appear here.")}

    - <%= gettext("Questions will appear here.") %> + {gettext("Questions will appear here.")}

    @@ -1280,7 +1280,7 @@

    - <%= gettext("Sort by popularity") %> + {gettext("Sort by popularity")}

    - <%= gettext("Pinned messages will appear here.") %> + {gettext("Pinned messages will appear here.")}

    @@ -1387,7 +1387,7 @@

    - <%= gettext("Form submissions from attendees will appear here.") %> + {gettext("Form submissions from attendees will appear here.")}

    <% end %> @@ -1402,20 +1402,20 @@
    - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete-form-submit", phx_value_id: submission.id, phx_value_event_id: @event.uuid, data: [confirm: gettext("This cannot be undone, confirm ?")] - ) %> + )}

    <%= gettext("Form") %> - : <%= submission.form.title %> + : {submission.form.title}

    @@ -1435,9 +1435,9 @@ <%= for res <- submission.response do %>

    - <%= elem(res, 0) %>: + {elem(res, 0)}: - <%= elem(res, 1) %> + {elem(res, 1)}

    <% end %>
    @@ -1460,7 +1460,7 @@ data-tg-group="manage" >
    - <%= gettext("Settings") %> + {gettext("Settings")}
    <.live_component diff --git a/lib/claper_web/live/event_live/manageable_post_component.ex b/lib/claper_web/live/event_live/manageable_post_component.ex index fe04232..68ba5b5 100644 --- a/lib/claper_web/live/event_live/manageable_post_component.ex +++ b/lib/claper_web/live/event_live/manageable_post_component.ex @@ -26,12 +26,12 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do /> - <%= gettext("Question") %> + {gettext("Question")}
    <%= if @post.attendee_identifier do %> - <%= link( + {link( if @post.pinned do gettext("Unpin") else @@ -41,11 +41,11 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do phx_click: "pin", phx_value_id: @post.uuid, phx_value_event_id: @event.uuid - ) %> + )} / - <%= link(gettext("Ban"), + {link(gettext("Ban"), to: "#", phx_click: "ban", phx_value_attendee_identifier: @post.attendee_identifier, @@ -55,12 +55,12 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do "Blocking this user will delete all his messages and he will not be able to join again, confirm ?" ) ] - ) %> + )} / <% else %> - <%= link( + {link( if @post.pinned do gettext("Unpin") else @@ -70,11 +70,11 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do phx_click: "pin", phx_value_id: @post.uuid, phx_value_event_id: @event.uuid - ) %> + )} / - <%= link(gettext("Ban"), + {link(gettext("Ban"), to: "#", phx_click: "ban", phx_value_user_id: @post.user_id, @@ -84,17 +84,17 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do "Blocking this user will delete all his messages and he will not be able to join again, confirm ?" ) ] - ) %> + )} / <% end %> - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_value_id: @post.uuid, phx_value_event_id: @event.uuid - ) %> + )}
    @@ -114,12 +114,12 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
    <%= if @post.name do %>

    - <%= @post.name %> + {@post.name}

    <% end %>

    - <%= ClaperWeb.Helpers.format_body(@post.body) %> + {ClaperWeb.Helpers.format_body(@post.body)}

    @@ -130,7 +130,7 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do <%= if @post.like_count> 0 do %> - <%= @post.like_count %> + {@post.like_count} <% end %> @@ -138,7 +138,7 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do <%= if @post.love_count> 0 do %> - <%= @post.love_count %> + {@post.love_count} <% end %> @@ -146,7 +146,7 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do <%= if @post.lol_count> 0 do %> - <%= @post.lol_count %> + {@post.lol_count} <% end %> diff --git a/lib/claper_web/live/event_live/manageable_quiz_component.ex b/lib/claper_web/live/event_live/manageable_quiz_component.ex index 7a8ae47..48592c5 100644 --- a/lib/claper_web/live/event_live/manageable_quiz_component.ex +++ b/lib/claper_web/live/event_live/manageable_quiz_component.ex @@ -16,9 +16,9 @@ defmodule ClaperWeb.EventLive.ManageableQuizComponent do >

    - <%= @quiz.title %> + {@quiz.title} = 0}> - <%= Enum.at(@quiz.quiz_questions, @current_question_idx).content %> + {Enum.at(@quiz.quiz_questions, @current_question_idx).content}

    @@ -26,9 +26,9 @@ defmodule ClaperWeb.EventLive.ManageableQuizComponent do :if={@current_question_idx == -1} class={"#{if @iframe, do: "space-y-5", else: "space-y-8"} flex flex-col text-white text-center"} > -

    <%= gettext("Average score") %>:

    +

    {gettext("Average score")}:

    - <%= Claper.Quizzes.calculate_average_score(@quiz.id) %>/<%= length(@quiz.quiz_questions) %> + {Claper.Quizzes.calculate_average_score(@quiz.id)}/{length(@quiz.quiz_questions)}

    @@ -41,8 +41,8 @@ defmodule ClaperWeb.EventLive.ManageableQuizComponent do
    - <%= opt.content %> - <%= opt.percentage %>% (<%= opt.response_count %>) + {opt.content} + {opt.percentage}% ({opt.response_count})
    <% end %> diff --git a/lib/claper_web/live/event_live/manager_settings_component.ex b/lib/claper_web/live/event_live/manager_settings_component.ex index 790d384..239a2b2 100644 --- a/lib/claper_web/live/event_live/manager_settings_component.ex +++ b/lib/claper_web/live/event_live/manager_settings_component.ex @@ -19,7 +19,7 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do - <%= gettext("Interaction") %> + {gettext("Interaction")} <%= case @current_interaction do %> @@ -59,10 +59,10 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do - <%= gettext("Hide results on presentation") %> + {gettext("Hide results on presentation")} - <%= gettext("Show results on presentation") %> + {gettext("Show results on presentation")} - <%= gettext("Hide results on presentation") %> + {gettext("Hide results on presentation")} - <%= gettext("Show results on presentation") %> + {gettext("Show results on presentation")} - <%= gettext("Review questions") %> + {gettext("Review questions")}
    @@ -165,7 +165,7 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do - <%= gettext("Previous") %> + {gettext("Previous")} - <%= gettext("Next") %> + {gettext("Next")} - <%= gettext("Presentation") %> + {gettext("Presentation")}
    @@ -252,10 +252,10 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do
    - <%= gettext("Show instructions to join") %> + {gettext("Show instructions to join")} - <%= gettext("Hide instructions to join") %> + {gettext("Hide instructions to join")}
    - <%= gettext("Show messages") %> - <%= gettext("Hide messages") %> + {gettext("Show messages")} + {gettext("Hide messages")}
    - <%= gettext("Show only pinned messages") %> + {gettext("Show only pinned messages")} - <%= gettext("Show all messages") %> + {gettext("Show all messages")}
    - <%= gettext("Attendees") %> + {gettext("Attendees")}
    @@ -423,8 +423,8 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do
    - <%= gettext("Enable messages") %> - <%= gettext("Disable messages") %> + {gettext("Enable messages")} + {gettext("Disable messages")}
    - <%= gettext("Allow anonymous messages") %> + {gettext("Allow anonymous messages")} - <%= gettext("Deny anonymous messages") %> + {gettext("Deny anonymous messages")}
    - <%= gettext("Enable reactions") %> + {gettext("Enable reactions")} - <%= gettext("Disable reactions") %> + {gettext("Disable reactions")} - <%= gettext("See current poll") %> + {gettext("See current poll")} @@ -44,12 +44,12 @@ defmodule ClaperWeb.EventLive.PollComponent do -

    <%= gettext("Current poll") %>

    -

    <%= @poll.title %>

    +

    {gettext("Current poll")}

    +

    {@poll.title}

    <%= if @poll.multiple do %> -

    <%= gettext("Select one or multiple options") %>

    +

    {gettext("Select one or multiple options")}

    <% else %> -

    <%= gettext("Select one option") %>

    +

    {gettext("Select one option")}

    <% end %>
    @@ -78,10 +78,10 @@ defmodule ClaperWeb.EventLive.PollComponent do <% end %> <% end %> - <%= opt.content %> + {opt.content}
    - <%= opt.percentage %>% (<%= opt.vote_count %>) + {opt.percentage}% ({opt.vote_count}) <% else %> @@ -111,10 +111,10 @@ defmodule ClaperWeb.EventLive.PollComponent do <% end %> <% end %> - <%= opt.content %> + {opt.content} - <%= opt.percentage %>% (<%= opt.vote_count %>) + {opt.percentage}% ({opt.vote_count}) <% end %> @@ -124,7 +124,7 @@ defmodule ClaperWeb.EventLive.PollComponent do <%= if (length @selected_poll_opt) == 0 || (length @current_poll_vote) > 0 do %> <% else %> <% end %> diff --git a/lib/claper_web/live/event_live/post_component.ex b/lib/claper_web/live/event_live/post_component.ex index 3d54dc3..34ba6fc 100644 --- a/lib/claper_web/live/event_live/post_component.ex +++ b/lib/claper_web/live/event_live/post_component.ex @@ -25,12 +25,12 @@ defmodule ClaperWeb.EventLive.PostComponent do <%= if @post.name || leader?(@post, @event, @leaders) || pinned?(@post) do %>
    <%= if @post.name do %> -

    <%= @post.name %>

    +

    {@post.name}

    <% end %> <%= if leader?(@post, @event, @leaders) do %>
    - <%= gettext("Host") %> + {gettext("Host")}
    <% end %> @@ -56,7 +56,7 @@ defmodule ClaperWeb.EventLive.PostComponent do > - <%= gettext("Pinned") %> + {gettext("Pinned")}
    <% end %> @@ -67,34 +67,34 @@ defmodule ClaperWeb.EventLive.PostComponent do class="hidden absolute right-4 top-7 bg-white rounded-lg px-5 py-2 animate__faster" > - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_value_id: @post.uuid, phx_value_event_id: @event.uuid, data: [confirm: gettext("Are you sure?")] - ) %> + )} -

    <%= ClaperWeb.Helpers.format_body(@post.body) %>

    +

    {ClaperWeb.Helpers.format_body(@post.body)}

    <%= if @post.like_count > 0 do %>
    - <%= @post.like_count %> + {@post.like_count}
    <% end %> <%= if @post.love_count > 0 do %>
    - <%= @post.love_count %> + {@post.love_count}
    <% end %> <%= if @post.lol_count > 0 do %>
    - <%= @post.lol_count %> + {@post.lol_count}
    <% end %>
    @@ -104,12 +104,12 @@ defmodule ClaperWeb.EventLive.PostComponent do <%= if @post.name || leader?(@post, @event, @leaders) do %>
    <%= if @post.name do %> -

    <%= @post.name %>

    +

    {@post.name}

    <% end %> <%= if leader?(@post, @event, @leaders) do %>
    - <%= gettext("Host") %> + {gettext("Host")}
    <% end %>
    @@ -139,13 +139,13 @@ defmodule ClaperWeb.EventLive.PostComponent do class="hidden absolute right-4 top-7 bg-gray-900 rounded-lg px-5 py-2" > - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_value_id: @post.uuid, phx_value_event_id: @event.uuid, data: [confirm: gettext("Are you sure?")] - ) %> + )} <% end %> @@ -172,11 +172,11 @@ defmodule ClaperWeb.EventLive.PostComponent do >
    - <%= gettext("Pinned") %> + {gettext("Pinned")} <% end %> -

    <%= ClaperWeb.Helpers.format_body(@post.body) %>

    +

    {ClaperWeb.Helpers.format_body(@post.body)}

    <%= if @reaction_enabled do %> @@ -189,7 +189,7 @@ defmodule ClaperWeb.EventLive.PostComponent do > <%= if @post.like_count > 0 do %> - <%= @post.like_count %> + {@post.like_count} <% end %> <% else %> @@ -203,7 +203,7 @@ defmodule ClaperWeb.EventLive.PostComponent do <%= if @post.like_count > 0 do %> - <%= @post.like_count %> + {@post.like_count} <% end %> <% end %> @@ -216,7 +216,7 @@ defmodule ClaperWeb.EventLive.PostComponent do > <%= if @post.love_count > 0 do %> - <%= @post.love_count %> + {@post.love_count} <% end %> <% else %> @@ -228,7 +228,7 @@ defmodule ClaperWeb.EventLive.PostComponent do > <%= if @post.love_count > 0 do %> - <%= @post.love_count %> + {@post.love_count} <% end %> <% end %> @@ -241,7 +241,7 @@ defmodule ClaperWeb.EventLive.PostComponent do > <%= if @post.lol_count > 0 do %> - <%= @post.lol_count %> + {@post.lol_count} <% end %> <% else %> @@ -253,7 +253,7 @@ defmodule ClaperWeb.EventLive.PostComponent do > <%= if @post.lol_count > 0 do %> - <%= @post.lol_count %> + {@post.lol_count} <% end %> <% end %> diff --git a/lib/claper_web/live/event_live/presenter.html.heex b/lib/claper_web/live/event_live/presenter.html.heex index 50ba0c1..1922c8c 100644 --- a/lib/claper_web/live/event_live/presenter.html.heex +++ b/lib/claper_web/live/event_live/presenter.html.heex @@ -23,7 +23,7 @@ >
    - <%= gettext("Scan to interact in real-time") %> + {gettext("Scan to interact in real-time")}
    - <%= gettext("Or go to %{url} and use the code:", url: @host) %> + {gettext("Or go to %{url} and use the code:", url: @host)} - #<%= String.upcase(@event.code) %> + #{String.upcase(@event.code)}
    @@ -50,7 +50,7 @@ >

    - <%= @current_poll.title %> + {@current_poll.title}

    @@ -64,11 +64,11 @@
    - <%= opt.content %> + {opt.content}
    - <%= opt.percentage %>% (<%= opt.vote_count %>) + {opt.percentage}% ({opt.vote_count})
    <% end %> @@ -107,10 +107,10 @@
    <%= if post.name do %>

    - <%= post.name %> + {post.name}

    <% end %> -

    <%= post.body %>

    +

    {post.body}

    <%= if post.like_count > 0 || post.love_count > 0 || post.lol_count > 0 do %>
    @@ -120,7 +120,7 @@ src="/images/icons/thumb.svg" class={"#{if @iframe, do: "h-4", else: "h-7"}"} /> - <%= post.like_count %> + {post.like_count} <% end %>
    @@ -129,7 +129,7 @@ src="/images/icons/heart.svg" class={"#{if @iframe, do: "h-4", else: "h-7"}"} /> - <%= post.love_count %> + {post.love_count} <% end %>
    @@ -138,7 +138,7 @@ src="/images/icons/laugh.svg" class={"#{if @iframe, do: "h-4", else: "h-7"}"} /> - <%= post.lol_count %> + {post.lol_count} <% end %>
    @@ -154,10 +154,10 @@
    <%= if post.name do %>

    - <%= post.name %> + {post.name}

    <% end %> -

    <%= post.body %>

    +

    {post.body}

    <%= if post.like_count > 0 || post.love_count > 0 || post.lol_count > 0 do %>
    @@ -167,7 +167,7 @@ src="/images/icons/thumb.svg" class={"#{if @iframe, do: "h-4", else: "h-7"}"} /> - <%= post.like_count %> + {post.like_count} <% end %>
    @@ -176,7 +176,7 @@ src="/images/icons/heart.svg" class={"#{if @iframe, do: "h-4", else: "h-7"}"} /> - <%= post.love_count %> + {post.love_count} <% end %>
    @@ -185,7 +185,7 @@ src="/images/icons/laugh.svg" class={"#{if @iframe, do: "h-4", else: "h-7"}"} /> - <%= post.lol_count %> + {post.lol_count} <% end %>
    @@ -244,7 +244,7 @@
    - <%= @attendees_nb %> + {@attendees_nb}
    diff --git a/lib/claper_web/live/event_live/quiz_component.ex b/lib/claper_web/live/event_live/quiz_component.ex index 0d50032..35fbbc5 100644 --- a/lib/claper_web/live/event_live/quiz_component.ex +++ b/lib/claper_web/live/event_live/quiz_component.ex @@ -38,7 +38,7 @@ defmodule ClaperWeb.EventLive.QuizComponent do d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /> - <%= gettext("See current quiz") %> + {gettext("See current quiz")} @@ -57,13 +57,13 @@ defmodule ClaperWeb.EventLive.QuizComponent do -

    <%= gettext("Current quiz") %>

    +

    {gettext("Current quiz")}

    <%= if is_nil(@current_question) do %> -

    <%= @quiz.title %>

    +

    {@quiz.title}

    <% else %> -

    <%= @current_question.content %>

    +

    {@current_question.content}

    - <%= @current_quiz_question_idx + 1 %>/<%= length(@quiz.quiz_questions) %> + {@current_quiz_question_idx + 1}/{length(@quiz.quiz_questions)}

    <% end %> @@ -81,10 +81,10 @@ defmodule ClaperWeb.EventLive.QuizComponent do
    <% end %> - <%= opt.content %> + {opt.content} - <%= opt.percentage %>% (<%= opt.response_count %>) + {opt.percentage}% ({opt.response_count}) <% else %> @@ -102,7 +102,7 @@ defmodule ClaperWeb.EventLive.QuizComponent do <% end %> - <%= opt.content %> + {opt.content} <% end %> @@ -110,18 +110,18 @@ defmodule ClaperWeb.EventLive.QuizComponent do <% else %>
    <%= if @quiz.show_results do %> -

    <%= gettext("Your score") %>

    +

    {gettext("Your score")}

    - <%= elem(@quiz_score, 0) %>/<%= elem(@quiz_score, 1) %> + {elem(@quiz_score, 0)}/{elem(@quiz_score, 1)}

    <% else %> -

    <%= gettext("Waiting for results...") %>

    +

    {gettext("Waiting for results...")}

    <%= if @current_quiz_question_idx > 0 do %> <% end %> @@ -158,21 +158,21 @@ defmodule ClaperWeb.EventLive.QuizComponent do class={"px-3 py-2 text-white font-medium rounded-md h-full #{if @has_selection, do: "bg-primary-400 hover:bg-primary-500", else: "bg-gray-500 cursor-not-allowed"}"} disabled={not @has_selection} > - <%= gettext("Next") %> + {gettext("Next")} <% else %> <%= if is_nil(@current_user) && !@quiz.allow_anonymous do %>
    - <%= gettext("Please sign in to submit your answers") %> + {gettext("Please sign in to submit your answers")}
    - <%= link( + {link( gettext("Sign in"), target: "_blank", to: ~p"/users/log_in", class: "inline px-3 py-2 text-white font-medium rounded-md h-full bg-primary-400 hover:bg-primary-500" - ) %> + )}
    <% else %> <% end %> <% end %> @@ -195,7 +195,7 @@ defmodule ClaperWeb.EventLive.QuizComponent do > <%= if (@current_quiz_question_idx > 0 && @current_quiz_question_idx <= length(@quiz.quiz_questions) - 1) do %> <% else %>
    @@ -206,7 +206,7 @@ defmodule ClaperWeb.EventLive.QuizComponent do phx-click="next-question" class="px-3 py-2 text-white font-medium bg-primary-400 hover:bg-primary-500 rounded-md h-full" > - <%= gettext("Next") %> + {gettext("Next")}
    diff --git a/lib/claper_web/live/event_live/show.html.heex b/lib/claper_web/live/event_live/show.html.heex index a3bb9b7..70d82f8 100644 --- a/lib/claper_web/live/event_live/show.html.heex +++ b/lib/claper_web/live/event_live/show.html.heex @@ -15,7 +15,7 @@
    - <%= @event.name %> + {@event.name}
    - <%= gettext("Leave") %> + {gettext("Leave")} @@ -35,7 +35,7 @@ > @@ -45,13 +45,13 @@ class="bg-black rounded-full text-sm px-3 py-1 bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 text-white uppercase flex items-center" > - #<%= @event.code %> + #{@event.code}
    - <%= @attendees_nb %> + {@attendees_nb}
    @@ -162,7 +162,7 @@ <%= if @post_count == 0 && @state.chat_enabled do %>
    - <%= gettext("Be the first to react !") %> + {gettext("Be the first to react !")}
    <% end %> @@ -205,7 +205,7 @@ - <%= gettext("Anonymous") %> + {gettext("Anonymous")} <% else %> <% end %> @@ -246,13 +246,13 @@ - <%= gettext("Use your name") %> + {gettext("Use your name")} @@ -275,15 +275,15 @@ backdrop-filter: blur(11.5px); -webkit-backdrop-filter: blur(11.5px);" > - <%= text_input(f, :name, + {text_input(f, :name, class: "bg-transparent outline-none w-full text-white h-10 placeholder-white resize-none pr-20 leading-4 overflow-y-hidden focus:overflow-y-auto", placeholder: gettext("Enter your name") - ) %> + )}

    - <%= error_tag(f, :name) %> + {error_tag(f, :name)}

    - <%= submit(gettext("Join"), class: "absolute right-5 top-2 p-2 bg-white rounded-md") %> + {submit(gettext("Join"), class: "absolute right-5 top-2 p-2 bg-white rounded-md")} <% else %> @@ -326,9 +326,9 @@ /> <%= if @nickname && @nickname == "" do %> - <%= gettext("Anonymous") %> + {gettext("Anonymous")} <% else %> - <%= @nickname %> + {@nickname} <% end %> @@ -338,15 +338,15 @@
    - <%= textarea(f, :body, + {textarea(f, :body, id: "postFormTA", class: "bg-transparent outline-none w-full text-white h-10 placeholder-white pt-3 resize-none pr-20 leading-4 overflow-y-hidden focus:overflow-y-auto", placeholder: gettext("Ask, comment...") - ) %> + )}
    - <%= submit("Save", phx_disable_with: "Saving...", id: "hiddenSubmit", class: "hidden") %> + {submit("Save", phx_disable_with: "Saving...", id: "hiddenSubmit", class: "hidden")} <% end %> <% else %> @@ -362,7 +362,7 @@ >
    - <%= gettext("Messages deactivated") %> + {gettext("Messages deactivated")}
    @@ -420,7 +420,7 @@
    -

    <%= @event.name %>

    +

    {@event.name}

    - <%= if @remaining_days < 10, do: "0" %><%= @remaining_days %> + {if @remaining_days < 10, do: "0"}{@remaining_days} - <%= gettext("days") %> + {gettext("days")}
    - <%= if @remaining_hours < 10, do: "0" %><%= @remaining_hours %> + {if @remaining_hours < 10, do: "0"}{@remaining_hours} - <%= gettext("hours") %> + {gettext("hours")}
    - <%= if @remaining_minutes < 10, do: "0" %><%= @remaining_minutes %> + {if @remaining_minutes < 10, do: "0"}{@remaining_minutes} - <%= gettext("minutes") %> + {gettext("minutes")}
    - <%= if @remaining_seconds < 10, do: "0" %><%= @remaining_seconds %> + {if @remaining_seconds < 10, do: "0"}{@remaining_seconds} - <%= gettext("seconds") %> + {gettext("seconds")}

    @@ -461,7 +461,7 @@
    - <%= gettext("Scan to interact in real-time") %> + {gettext("Scan to interact in real-time")}
    - <%= gettext("Or use the code:") %> - #<%= String.upcase(@event.code) %> + {gettext("Or use the code:")} + #{String.upcase(@event.code)}
    diff --git a/lib/claper_web/live/form_live/form_component.html.heex b/lib/claper_web/live/form_live/form_component.html.heex index c340190..b341ea2 100644 --- a/lib/claper_web/live/form_live/form_component.html.heex +++ b/lib/claper_web/live/form_live/form_component.html.heex @@ -94,13 +94,13 @@ phx_disable_with="Loading..." class="w-full lg:w-auto px-6 text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= case @live_action do + {case @live_action do :new -> gettext("Create") :edit -> gettext("Save") - end %> + end} <%= if @live_action == :edit do %> - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_target: @myself, @@ -113,7 +113,7 @@ ], class: "w-full lg:w-auto px-6 text-center text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-supporting-red-600 to-supporting-red-400 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" - ) %> + )} <% end %> diff --git a/lib/claper_web/live/modal_component.ex b/lib/claper_web/live/modal_component.ex index f61f38a..c7abd8b 100644 --- a/lib/claper_web/live/modal_component.ex +++ b/lib/claper_web/live/modal_component.ex @@ -15,7 +15,6 @@ defmodule ClaperWeb.ModalComponent do phx-window-keydown={hide_modal()} phx-key="escape" phx-target={@myself} - phx-page-loading >

    - <%= @title %> + {@title}

    - <%= @description %> + {@description}

    - <%= render_slot(@inner_block) %> + {render_slot(@inner_block)}

    @@ -64,6 +63,6 @@ defmodule ClaperWeb.ModalComponent do def hide_modal(js \\ %JS{}) do js |> JS.hide(to: "#modal", transition: "animate__animated animate__fadeOut", time: 300) - |> JS.push("hide", target: "#modal") + |> JS.push("hide", target: "#modal", page_loading: true) end end diff --git a/lib/claper_web/live/poll_live/form_component.html.heex b/lib/claper_web/live/poll_live/form_component.html.heex index 64fe502..360d84c 100644 --- a/lib/claper_web/live/poll_live/form_component.html.heex +++ b/lib/claper_web/live/poll_live/form_component.html.heex @@ -79,21 +79,21 @@ -

    <%= gettext("Options") %>

    +

    {gettext("Options")}

    - <%= checkbox(f, :show_results, class: "h-4 w-4") %> - <%= label( + {checkbox(f, :show_results, class: "h-4 w-4")} + {label( f, :show_results, gettext("Attendees can see the results on their device"), class: "text-sm font-medium" - ) %> + )}
    - <%= checkbox(f, :multiple, class: "h-4 w-4") %> - <%= label(f, :multiple, gettext("Multiple answers"), class: "text-sm font-medium") %> + {checkbox(f, :multiple, class: "h-4 w-4")} + {label(f, :multiple, gettext("Multiple answers"), class: "text-sm font-medium")}
    @@ -102,13 +102,13 @@ phx_disable_with="Loading..." class="w-full lg:w-auto px-6 text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= case @live_action do + {case @live_action do :new -> gettext("Create") :edit -> gettext("Save") - end %> + end} <%= if @live_action == :edit do %> - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_target: @myself, @@ -121,7 +121,7 @@ ], class: "w-full lg:w-auto px-6 text-center text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-supporting-red-600 to-supporting-red-400 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" - ) %> + )} <% end %>
    diff --git a/lib/claper_web/live/quiz_live/quiz_component.html.heex b/lib/claper_web/live/quiz_live/quiz_component.html.heex index 0faf2c0..1f4de6a 100644 --- a/lib/claper_web/live/quiz_live/quiz_component.html.heex +++ b/lib/claper_web/live/quiz_live/quiz_component.html.heex @@ -33,7 +33,7 @@ if(i == 0, do: "rounded-tl-md") ]} > - <%= i + 1 %> + {i + 1} <% end %> <%= if Ecto.Changeset.get_field(@changeset, :quiz_questions) |> length() < 10 do %> @@ -43,7 +43,7 @@ class="text-xs px-3" phx-target={@myself} > - + <%= gettext("Add Question") %> + + {gettext("Add Question")} <% end %>
    @@ -67,7 +67,7 @@ <%= if Keyword.has_key?(q.errors, :quiz_question_opts) do %>

    - <%= elem(Keyword.get(q.errors, :quiz_question_opts), 0) %> + {elem(Keyword.get(q.errors, :quiz_question_opts), 0)}

    <% end %> @@ -87,7 +87,7 @@
    <%= label(class: "mt-6 cursor-pointer flex items-center text-white rounded-md px-2.5 py-2.5 h-full #{if (o.source.changes[:is_correct] != nil && o.source.changes[:is_correct]) || (!Map.has_key?(o.source.changes, :is_correct) && o.source.data.is_correct), do: "bg-green-500", else: "bg-red-500"}") do %> - <%= checkbox(o, :is_correct, class: "hidden") %> + {checkbox(o, :is_correct, class: "hidden")} <%= if (o.source.changes[:is_correct] != nil && o.source.changes[:is_correct]) || (!Map.has_key?(o.source.changes, :is_correct) && o.source.data.is_correct) do %> 1 do %>
    - <%= gettext("Delete") %> + {gettext("Delete")}
    - + <%= gettext("Add answer") %> + + {gettext("Add answer")} <%= if Ecto.Changeset.get_field(@changeset, :quiz_questions) |> length() > 1 do %>
    -

    <%= gettext("Options") %>

    +

    {gettext("Options")}

    - <%= checkbox(f, :allow_anonymous, class: "h-4 w-4") %> - <%= label( + {checkbox(f, :allow_anonymous, class: "h-4 w-4")} + {label( f, :allow_anonymous, gettext("Allow anonymous submissions"), class: "text-sm font-medium" - ) %> + )}
    @@ -189,14 +189,14 @@ disabled={!@changeset.valid?} class="w-full lg:w-auto px-6 text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500 disabled:opacity-50 disabled:cursor-not-allowed" > - <%= case @live_action do + {case @live_action do :new -> gettext("Create") :edit -> gettext("Save") - end %> + end} <%= if @live_action == :edit do %> - <%= link(gettext("Delete"), + {link(gettext("Delete"), to: "#", phx_click: "delete", phx_target: @myself, @@ -209,13 +209,13 @@ ], class: "w-full lg:w-auto px-6 text-center text-white py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-gradient-to-tl from-supporting-red-600 to-supporting-red-400 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" - ) %> + )} <% end %>
    <%= if @live_action == :edit do %> <%= link to: ~p"/export/quizzes/#{@quiz.id}/qti", class: "text-xs text-primary-500 font-medium flex items-center gap-1", method: :post, target: "_blank" do %> - <%= gettext("Export to QTI (XML)") %> + {gettext("Export to QTI (XML)")} <% end %> <% end %> diff --git a/lib/claper_web/live/stat_live/index.html.heex b/lib/claper_web/live/stat_live/index.html.heex index 765cbfd..9004f3c 100644 --- a/lib/claper_web/live/stat_live/index.html.heex +++ b/lib/claper_web/live/stat_live/index.html.heex @@ -2,7 +2,7 @@

    - <%= @page_title %> + {@page_title}

    - <%= gettext("Unique attendees") %> + {gettext("Unique attendees")}

    - <%= @distinct_attendee_count %> + {@distinct_attendee_count} - <%= ngettext("attendee", "attendees", @distinct_attendee_count) %> + {ngettext("attendee", "attendees", @distinct_attendee_count)}

    @@ -99,18 +99,18 @@

    - <%= gettext("Messages") %> + {gettext("Messages")}

    - <%= length(@posts) %> + {length(@posts)} - <%= ngettext( + {ngettext( "from %{count} people", "from %{count} peoples", @distinct_poster_count - ) %> + )}

    @@ -136,11 +136,11 @@

    - <%= gettext("Engagement rate") %> + {gettext("Engagement rate")}

    -

    <%= @engagement_rate %>%

    +

    {@engagement_rate}%

    - <%= gettext("Interactions") %> + {gettext("Interactions")}

    @@ -177,35 +177,35 @@ phx-value-tab="messages" class={"whitespace-nowrap py-4 px-1 border-b-2 font-medium text-sm #{if @current_tab == :messages, do: "border-primary-500 text-primary-600", else: "border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}"} > - <%= gettext("Messages") %> + {gettext("Messages")}
    @@ -219,7 +219,7 @@ <% total = Enum.map(poll.poll_opts, fn e -> e.vote_count end) |> Enum.sum() %>
    -

    <%= poll.title %>

    +

    {poll.title}

    <%= link to: ~p"/export/polls/#{poll.id}", class: "text-sm text-white bg-primary-500 hover:bg-primary-600 rounded-md px-3 py-1 flex items-center gap-1", method: :post, target: "_blank" do %> - <%= gettext("Export") %> (CSV) + {gettext("Export")} (CSV) <% end %>
    @@ -256,10 +256,10 @@ >
    - <%= opt.content %> + {opt.content}
    - <%= percentage %>% (<%= opt.vote_count %>) + {percentage}% ({opt.vote_count})
    <% end %> @@ -269,7 +269,7 @@ <% end %> <% else %> -

    <%= gettext("No poll has been created") %>

    +

    {gettext("No poll has been created")}

    <% end %> <% :forms -> %> @@ -278,7 +278,7 @@ <%= for form <- @event.presentation_file.forms do %>
    - <%= form.title %> + {form.title} <%= if length(form.form_submits) > 0 do %> @@ -295,14 +295,14 @@ > - <%= gettext("Export") %> (CSV) + {gettext("Export")} (CSV) <% end %> <% end %>
    <%= if length(form.form_submits) == 0 do %>

    - <%= gettext("No form submission has been sent") %> + {gettext("No form submission has been sent")}

    <% end %> @@ -325,7 +325,7 @@
    <%= for res <- fs.response do %> -

    <%= elem(res, 0) %>: <%= elem(res, 1) %>

    +

    {elem(res, 0)}: {elem(res, 1)}

    <% end %>
    @@ -335,7 +335,7 @@ <% end %> <% else %> -

    <%= gettext("No form has been created") %>

    +

    {gettext("No form has been created")}

    <% end %> <% :web_content -> %> @@ -343,7 +343,7 @@ <%= if length(@event.presentation_file.embeds) > 0 do %> <%= for embed <- @event.presentation_file.embeds do %> - <%= embed.title %> + {embed.title}
    <.live_component @@ -356,7 +356,7 @@ <% end %> <% else %>

    - <%= gettext("No web content has been created") %> + {gettext("No web content has been created")}

    <% end %>
    @@ -377,13 +377,13 @@ > - <%= gettext("Export") %> (CSV) + {gettext("Export")} (CSV) <% end %> <% end %> <%= if length(@posts) == 0 do %> -

    <%= gettext("No messages has been sent") %>

    +

    {gettext("No messages has been sent")}

    <% end %>
    @@ -405,7 +405,7 @@
    -

    <%= quiz.title %>

    +

    {quiz.title}

    <%= link to: ~p"/export/quizzes/#{quiz.id}", class: "text-sm text-white bg-primary-500 hover:bg-primary-600 rounded-md px-3 py-1 flex items-center gap-1", method: :post, target: "_blank" do %> - <%= gettext("Export") %> (CSV) + {gettext("Export")} (CSV) <% end %>

    - <%= gettext("Average score") %>: + {gettext("Average score")}: - <%= Claper.Quizzes.calculate_average_score(quiz.id) %>/<%= length( + {Claper.Quizzes.calculate_average_score(quiz.id)}/{length( quiz.quiz_questions - ) %> + )}

    - <%= gettext("Total submissions") %>: + {gettext("Total submissions")}: - <%= Claper.Quizzes.get_submission_count(quiz.id) %> + {Claper.Quizzes.get_submission_count(quiz.id)}

    @@ -443,7 +443,7 @@ <%= for {question, _idx} <- Enum.with_index(quiz.quiz_questions) do %>

    - <%= question.content %> + {question.content}

    <%= for opt <- question.quiz_question_opts do %> @@ -457,10 +457,10 @@
    <% end %> - <%= opt.content %> + {opt.content}
    - <%= opt.percentage %>% (<%= opt.response_count %>) + {opt.percentage}% ({opt.response_count})
    @@ -473,7 +473,7 @@ <% end %>
    <% else %> -

    <%= gettext("No quiz has been created") %>

    +

    {gettext("No quiz has been created")}

    <% end %> <% end %> diff --git a/lib/claper_web/live/user_settings_live/show.html.heex b/lib/claper_web/live/user_settings_live/show.html.heex index e9f59f9..69bb076 100644 --- a/lib/claper_web/live/user_settings_live/show.html.heex +++ b/lib/claper_web/live/user_settings_live/show.html.heex @@ -2,7 +2,7 @@

    - <%= gettext("My account") %> + {gettext("My account")}

    @@ -26,7 +26,7 @@ id="update_email" class="mt-5 md:flex md:items-end" > - <%= hidden_input(f, :action, name: "action", value: "update_email") %> + {hidden_input(f, :action, name: "action", value: "update_email")} - <%= submit(gettext("Save"), + {submit(gettext("Save"), phx_disable_with: "Saving...", class: "mt-2 w-full h-14 inline-flex transition-all items-center justify-center px-4 py-2 shadow-sm font-medium rounded-md text-white bg-black hover:bg-primary-500 md:mt-0 md:ml-3 md:w-auto md:text-sm" - ) %> + )}
    @@ -62,7 +62,7 @@ id="update_password" class="mt-5 md:flex md:items-end gap-x-2" > - <%= hidden_input(f, :action, name: "action", value: "update_password") %> + {hidden_input(f, :action, name: "action", value: "update_password")} - <%= submit(gettext("Save"), + {submit(gettext("Save"), phx_disable_with: "Saving...", class: "mt-2 w-full h-14 inline-flex transition-all items-center justify-center px-4 py-2 shadow-sm font-medium rounded-md text-white bg-black hover:bg-primary-500 md:mt-0 md:ml-3 md:w-auto md:text-sm" - ) %> + )} @@ -104,7 +104,7 @@ id="set_password" class="mt-5 md:flex md:items-end gap-x-2" > - <%= hidden_input(f, :action, name: "action", value: "set_password") %> + {hidden_input(f, :action, name: "action", value: "set_password")} - <%= submit(gettext("Save"), + {submit(gettext("Save"), phx_disable_with: "Saving...", class: "mt-2 w-full h-14 inline-flex transition-all items-center justify-center px-4 py-2 shadow-sm font-medium rounded-md text-white bg-black hover:bg-primary-500 md:mt-0 md:ml-3 md:w-auto md:text-sm" - ) %> + )} @@ -133,32 +133,32 @@

    - <%= gettext("Personal informations") %> + {gettext("Personal informations")}

    - <%= gettext("Your personal informations to access your account") %> + {gettext("Your personal informations to access your account")}

    - <%= gettext("Email address") %> + {gettext("Email address")}
    - <%= @current_user.email %> + {@current_user.email} <.link patch={~p"/users/settings/edit/email"} class="rounded-md font-medium text-purple-600 hover:text-purple-500" > - <%= gettext("Change") %> + {gettext("Change")}
    - <%= gettext("Password") %> + {gettext("Password")}
    ******** @@ -167,20 +167,20 @@ patch={~p"/users/settings/edit/password"} class="rounded-md font-medium text-purple-600 hover:text-purple-500" > - <%= gettext("Change") %> + {gettext("Change")}
    - <%= gettext("Accounts linked") %> + {gettext("Accounts linked")}
    <%= for account <- @oidc_accounts do %>
    - <%= account.provider %> + {account.provider}
    - <%= account.organization %> + {account.organization}
    @@ -208,7 +208,7 @@ data-confirm={gettext("Are you sure you want to unlink this account?")} class="font-medium text-red-600 hover:text-red-500" > - <%= gettext("Unlink") %> + {gettext("Unlink")}
    @@ -217,7 +217,7 @@
    - LMS #<%= account.registration_id %> + LMS #{account.registration_id}
    @@ -238,17 +238,17 @@

    - <%= gettext("Preferences") %> + {gettext("Preferences")}

    - <%= gettext("Customize your account") %> + {gettext("Customize your account")}

    diff --git a/lib/claper_web/templates/error/500.html.heex b/lib/claper_web/templates/error/500.html.heex index 6162aa6..0315d1b 100644 --- a/lib/claper_web/templates/error/500.html.heex +++ b/lib/claper_web/templates/error/500.html.heex @@ -4,7 +4,7 @@ - <%= csrf_meta_tag() %> + {csrf_meta_tag()} Not found - Claper @@ -28,13 +28,13 @@

    - <%= gettext("The site is under maintenance, we'll be back very soon!") %> + {gettext("The site is under maintenance, we'll be back very soon!")}

    diff --git a/lib/claper_web/templates/error/csrf_error.html.heex b/lib/claper_web/templates/error/csrf_error.html.heex index bebb46a..7fb1f80 100644 --- a/lib/claper_web/templates/error/csrf_error.html.heex +++ b/lib/claper_web/templates/error/csrf_error.html.heex @@ -2,31 +2,31 @@

    - <%= gettext("CSRF Verification Failed") %> + {gettext("CSRF Verification Failed")}

    - <%= gettext("A required security token was not found or was invalid.") %> + {gettext("A required security token was not found or was invalid.")}

    - <%= gettext("If you're continually seeing this issue, try the following:") %> + {gettext("If you're continually seeing this issue, try the following:")}

      -
    1. <%= gettext("Clear cookies (at least for Claper domain)") %>
    2. -
    3. <%= gettext("Reload the page you're trying to access (don't re-submit data)") %>
    4. -
    5. <%= gettext("Try logging in again") %>
    6. -
    7. <%= gettext("Ensure the URL does not contain an extra \"/\" anywhere") %>
    8. +
    9. {gettext("Clear cookies (at least for Claper domain)")}
    10. +
    11. {gettext("Reload the page you're trying to access (don't re-submit data)")}
    12. +
    13. {gettext("Try logging in again")}
    14. +
    15. {gettext("Ensure the URL does not contain an extra \"/\" anywhere")}

    - <%= gettext("If the problem persists, please contact support.") %> + {gettext("If the problem persists, please contact support.")}

    - <%= link(gettext("Back to Login"), + {link(gettext("Back to Login"), to: ~p"/users/log_in", class: "text-blue underline font-semibold transition duration-300 ease-in-out" - ) %> + )}
    diff --git a/lib/claper_web/templates/layout/_avatar.html.heex b/lib/claper_web/templates/layout/_avatar.html.heex index 917ca9e..83f05de 100644 --- a/lib/claper_web/templates/layout/_avatar.html.heex +++ b/lib/claper_web/templates/layout/_avatar.html.heex @@ -4,9 +4,9 @@ <% else %>
    <%= if @user.full_name do %> - <%= with [first | _] <- String.codepoints(@user.full_name), do: String.capitalize(first) %> + {with [first | _] <- String.codepoints(@user.full_name), do: String.capitalize(first)} <% else %> - <%= with [first | _] <- String.codepoints(@user.email), do: String.capitalize(first) %> + {with [first | _] <- String.codepoints(@user.email), do: String.capitalize(first)} <% end %>
    <% end %> diff --git a/lib/claper_web/templates/layout/_profile_dropdown.html.heex b/lib/claper_web/templates/layout/_profile_dropdown.html.heex index c20e3c5..b1f11d8 100644 --- a/lib/claper_web/templates/layout/_profile_dropdown.html.heex +++ b/lib/claper_web/templates/layout/_profile_dropdown.html.heex @@ -20,7 +20,7 @@ aria-haspopup="true" > Open user menu - + - <%= render("_user_menu.html", conn: @conn, user: @user) %> + {render("_user_menu.html", conn: @conn, user: @user)}
    diff --git a/lib/claper_web/templates/layout/_user_menu.html.heex b/lib/claper_web/templates/layout/_user_menu.html.heex index 925e439..7053d56 100644 --- a/lib/claper_web/templates/layout/_user_menu.html.heex +++ b/lib/claper_web/templates/layout/_user_menu.html.heex @@ -3,24 +3,24 @@ href={~p"/users/settings"} class="text-gray-700 block px-4 py-2 text-sm hover:bg-gray-100 hover:text-gray-900" > - <%= gettext("My account") %> + {gettext("My account")} - <%= gettext("Documentation") %> + {gettext("Documentation")}
    - <%= link(gettext("Logout"), + {link(gettext("Logout"), to: ~p"/users/log_out", method: :delete, class: "text-gray-700 block px-4 py-2 text-sm hover:bg-gray-100 hover:text-gray-900" - ) %> + )}

    - Version <%= Application.spec(:claper, :vsn) %> + Version {Application.spec(:claper, :vsn)}

    diff --git a/lib/claper_web/templates/layout/app.html.heex b/lib/claper_web/templates/layout/app.html.heex index aa07106..5e15891 100644 --- a/lib/claper_web/templates/layout/app.html.heex +++ b/lib/claper_web/templates/layout/app.html.heex @@ -8,4 +8,4 @@ <% end %>
    -<%= @inner_content %> +{@inner_content} diff --git a/lib/claper_web/templates/layout/email.html.heex b/lib/claper_web/templates/layout/email.html.heex index 7754e14..1746023 100644 --- a/lib/claper_web/templates/layout/email.html.heex +++ b/lib/claper_web/templates/layout/email.html.heex @@ -58,7 +58,7 @@   - <%= @inner_content %> + {@inner_content} diff --git a/lib/claper_web/templates/layout/live.html.heex b/lib/claper_web/templates/layout/live.html.heex index 3b69ea9..5e15891 100644 --- a/lib/claper_web/templates/layout/live.html.heex +++ b/lib/claper_web/templates/layout/live.html.heex @@ -1,11 +1,11 @@
    - <%= if live_flash(@flash, :info) do %> - + <%= if Phoenix.Flash.get(@flash, :info) do %> + <% end %> - <%= if live_flash(@flash, :error) do %> - + <%= if Phoenix.Flash.get(@flash, :error) do %> + <% end %>
    -<%= @inner_content %> +{@inner_content} diff --git a/lib/claper_web/templates/layout/root.html.heex b/lib/claper_web/templates/layout/root.html.heex index 9a903ea..a206ab9 100644 --- a/lib/claper_web/templates/layout/root.html.heex +++ b/lib/claper_web/templates/layout/root.html.heex @@ -4,8 +4,8 @@ - <%= csrf_meta_tag() %> - <.live_title suffix=" · Claper" )><%= assigns[:page_title] || "Claper" %> + {csrf_meta_tag()} + <.live_title suffix=" · Claper" )>{assigns[:page_title] || "Claper"} @@ -17,7 +17,7 @@
    - <%= @inner_content %> + {@inner_content}
    diff --git a/lib/claper_web/templates/layout/user.html.heex b/lib/claper_web/templates/layout/user.html.heex index 37f0a0b..5106cfe 100644 --- a/lib/claper_web/templates/layout/user.html.heex +++ b/lib/claper_web/templates/layout/user.html.heex @@ -4,8 +4,8 @@ - <%= csrf_meta_tag() %> - <.live_title suffix=" · Claper" )><%= assigns[:page_title] || "Claper" %> + {csrf_meta_tag()} + <.live_title suffix=" · Claper" )>{assigns[:page_title] || "Claper"} @@ -16,9 +16,9 @@
    - <%= render("_profile_dropdown.html", user: @current_user, conn: @conn) %> + {render("_profile_dropdown.html", user: @current_user, conn: @conn)}
    - <%= @inner_content %> + {@inner_content}
    diff --git a/lib/claper_web/templates/leader_notifier/invitation.html.heex b/lib/claper_web/templates/leader_notifier/invitation.html.heex index c6699f5..d821fd8 100644 --- a/lib/claper_web/templates/leader_notifier/invitation.html.heex +++ b/lib/claper_web/templates/leader_notifier/invitation.html.heex @@ -14,25 +14,25 @@

    - <%= gettext("You have been invited") %> + {gettext("You have been invited")}

    - <%= gettext("Someone invited you to manage the event: %{name}", name: @event_name) %> + {gettext("Someone invited you to manage the event: %{name}", name: @event_name)}

    - <%= gettext( + {gettext( "To accept the invitation, please login or create an account with this email: %{email}", email: @leader_email - ) %> + )}

    - <%= gettext("Login or create account") %> + {gettext("Login or create account")} @@ -42,11 +42,11 @@

    - <%= gettext( + {gettext( "If you’re having trouble with the button above, copy and paste the URL below into your web browser" - ) %>. + )}.

    -

    <%= @url %>

    +

    {@url}

    diff --git a/lib/claper_web/templates/lti/launch/error.html.heex b/lib/claper_web/templates/lti/launch/error.html.heex index 6732aee..46cd829 100644 --- a/lib/claper_web/templates/lti/launch/error.html.heex +++ b/lib/claper_web/templates/lti/launch/error.html.heex @@ -2,11 +2,11 @@

    - <%= gettext("Oops") %> + {gettext("Oops")}

    - <%= gettext("You cannot perform this action") %> + {gettext("You cannot perform this action")}

    <%= @msg %>
    @@ -14,7 +14,7 @@ class="mx-auto mt-8 flex justify-center text-white p-4 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline shadow-lg bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" onclick="window.close()" > - <%= gettext("Close") %> + {gettext("Close")}
    diff --git a/lib/claper_web/templates/lti/registration/new.html.heex b/lib/claper_web/templates/lti/registration/new.html.heex index 4bed03f..0dfdc8c 100644 --- a/lib/claper_web/templates/lti/registration/new.html.heex +++ b/lib/claper_web/templates/lti/registration/new.html.heex @@ -21,10 +21,10 @@

    - <%= gettext("Bring Claper to your LMS") %> + {gettext("Bring Claper to your LMS")}

    - <%= gettext("Register your platform") %> + {gettext("Register your platform")}

    @@ -37,10 +37,10 @@ type="submit" class="flex justify-center text-white p-4 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline shadow-lg bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Add Claper") %> + {gettext("Add Claper")}

    - <%= gettext("You must login to continue") %> + {gettext("You must login to continue")}

    diff --git a/lib/claper_web/templates/lti/registration/success.html.heex b/lib/claper_web/templates/lti/registration/success.html.heex index e753eca..3edd9b9 100644 --- a/lib/claper_web/templates/lti/registration/success.html.heex +++ b/lib/claper_web/templates/lti/registration/success.html.heex @@ -2,19 +2,19 @@

    - <%= gettext("Registration completed") %> + {gettext("Registration completed")}

    - <%= gettext("Your next steps") %>: + {gettext("Your next steps")}:

      -
    1. <%= gettext("Activate the tool in your LMS") %>
    2. -
    3. <%= gettext("Configure it to be opened in a new window") %>
    4. +
    5. {gettext("Activate the tool in your LMS")}
    6. +
    7. {gettext("Configure it to be opened in a new window")}
    8. - <%= gettext("Check the permissions to share name and email of users") %> + {gettext("Check the permissions to share name and email of users")}
    @@ -23,7 +23,7 @@ class="mx-auto mt-8 flex justify-center text-white p-4 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline shadow-lg bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" onclick="(window.opener || window.parent).postMessage({subject:'org.imsglobal.lti.close'}, '*');" > - <%= gettext("Finish") %> + {gettext("Finish")}
    diff --git a/lib/claper_web/templates/page/user_confirmation/edit.html.heex b/lib/claper_web/templates/page/user_confirmation/edit.html.heex index 16087e6..f776bab 100644 --- a/lib/claper_web/templates/page/user_confirmation/edit.html.heex +++ b/lib/claper_web/templates/page/user_confirmation/edit.html.heex @@ -2,12 +2,12 @@ <.form :let={_f} for={:user} action={~p"/users/confirm/#{@token}"}>
    - <%= submit("Confirm my account") %> + {submit("Confirm my account")}

    - <%= link("Register", to: ~p"/users/register") %> | <%= link("Log in", + {link("Register", to: ~p"/users/register")} | {link("Log in", to: ~p"/users/log_in" - ) %> + )}

    diff --git a/lib/claper_web/templates/page/user_confirmation/new.html.heex b/lib/claper_web/templates/page/user_confirmation/new.html.heex index cf4fbb0..510ca1c 100644 --- a/lib/claper_web/templates/page/user_confirmation/new.html.heex +++ b/lib/claper_web/templates/page/user_confirmation/new.html.heex @@ -1,16 +1,16 @@

    Resend confirmation instructions

    <.form :let={f} for={:user} action={~p"/users/confirm"}> - <%= label(f, :email) %> - <%= email_input(f, :email, required: true) %> + {label(f, :email)} + {email_input(f, :email, required: true)}
    - <%= submit("Resend confirmation instructions") %> + {submit("Resend confirmation instructions")}

    - <%= link("Register", to: ~p"/users/register") %> | <%= link("Log in", + {link("Register", to: ~p"/users/register")} | {link("Log in", to: ~p"/users/log_in" - ) %> + )}

    diff --git a/lib/claper_web/templates/user_confirmation/new.html.heex b/lib/claper_web/templates/user_confirmation/new.html.heex index 46f92e4..b69d53e 100644 --- a/lib/claper_web/templates/user_confirmation/new.html.heex +++ b/lib/claper_web/templates/user_confirmation/new.html.heex @@ -1,16 +1,16 @@

    Resend confirmation instructions

    <%= form_for :user, ~p"/users/confirm", fn f -> %> - <%= label(f, :email) %> - <%= email_input(f, :email, required: true) %> + {label(f, :email)} + {email_input(f, :email, required: true)}
    - <%= submit("Resend confirmation instructions") %> + {submit("Resend confirmation instructions")}
    <% end %>

    - <%= link("Register", to: ~p"/users/register") %> | <%= link("Log in", + {link("Register", to: ~p"/users/register")} | {link("Log in", to: ~p"/users/log_in" - ) %> + )}

    diff --git a/lib/claper_web/templates/user_notifier/change.html.heex b/lib/claper_web/templates/user_notifier/change.html.heex index 4e5b3f5..cbeb892 100644 --- a/lib/claper_web/templates/user_notifier/change.html.heex +++ b/lib/claper_web/templates/user_notifier/change.html.heex @@ -14,22 +14,22 @@

    - <%= gettext("Confirm email") %> + {gettext("Confirm email")}

    - <%= gettext("You can change your email by visiting the URL below") %> + {gettext("You can change your email by visiting the URL below")}

    - <%= gettext("CONFIRM EMAIL") %> + {gettext("CONFIRM EMAIL")}

    - <%= gettext("If you didn't create an account with us, please ignore this.") %> + {gettext("If you didn't create an account with us, please ignore this.")}

    @@ -39,11 +39,11 @@

    - <%= gettext( + {gettext( "If you’re having trouble with the button above, copy and paste the URL below into your web browser" - ) %>. + )}.

    -

    <%= @url %>

    +

    {@url}

    diff --git a/lib/claper_web/templates/user_notifier/confirm.html.heex b/lib/claper_web/templates/user_notifier/confirm.html.heex index 749a792..49e31a4 100644 --- a/lib/claper_web/templates/user_notifier/confirm.html.heex +++ b/lib/claper_web/templates/user_notifier/confirm.html.heex @@ -14,22 +14,22 @@

    - <%= gettext("Confirm account") %> + {gettext("Confirm account")}

    - <%= gettext("You can confirm your account by visiting the URL below") %> + {gettext("You can confirm your account by visiting the URL below")}

    - <%= gettext("CONFIRM ACCOUNT") %> + {gettext("CONFIRM ACCOUNT")}

    - <%= gettext("If you didn't create an account with us, please ignore this.") %> + {gettext("If you didn't create an account with us, please ignore this.")}

    @@ -39,11 +39,11 @@

    - <%= gettext( + {gettext( "If you’re having trouble with the button above, copy and paste the URL below into your web browser" - ) %>. + )}.

    -

    <%= @url %>

    +

    {@url}

    diff --git a/lib/claper_web/templates/user_notifier/magic.html.heex b/lib/claper_web/templates/user_notifier/magic.html.heex index 8ead688..7fc359f 100644 --- a/lib/claper_web/templates/user_notifier/magic.html.heex +++ b/lib/claper_web/templates/user_notifier/magic.html.heex @@ -14,22 +14,22 @@

    - <%= gettext("Connect to Claper") %> + {gettext("Connect to Claper")}

    - <%= gettext("You can log into your account by clicking here.") %> + {gettext("You can log into your account by clicking here.")}

    - <%= gettext("ACCESS TO MY ACCOUNT") %> + {gettext("ACCESS TO MY ACCOUNT")}

    - <%= gettext("If you didn't create an account with us, please ignore this.") %> + {gettext("If you didn't create an account with us, please ignore this.")}

    @@ -39,11 +39,11 @@

    - <%= gettext( + {gettext( "If you’re having trouble with the button above, copy and paste the URL below into your web browser" - ) %>. + )}.

    -

    <%= @url %>

    +

    {@url}

    diff --git a/lib/claper_web/templates/user_notifier/reset.html.heex b/lib/claper_web/templates/user_notifier/reset.html.heex index 4123497..5bb968c 100644 --- a/lib/claper_web/templates/user_notifier/reset.html.heex +++ b/lib/claper_web/templates/user_notifier/reset.html.heex @@ -14,22 +14,22 @@

    - <%= gettext("Reset password") %> + {gettext("Reset password")}

    - <%= gettext("You can reset your password by visiting the URL below") %> + {gettext("You can reset your password by visiting the URL below")}

    - <%= gettext("RESET PASSWORD") %> + {gettext("RESET PASSWORD")}

    - <%= gettext("If you didn't create an account with us, please ignore this.") %> + {gettext("If you didn't create an account with us, please ignore this.")}

    @@ -39,11 +39,11 @@

    - <%= gettext( + {gettext( "If you’re having trouble with the button above, copy and paste the URL below into your web browser" - ) %>. + )}.

    -

    <%= @url %>

    +

    {@url}

    diff --git a/lib/claper_web/templates/user_notifier/welcome.html.heex b/lib/claper_web/templates/user_notifier/welcome.html.heex index 9f04aaf..14f1906 100644 --- a/lib/claper_web/templates/user_notifier/welcome.html.heex +++ b/lib/claper_web/templates/user_notifier/welcome.html.heex @@ -14,59 +14,59 @@

    - <%= gettext("Welcome !") %> + {gettext("Welcome !")}

    - <%= gettext( + {gettext( "Congrats! You've taken the first step to improving your presentations. Here are the next steps to create step up your presentations with Claper:" - ) %> + )}

    1. - <%= raw( + {raw( gettext( "Export your current presentation to PDF from your favorite slide presentation software (PowerPoint, etc)" ) - ) %> + )}
    2. - <%= raw( + {raw( gettext( "Click on the create button on your dashboard" ) - ) %> + )}
    3. - <%= raw( + {raw( gettext( "Choose a name for your event, a code for your attendees to join and dates when your attendees could start interacting" ) - ) %> + )}
    4. - <%= raw( + {raw( gettext( "Wait few minutes for your file to be processed" ) - ) %> + )}
    5. - <%= raw( + {raw( gettext( "Click on Present/Customize to add interaction on your slides" ) - ) %> + )}
    6. - <%= raw( + {raw( gettext( "Click Start to open your presentation and move the window on the big screen" ) - ) %> + )}
    7. -
    8. <%= gettext("Enjoy ! ✨") %>
    9. +
    10. {gettext("Enjoy ! ✨")}
    diff --git a/lib/claper_web/templates/user_registration/confirm.html.heex b/lib/claper_web/templates/user_registration/confirm.html.heex index eea8f68..9d04dba 100644 --- a/lib/claper_web/templates/user_registration/confirm.html.heex +++ b/lib/claper_web/templates/user_registration/confirm.html.heex @@ -10,23 +10,23 @@

    <%= if @conn.query_params["retry"] do %> - <%= gettext("We already sent you an email to login, please retry in 5 minutes.") %> + {gettext("We already sent you an email to login, please retry in 5 minutes.")} <% else %> <%= if @conn.query_params["email"] do %> - <%= gettext("We sent you an email at") <> + {gettext("We sent you an email at") <> " #{@conn.query_params["email"]}" <> - gettext(", click on the provided link to connect (check your spam !)") %> + gettext(", click on the provided link to connect (check your spam !)")} <% else %> - <%= gettext( + {gettext( "We sent you an email, click on the provided link to connect (check your spam !)" - ) %> + )} <% end %> <% end %>

    <.link href={~p"/"} class="text-sm text-white underline"> - <%= gettext("back to the home page") %> + {gettext("back to the home page")}
    diff --git a/lib/claper_web/templates/user_registration/new.html.heex b/lib/claper_web/templates/user_registration/new.html.heex index 478c954..f8fb41a 100644 --- a/lib/claper_web/templates/user_registration/new.html.heex +++ b/lib/claper_web/templates/user_registration/new.html.heex @@ -9,7 +9,7 @@

    - <%= gettext("Join the Claper experience") %> + {gettext("Join the Claper experience")}

    @@ -43,7 +43,7 @@ type="submit" class="w-full flex justify-center text-white p-4 rounded-full tracking-wide font-bold focus:outline-none focus:shadow-outline shadow-lg bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Create account") %> + {gettext("Create account")} diff --git a/lib/claper_web/templates/user_reset_password/edit.html.heex b/lib/claper_web/templates/user_reset_password/edit.html.heex index 4c59a67..b42211a 100644 --- a/lib/claper_web/templates/user_reset_password/edit.html.heex +++ b/lib/claper_web/templates/user_reset_password/edit.html.heex @@ -9,7 +9,7 @@

    - <%= gettext("Reset your password") %> + {gettext("Reset your password")}

    @@ -48,7 +48,7 @@ type="submit" class="w-full flex justify-center text-white p-4 rounded-full tracking-wide font-bold focus:outline-none focus:shadow-outline shadow-lg bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Confirm new password") %> + {gettext("Confirm new password")} diff --git a/lib/claper_web/templates/user_reset_password/new.html.heex b/lib/claper_web/templates/user_reset_password/new.html.heex index 41e79db..b1d8b7f 100644 --- a/lib/claper_web/templates/user_reset_password/new.html.heex +++ b/lib/claper_web/templates/user_reset_password/new.html.heex @@ -9,7 +9,7 @@

    - <%= gettext("Reset your password") %> + {gettext("Reset your password")}

    @@ -33,7 +33,7 @@ type="submit" class="w-full flex justify-center text-white p-4 rounded-full tracking-wide font-bold focus:outline-none focus:shadow-outline shadow-lg bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Send link to reset password") %> + {gettext("Send link to reset password")} diff --git a/lib/claper_web/templates/user_session/new.html.heex b/lib/claper_web/templates/user_session/new.html.heex index a4830dd..c4599d0 100644 --- a/lib/claper_web/templates/user_session/new.html.heex +++ b/lib/claper_web/templates/user_session/new.html.heex @@ -19,10 +19,10 @@

    - <%= gettext("It's time to empower your presentations.") %> + {gettext("It's time to empower your presentations.")}

    - <%= gettext("Connect to your account") %> + {gettext("Connect to your account")}

    @@ -59,7 +59,7 @@ type="submit" class="w-full flex justify-center text-white p-4 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline shadow-lg bg-gradient-to-tl from-primary-500 to-secondary-500 bg-size-200 bg-pos-0 hover:bg-pos-100 transition-all duration-500" > - <%= gettext("Login") %> + {gettext("Login")} @@ -71,20 +71,20 @@ "w-full flex justify-center items-center gap-x-2 py-2 px-4 rounded-md shadow-sm text-sm font-medium text-white border-2 border-secondary-500 hover:bg-secondary-500 hover:bg-opacity-40" ) do %> - <%= gettext("Login with %{provider}", provider: @oidc_provider_name) %> + {gettext("Login with %{provider}", provider: @oidc_provider_name)} <% end %>
    - <%= link(gettext("Forgot your password?"), + {link(gettext("Forgot your password?"), to: ~p"/users/reset_password", class: "text-white text-sm text-center" - ) %> + )} <%= if Application.get_env(:claper, :enable_account_creation) do %> - • <%= link(gettext("Create account"), + • {link(gettext("Create account"), to: ~p"/users/register", class: "text-white text-sm text-center" - ) %> + )} <% end %>
    diff --git a/lib/claper_web/views/components/alert_component.ex b/lib/claper_web/views/components/alert_component.ex index 7ec1115..a7ab67b 100644 --- a/lib/claper_web/views/components/alert_component.ex +++ b/lib/claper_web/views/components/alert_component.ex @@ -32,7 +32,7 @@ defmodule ClaperWeb.Component.Alert do

    - <%= @message %> + {@message}

    @@ -72,7 +72,7 @@ defmodule ClaperWeb.Component.Alert do

    - <%= @message %> + {@message}

    diff --git a/lib/claper_web/views/components/input_component.ex b/lib/claper_web/views/components/input_component.ex index 9994328..dd4c711 100644 --- a/lib/claper_web/views/components/input_component.ex +++ b/lib/claper_web/views/components/input_component.ex @@ -19,9 +19,9 @@ defmodule ClaperWeb.Component.Input do ~H"""
    - <%= label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}") %> + {label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}")}
    - <%= text_input(@form, @key, + {text_input(@form, @key, required: @required, readonly: @readonly, autofocus: @autofocus, @@ -32,10 +32,10 @@ defmodule ClaperWeb.Component.Input do maxlength: @maxlength, class: "#{@fieldClass} read-only:opacity-50 outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 focus:ring-2 block w-full text-lg border-gray-300 rounded-md py-2 px-3" - ) %> + )}
    <%= if Keyword.has_key?(@form.errors, @key) do %> -

    <%= error_tag(@form, @key) %>

    +

    {error_tag(@form, @key)}

    <% end %>
    """ @@ -54,9 +54,9 @@ defmodule ClaperWeb.Component.Input do ~H"""
    - <%= label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}") %> + {label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}")}
    - <%= text_input(@form, @key, + {text_input(@form, @key, required: @required, readonly: @readonly, autofocus: @autofocus, @@ -65,10 +65,10 @@ defmodule ClaperWeb.Component.Input do value: @value, class: "#{@fieldClass} read-only:opacity-50 outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 focus:ring-2 block w-full text-lg border-gray-300 rounded-md py-2 px-3" - ) %> + )}
    <%= if Keyword.has_key?(@form.errors, @key) do %> -

    <%= error_tag(@form, @key) %>

    +

    {error_tag(@form, @key)}

    <% end %>
    """ @@ -85,19 +85,19 @@ defmodule ClaperWeb.Component.Input do ~H"""
    - <%= label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}") %> + {label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}")}
    - <%= select(@form, @key, @array, + {select(@form, @key, @array, required: @required, autofocus: @autofocus, placeholder: @placeholder, autocomplete: @key, class: "#{@fieldClass} outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-2 px-3" - ) %> + )}
    <%= if Keyword.has_key?(@form.errors, @key) do %> -

    <%= error_tag(@form, @key) %>

    +

    {error_tag(@form, @key)}

    <% end %>
    """ @@ -156,7 +156,7 @@ defmodule ClaperWeb.Component.Input do phx-key={@shortcut} phx-window-keydown={if @shortcut && not @disabled, do: checked(@checked, @key)} > - <%= render_slot(@inner_block) %> + {render_slot(@inner_block)} """ end @@ -201,14 +201,14 @@ defmodule ClaperWeb.Component.Input do ~H"""
    - <%= label(@form, @key, @name, class: "block text-sm font-medium text-gray-700") %> + {label(@form, @key, @name, class: "block text-sm font-medium text-gray-700")}
    code - <%= text_input(@form, @key, + {text_input(@form, @key, required: @required, readonly: @readonly, placeholder: @placeholder, @@ -218,10 +218,10 @@ defmodule ClaperWeb.Component.Input do maxlength: 10, class: "read-only:opacity-50 outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-2 pr-3 pl-9 uppercase" - ) %> + )}
    <%= if Keyword.has_key?(@form.errors, @key) do %> -

    <%= error_tag(@form, @key) %>

    +

    {error_tag(@form, @key)}

    <% end %>
    """ @@ -238,20 +238,20 @@ defmodule ClaperWeb.Component.Input do ~H"""
    - <%= label(@form, @key, @name, class: "block text-sm font-medium text-gray-700") %> + {label(@form, @key, @name, class: "block text-sm font-medium text-gray-700")}
    - <%= hidden_input(@form, @key) %> - <%= text_input(@form, :local_date, + {hidden_input(@form, @key)} + {text_input(@form, :local_date, autofocus: @autofocus, placeholder: @placeholder, autocomplete: false, class: "outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-2 px-3 read-only:opacity-50" - ) %> + )}
    <%= if Keyword.has_key?(@form.errors, @key) do %> -

    <%= error_tag(@form, @key) %>

    +

    {error_tag(@form, @key)}

    <% end %>
    @@ -271,9 +271,9 @@ defmodule ClaperWeb.Component.Input do ~H"""
    - <%= label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}") %> + {label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}")}
    - <%= email_input(@form, @key, + {email_input(@form, @key, required: @required, autofocus: @autofocus, placeholder: @placeholder, @@ -284,10 +284,10 @@ defmodule ClaperWeb.Component.Input do "#{@fieldClass} read-only:opacity-50 shadow-base block w-full text-lg focus:ring-primary-500 focus:ring-2 outline-none rounded-md py-2 px-3", "x-model": "input", "x-ref": "input" - ) %> + )}
    <%= if Keyword.has_key?(@form.errors, @key) do %> -

    <%= error_tag(@form, @key) %>

    +

    {error_tag(@form, @key)}

    <% end %>
    """ @@ -305,9 +305,9 @@ defmodule ClaperWeb.Component.Input do ~H"""
    - <%= label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}") %> + {label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}")}
    - <%= password_input(@form, @key, + {password_input(@form, @key, required: @required, autofocus: @autofocus, placeholder: @placeholder, @@ -315,10 +315,10 @@ defmodule ClaperWeb.Component.Input do "#{@fieldClass} shadow-base block w-full text-lg focus:ring-primary-500 focus:ring-2 outline-none rounded-md py-2 px-3", "x-model": "input", "x-ref": "input" - ) %> + )}
    <%= if Keyword.has_key?(@form.errors, @key) do %> -

    <%= error_tag(@form, @key) %>

    +

    {error_tag(@form, @key)}

    <% end %>
    """ diff --git a/lib/claper_web/views/error_helpers.ex b/lib/claper_web/views/error_helpers.ex index c569245..f494420 100644 --- a/lib/claper_web/views/error_helpers.ex +++ b/lib/claper_web/views/error_helpers.ex @@ -3,18 +3,16 @@ defmodule ClaperWeb.ErrorHelpers do Conveniences for translating and building error messages. """ - import Phoenix.HTML.Form use PhoenixHTMLHelpers @doc """ Generates tag for inlined form input errors. """ def error_tag(form, field) do - Enum.map(Keyword.get_values(form.errors, field), fn error -> - content_tag(:span, translate_error(error), - class: "invalid-feedback", - phx_feedback_for: input_name(form, field) - ) + errors = if Phoenix.Component.used_input?(form[field]), do: form[field].errors, else: [] + + Enum.map(errors, fn error -> + content_tag(:span, translate_error(error), class: "invalid-feedback") end) end diff --git a/mix.exs b/mix.exs index 4987f7e..efa0d62 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule Claper.MixProject do use Mix.Project - @version "2.3.3" + @version "2.4.0" def project do [ @@ -87,7 +87,7 @@ defmodule Claper.MixProject do {:phoenix_html, "~> 4.2"}, {:phoenix_html_helpers, "~> 1.0"}, {:phoenix_live_reload, "~> 1.6", only: :dev}, - {:phoenix_live_view, "~> 0.20.14"}, + {:phoenix_live_view, "~> 1.0"}, {:phoenix_swoosh, "~> 1.2.1"}, {:phoenix_view, "~> 2.0"}, {:floki, ">= 0.36.1", only: :test}, diff --git a/mix.lock b/mix.lock index dddc644..c94c2e1 100644 --- a/mix.lock +++ b/mix.lock @@ -9,7 +9,7 @@ "cowboy": {:hex, :cowboy, "2.13.0", "09d770dd5f6a22cc60c071f432cd7cb87776164527f205c5a6b0f24ff6b38990", [:make, :rebar3], [{:cowlib, ">= 2.14.0 and < 3.0.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, ">= 1.8.0 and < 3.0.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "e724d3a70995025d654c1992c7b11dbfea95205c047d86ff9bf1cda92ddc5614"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.15.0", "3c97a318a933962d1c12b96ab7c1d728267d2c523c25a5b57b0f93392b6e9e25", [:make, :rebar3], [], "hexpm", "4f00c879a64b4fe7c8fcb42a4281925e9ffdb928820b03c3ad325a617e857532"}, - "credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"}, + "credo": {:hex, :credo, "1.7.12", "9e3c20463de4b5f3f23721527fcaf16722ec815e70ff6c60b86412c695d426c1", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8493d45c656c5427d9c729235b99d498bd133421f3e0a683e5c1b561471291e5"}, "csv": {:hex, :csv, "3.2.2", "452f96414b39a176b7c390af6d8b78f15130dc6167fe3b836729131f515d843e", [:mix], [], "hexpm", "cbf256ff74a3fa01d9ec420d07b19c90d410ed9fe5b6d6e1bc7662edf35bc574"}, "dart_sass": {:hex, :dart_sass, "0.7.0", "7979e056cb74fd6843e1c72db763cffc7726a9192a657735b7d24c0d9c26a1ce", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "4a8e70bca41aa00846398abdf5ad8a64d7907a0f7bf40145cd2e40d5971629f2"}, "db_connection": {:hex, :db_connection, "2.8.0", "64fd82cfa6d8e25ec6660cea73e92a4cbc6a18b31343910427b702838c4b33b2", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "008399dae5eee1bf5caa6e86d204dcb44242c82b1ed5e22c881f2c34da201b15"}, @@ -25,7 +25,7 @@ "expo": {:hex, :expo, "1.1.0", "f7b9ed7fb5745ebe1eeedf3d6f29226c5dd52897ac67c0f8af62a07e661e5c75", [:mix], [], "hexpm", "fbadf93f4700fb44c331362177bdca9eeb8097e8b0ef525c9cc501cb9917c960"}, "file_system": {:hex, :file_system, "1.1.0", "08d232062284546c6c34426997dd7ef6ec9f8bbd090eb91780283c9016840e8f", [:mix], [], "hexpm", "bfcf81244f416871f2a2e15c1b515287faa5db9c6bcf290222206d120b3d43f6"}, "finch": {:hex, :finch, "0.19.0", "c644641491ea854fc5c1bbaef36bfc764e3f08e7185e1f084e35e0672241b76d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "fc5324ce209125d1e2fa0fcd2634601c52a787aff1cd33ee833664a5af4ea2b6"}, - "floki": {:hex, :floki, "0.36.1", "712b7f2ba19a4d5a47dfe3e74d81876c95bbcbee44fe551f0af3d2a388abb3da", [:mix], [], "hexpm", "21ba57abb8204bcc70c439b423fc0dd9f0286de67dc82773a14b0200ada0995f"}, + "floki": {:hex, :floki, "0.38.0", "62b642386fa3f2f90713f6e231da0fa3256e41ef1089f83b6ceac7a3fd3abf33", [:mix], [], "hexpm", "a5943ee91e93fb2d635b612caf5508e36d37548e84928463ef9dd986f0d1abd9"}, "gen_smtp": {:hex, :gen_smtp, "1.2.0", "9cfc75c72a8821588b9b9fe947ae5ab2aed95a052b81237e0928633a13276fd3", [:rebar3], [{:ranch, ">= 1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "5ee0375680bca8f20c4d85f58c2894441443a743355430ff33a783fe03296779"}, "gettext": {:hex, :gettext, "0.26.2", "5978aa7b21fada6deabf1f6341ddba50bc69c999e812211903b169799208f2a8", [:mix], [{:expo, "~> 0.5.1 or ~> 1.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "aa978504bcf76511efdc22d580ba08e2279caab1066b76bb9aa81c4a1e0a32a5"}, "hackney": {:hex, :hackney, "1.24.1", "f5205a125bba6ed4587f9db3cc7c729d11316fa8f215d3e57ed1c067a9703fa9", [:rebar3], [{:certifi, "~> 2.15.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.4", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "f4a7392a0b53d8bbc3eb855bdcc919cd677358e65b2afd3840b5b3690c4c8a39"}, @@ -34,9 +34,9 @@ "hpax": {:hex, :hpax, "1.0.3", "ed67ef51ad4df91e75cc6a1494f851850c0bd98ebc0be6e81b026e765ee535aa", [:mix], [], "hexpm", "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a"}, "html_entities": {:hex, :html_entities, "0.5.2", "9e47e70598da7de2a9ff6af8758399251db6dbb7eebe2b013f2bbd2515895c3c", [:mix], [], "hexpm", "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"}, "httpoison": {:hex, :httpoison, "2.2.1", "87b7ed6d95db0389f7df02779644171d7319d319178f6680438167d7b69b1f3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "51364e6d2f429d80e14fe4b5f8e39719cacd03eb3f9a9286e61e216feac2d2df"}, - "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, + "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, - "joken": {:hex, :joken, "2.6.1", "2ca3d8d7f83bf7196296a3d9b2ecda421a404634bfc618159981a960020480a1", [:mix], [{:jose, "~> 1.11.9", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "ab26122c400b3d254ce7d86ed066d6afad27e70416df947cdcb01e13a7382e68"}, + "joken": {:hex, :joken, "2.6.2", "5daaf82259ca603af4f0b065475099ada1b2b849ff140ccd37f4b6828ca6892a", [:mix], [{:jose, "~> 1.11.10", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "5134b5b0a6e37494e46dbf9e4dad53808e5e787904b7c73972651b51cce3d72b"}, "jose": {:hex, :jose, "1.11.10", "a903f5227417bd2a08c8a00a0cbcc458118be84480955e8d251297a425723f83", [:mix, :rebar3], [], "hexpm", "0d6cd36ff8ba174db29148fc112b5842186b68a90ce9fc2b3ec3afe76593e614"}, "libcluster": {:hex, :libcluster, "3.5.0", "5ee4cfde4bdf32b2fef271e33ce3241e89509f4344f6c6a8d4069937484866ba", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.3", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ebf6561fcedd765a4cd43b4b8c04b1c87f4177b5fb3cbdfe40a780499d72f743"}, "lti_1p3": {:hex, :lti_1p3, "0.6.0", "e896c56b0ae067b768fb5ce2c44db305b6d7bbc213fafd1bbb7da586629c6d9f", [:mix], [{:httpoison, "~> 2.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.3", [hex: :jason, repo: "hexpm", optional: false]}, {:joken, "~> 2.2.0", [hex: :joken, repo: "hexpm", optional: false]}, {:timex, "~> 3.5", [hex: :timex, repo: "hexpm", optional: false]}, {:uuid, "~> 1.1", [hex: :uuid, repo: "hexpm", optional: false]}], "hexpm", "7c142ae8027913bbaa2267a28f448e734b1c5b2563e2aee2b1481632b84e35b3"}, @@ -49,7 +49,7 @@ "mime": {:hex, :mime, "2.0.7", "b8d739037be7cd402aee1ba0306edfdef982687ee7e9859bee6198c1e7e2f128", [:mix], [], "hexpm", "6171188e399ee16023ffc5b76ce445eb6d9672e2e241d2df6050f3c771e80ccd"}, "mimerl": {:hex, :mimerl, "1.4.0", "3882a5ca67fbbe7117ba8947f27643557adec38fa2307490c4c4207624cb213b", [:rebar3], [], "hexpm", "13af15f9f68c65884ecca3a3891d50a7b57d82152792f3e19d88650aa126b144"}, "mint": {:hex, :mint, "1.7.1", "113fdb2b2f3b59e47c7955971854641c61f378549d73e829e1768de90fc1abf1", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1 or ~> 0.2.0 or ~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "fceba0a4d0f24301ddee3024ae116df1c3f4bb7a563a731f45fdfeb9d39a231b"}, - "mogrify": {:hex, :mogrify, "0.9.2", "b360984adea7dd6a55f18028e6327973c58de7f548fdb86c9859848aa904d5b0", [:mix], [], "hexpm", "c18d10fd70ca20e2585301616c89f6e4f7159d92efc9cc8ee579e00c886f699d"}, + "mogrify": {:hex, :mogrify, "0.9.3", "238c782f00271dace01369ad35ae2e9dd020feee3443b9299ea5ea6bed559841", [:mix], [], "hexpm", "0189b1e1de27455f2b9ae8cf88239cefd23d38de9276eb5add7159aea51731e6"}, "mua": {:hex, :mua, "0.2.4", "a9172ab0a1ac8732cf2699d739ceac3febcb9b4ffc540260ad2e32c0b6632af9", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "e7e4dacd5ad65f13e3542772e74a159c00bd2d5579e729e9bb72d2c73a266fb7"}, "nimble_options": {:hex, :nimble_options, "1.1.1", "e3a492d54d85fc3fd7c5baf411d9d2852922f66e69476317787a7b2bb000a61b", [:mix], [], "hexpm", "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"}, "nimble_parsec": {:hex, :nimble_parsec, "1.4.2", "8efba0122db06df95bfaa78f791344a89352ba04baedd3849593bfce4d0dc1c6", [:mix], [], "hexpm", "4b21398942dda052b403bbe1da991ccd03a053668d147d53fb8c4e0efe09c973"}, @@ -61,9 +61,9 @@ "phoenix_ecto": {:hex, :phoenix_ecto, "4.6.5", "c4ef322acd15a574a8b1a08eff0ee0a85e73096b53ce1403b6563709f15e1cea", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "26ec3208eef407f31b748cadd044045c6fd485fbff168e35963d2f9dfff28d4b"}, "phoenix_html": {:hex, :phoenix_html, "4.2.1", "35279e2a39140068fc03f8874408d58eef734e488fc142153f055c5454fd1c08", [:mix], [], "hexpm", "cff108100ae2715dd959ae8f2a8cef8e20b593f8dfd031c9cba92702cf23e053"}, "phoenix_html_helpers": {:hex, :phoenix_html_helpers, "1.0.1", "7eed85c52eff80a179391036931791ee5d2f713d76a81d0d2c6ebafe1e11e5ec", [:mix], [{:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cffd2385d1fa4f78b04432df69ab8da63dc5cf63e07b713a4dcf36a3740e3090"}, - "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.3", "7ff51c9b6609470f681fbea20578dede0e548302b0c8bdf338b5a753a4f045bf", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"}, + "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.7", "405880012cb4b706f26dd1c6349125bfc903fb9e44d1ea668adaf4e04d4884b7", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "3a8625cab39ec261d48a13b7468dc619c0ede099601b084e343968309bd4d7d7"}, "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.6.0", "2791fac0e2776b640192308cc90c0dbcf67843ad51387ed4ecae2038263d708d", [:mix], [{:file_system, "~> 0.2.10 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "b3a1fa036d7eb2f956774eda7a7638cf5123f8f2175aca6d6420a7f95e598e1c"}, - "phoenix_live_view": {:hex, :phoenix_live_view, "0.20.14", "70fa101aa0539e81bed4238777498f6215e9dda3461bdaa067cad6908110c364", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "82f6d006c5264f979ed5eb75593d808bbe39020f20df2e78426f4f2d570e2402"}, + "phoenix_live_view": {:hex, :phoenix_live_view, "1.0.17", "beeb16d83a7d3760f7ad463df94e83b087577665d2acc0bf2987cd7d9778068f", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0 or ~> 1.8.0-rc", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a4ca05c1eb6922c4d07a508a75bfa12c45e5f4d8f77ae83283465f02c53741e1"}, "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"}, "phoenix_swoosh": {:hex, :phoenix_swoosh, "1.2.1", "b74ccaa8046fbc388a62134360ee7d9742d5a8ae74063f34eb050279de7a99e1", [:mix], [{:finch, "~> 0.8", [hex: :finch, repo: "hexpm", optional: true]}, {:hackney, "~> 1.10", [hex: :hackney, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: true]}, {:phoenix_html, "~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_view, "~> 1.0 or ~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:swoosh, "~> 1.5", [hex: :swoosh, repo: "hexpm", optional: false]}], "hexpm", "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2"}, "phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"},