mirror of
https://github.com/ClaperCo/Claper.git
synced 2025-12-16 11:57:58 +01:00
189
lib/claper/embeds.ex
Normal file
189
lib/claper/embeds.ex
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
defmodule Claper.Embeds do
|
||||||
|
@moduledoc """
|
||||||
|
The Embeds context.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import Ecto.Query, warn: false
|
||||||
|
alias Claper.Repo
|
||||||
|
|
||||||
|
alias Claper.Embeds.Embed
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Returns the list of embeds for a given presentation file.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> list_embeds(123)
|
||||||
|
[%Embed{}, ...]
|
||||||
|
|
||||||
|
"""
|
||||||
|
def list_embeds(presentation_file_id) do
|
||||||
|
from(e in Embed,
|
||||||
|
where: e.presentation_file_id == ^presentation_file_id,
|
||||||
|
order_by: [asc: e.id, asc: e.position]
|
||||||
|
)
|
||||||
|
|> Repo.all()
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Returns the list of embeds for a given presentation file and a given position.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> list_embeds_at_position(123, 0)
|
||||||
|
[%Embed{}, ...]
|
||||||
|
|
||||||
|
"""
|
||||||
|
def list_embeds_at_position(presentation_file_id, position) do
|
||||||
|
from(e in Embed,
|
||||||
|
where: e.presentation_file_id == ^presentation_file_id and e.position == ^position,
|
||||||
|
order_by: [asc: e.id]
|
||||||
|
)
|
||||||
|
|> Repo.all()
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Gets a single embed.
|
||||||
|
|
||||||
|
Raises `Ecto.NoResultsError` if the Embed does not exist.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> get_embed!(123)
|
||||||
|
%Embed{}
|
||||||
|
|
||||||
|
iex> get_embed!(456)
|
||||||
|
** (Ecto.NoResultsError)
|
||||||
|
|
||||||
|
"""
|
||||||
|
def get_embed!(id, preload \\ []),
|
||||||
|
do: Repo.get!(Embed, id) |> Repo.preload(preload)
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Gets a single embed for a given position.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> get_embed_current_position(123, 0)
|
||||||
|
%Embed{}
|
||||||
|
|
||||||
|
"""
|
||||||
|
def get_embed_current_position(presentation_file_id, position) do
|
||||||
|
from(e in Embed,
|
||||||
|
where:
|
||||||
|
e.position == ^position and e.presentation_file_id == ^presentation_file_id and
|
||||||
|
e.enabled == true
|
||||||
|
)
|
||||||
|
|> Repo.one()
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Creates a embed.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> create_embed(%{field: value})
|
||||||
|
{:ok, %Embed{}}
|
||||||
|
|
||||||
|
iex> create_embed(%{field: bad_value})
|
||||||
|
{:error, %Ecto.Changeset{}}
|
||||||
|
|
||||||
|
"""
|
||||||
|
def create_embed(attrs \\ %{}) do
|
||||||
|
%Embed{}
|
||||||
|
|> Embed.changeset(attrs)
|
||||||
|
|> Repo.insert()
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Updates a embed.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> update_embed("123e4567-e89b-12d3-a456-426614174000", embed, %{field: new_value})
|
||||||
|
{:ok, %Embed{}}
|
||||||
|
|
||||||
|
iex> update_embed("123e4567-e89b-12d3-a456-426614174000", embed, %{field: bad_value})
|
||||||
|
{:error, %Ecto.Changeset{}}
|
||||||
|
|
||||||
|
"""
|
||||||
|
def update_embed(event_uuid, %Embed{} = embed, attrs) do
|
||||||
|
embed
|
||||||
|
|> Embed.changeset(attrs)
|
||||||
|
|> Repo.update()
|
||||||
|
|> case do
|
||||||
|
{:ok, embed} ->
|
||||||
|
broadcast({:ok, embed, event_uuid}, :embed_updated)
|
||||||
|
|
||||||
|
{:error, changeset} ->
|
||||||
|
{:error, %{changeset | action: :update}}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Deletes a embed.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> delete_embed("123e4567-e89b-12d3-a456-426614174000", embed)
|
||||||
|
{:ok, %Embed{}}
|
||||||
|
|
||||||
|
iex> delete_embed("123e4567-e89b-12d3-a456-426614174000", embed)
|
||||||
|
{:error, %Ecto.Changeset{}}
|
||||||
|
|
||||||
|
"""
|
||||||
|
def delete_embed(event_uuid, %Embed{} = embed) do
|
||||||
|
{:ok, embed} = Repo.delete(embed)
|
||||||
|
broadcast({:ok, embed, event_uuid}, :embed_deleted)
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Returns an `%Ecto.Changeset{}` for tracking embed changes.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> change_embed(embed)
|
||||||
|
%Ecto.Changeset{data: %Embed{}}
|
||||||
|
|
||||||
|
"""
|
||||||
|
def change_embed(%Embed{} = embed, attrs \\ %{}) do
|
||||||
|
Embed.changeset(embed, attrs)
|
||||||
|
end
|
||||||
|
|
||||||
|
def disable_all(presentation_file_id, position) do
|
||||||
|
from(e in Embed,
|
||||||
|
where: e.presentation_file_id == ^presentation_file_id and e.position == ^position
|
||||||
|
)
|
||||||
|
|> Repo.update_all(set: [enabled: false])
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_status(id, presentation_file_id, position, status) do
|
||||||
|
if status do
|
||||||
|
from(e in Embed,
|
||||||
|
where:
|
||||||
|
e.presentation_file_id == ^presentation_file_id and e.position == ^position and
|
||||||
|
e.id != ^id
|
||||||
|
)
|
||||||
|
|> Repo.update_all(set: [enabled: false])
|
||||||
|
end
|
||||||
|
|
||||||
|
from(e in Embed,
|
||||||
|
where:
|
||||||
|
e.presentation_file_id == ^presentation_file_id and e.position == ^position and
|
||||||
|
e.id == ^id
|
||||||
|
)
|
||||||
|
|> Repo.update_all(set: [enabled: status])
|
||||||
|
end
|
||||||
|
|
||||||
|
defp broadcast({:error, _reason} = error, _embed), do: error
|
||||||
|
|
||||||
|
defp broadcast({:ok, embed, event_uuid}, event) do
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{event_uuid}",
|
||||||
|
{event, embed}
|
||||||
|
)
|
||||||
|
|
||||||
|
{:ok, embed}
|
||||||
|
end
|
||||||
|
end
|
||||||
38
lib/claper/embeds/embed.ex
Normal file
38
lib/claper/embeds/embed.ex
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
defmodule Claper.Embeds.Embed do
|
||||||
|
use Ecto.Schema
|
||||||
|
import Ecto.Changeset
|
||||||
|
|
||||||
|
@derive {Jason.Encoder, only: [:title, :content, :position, :attendee_visibility]}
|
||||||
|
schema "embeds" do
|
||||||
|
field :title, :string
|
||||||
|
field :content, :string
|
||||||
|
field :enabled, :boolean, default: true
|
||||||
|
field :position, :integer, default: 0
|
||||||
|
field :attendee_visibility, :boolean, default: false
|
||||||
|
|
||||||
|
belongs_to :presentation_file, Claper.Presentations.PresentationFile
|
||||||
|
|
||||||
|
timestamps()
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc false
|
||||||
|
def changeset(embed, attrs \\ %{}) do
|
||||||
|
embed
|
||||||
|
|> cast(attrs, [
|
||||||
|
:enabled,
|
||||||
|
:title,
|
||||||
|
:content,
|
||||||
|
:presentation_file_id,
|
||||||
|
:position,
|
||||||
|
:attendee_visibility
|
||||||
|
])
|
||||||
|
|> validate_required([
|
||||||
|
:title,
|
||||||
|
:content,
|
||||||
|
:presentation_file_id,
|
||||||
|
:position,
|
||||||
|
:attendee_visibility
|
||||||
|
])
|
||||||
|
|> validate_format(:content, ~r/<iframe.*<\/iframe>/, message: "Invalid embed format")
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -275,11 +275,12 @@ defmodule Claper.Events do
|
|||||||
|> Ecto.Multi.run(:from_event, fn _repo, _changes ->
|
|> Ecto.Multi.run(:from_event, fn _repo, _changes ->
|
||||||
{:ok,
|
{:ok,
|
||||||
get_user_event!(user_id, from_event_uuid,
|
get_user_event!(user_id, from_event_uuid,
|
||||||
presentation_file: [polls: [:poll_opts], forms: []]
|
presentation_file: [polls: [:poll_opts], forms: [], embeds: []]
|
||||||
)}
|
)}
|
||||||
end)
|
end)
|
||||||
|> Ecto.Multi.run(:to_event, fn _repo, _changes ->
|
|> Ecto.Multi.run(:to_event, fn _repo, _changes ->
|
||||||
{:ok, get_user_event!(user_id, to_event_uuid, presentation_file: [:polls, :forms])}
|
{:ok,
|
||||||
|
get_user_event!(user_id, to_event_uuid, presentation_file: [:polls, :forms, :embeds])}
|
||||||
end)
|
end)
|
||||||
|> Ecto.Multi.run(:polls, fn _repo, %{from_event: from_event, to_event: to_event} ->
|
|> Ecto.Multi.run(:polls, fn _repo, %{from_event: from_event, to_event: to_event} ->
|
||||||
{:ok,
|
{:ok,
|
||||||
@@ -321,6 +322,22 @@ defmodule Claper.Events do
|
|||||||
end
|
end
|
||||||
end)}
|
end)}
|
||||||
end)
|
end)
|
||||||
|
|> Ecto.Multi.run(:embeds, fn _repo, %{from_event: from_event, to_event: to_event} ->
|
||||||
|
{:ok,
|
||||||
|
from_event.presentation_file.embeds
|
||||||
|
|> Enum.each(fn embed ->
|
||||||
|
if embed.position < to_event.presentation_file.length do
|
||||||
|
Claper.Embeds.create_embed(%{
|
||||||
|
title: embed.title,
|
||||||
|
content: embed.content,
|
||||||
|
position: embed.position,
|
||||||
|
enabled: embed.enabled,
|
||||||
|
attendee_visibility: embed.attendee_visibility,
|
||||||
|
presentation_file_id: to_event.presentation_file.id
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end)}
|
||||||
|
end)
|
||||||
|> Repo.transaction() do
|
|> Repo.transaction() do
|
||||||
{:ok, %{to_event: to_event}} -> {:ok, to_event}
|
{:ok, %{to_event: to_event}} -> {:ok, to_event}
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -181,20 +181,22 @@ defmodule Claper.Forms do
|
|||||||
|> Repo.update_all(set: [enabled: false])
|
|> Repo.update_all(set: [enabled: false])
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_default(id, presentation_file_id, position) do
|
def set_status(id, presentation_file_id, position, status) do
|
||||||
from(f in Form,
|
if status do
|
||||||
where:
|
from(f in Form,
|
||||||
f.presentation_file_id == ^presentation_file_id and f.position == ^position and
|
where:
|
||||||
f.id != ^id
|
f.presentation_file_id == ^presentation_file_id and f.position == ^position and
|
||||||
)
|
f.id != ^id
|
||||||
|> Repo.update_all(set: [enabled: false])
|
)
|
||||||
|
|> Repo.update_all(set: [enabled: false])
|
||||||
|
end
|
||||||
|
|
||||||
from(f in Form,
|
from(f in Form,
|
||||||
where:
|
where:
|
||||||
f.presentation_file_id == ^presentation_file_id and f.position == ^position and
|
f.presentation_file_id == ^presentation_file_id and f.position == ^position and
|
||||||
f.id == ^id
|
f.id == ^id
|
||||||
)
|
)
|
||||||
|> Repo.update_all(set: [enabled: true])
|
|> Repo.update_all(set: [enabled: status])
|
||||||
end
|
end
|
||||||
|
|
||||||
defp broadcast({:error, _reason} = error, _form), do: error
|
defp broadcast({:error, _reason} = error, _form), do: error
|
||||||
|
|||||||
@@ -275,20 +275,22 @@ defmodule Claper.Polls do
|
|||||||
|> Repo.update_all(set: [enabled: false])
|
|> Repo.update_all(set: [enabled: false])
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_default(id, presentation_file_id, position) do
|
def set_status(id, presentation_file_id, position, status) do
|
||||||
from(p in Poll,
|
if status do
|
||||||
where:
|
from(p in Poll,
|
||||||
p.presentation_file_id == ^presentation_file_id and p.position == ^position and
|
where:
|
||||||
p.id != ^id
|
p.presentation_file_id == ^presentation_file_id and p.position == ^position and
|
||||||
)
|
p.id != ^id
|
||||||
|> Repo.update_all(set: [enabled: false])
|
)
|
||||||
|
|> Repo.update_all(set: [enabled: false])
|
||||||
|
end
|
||||||
|
|
||||||
from(p in Poll,
|
from(p in Poll,
|
||||||
where:
|
where:
|
||||||
p.presentation_file_id == ^presentation_file_id and p.position == ^position and
|
p.presentation_file_id == ^presentation_file_id and p.position == ^position and
|
||||||
p.id == ^id
|
p.id == ^id
|
||||||
)
|
)
|
||||||
|> Repo.update_all(set: [enabled: true])
|
|> Repo.update_all(set: [enabled: status])
|
||||||
end
|
end
|
||||||
|
|
||||||
defp broadcast({:error, _reason} = error, _poll), do: error
|
defp broadcast({:error, _reason} = error, _poll), do: error
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ defmodule Claper.Presentations.PresentationFile do
|
|||||||
belongs_to :event, Claper.Events.Event
|
belongs_to :event, Claper.Events.Event
|
||||||
has_many :polls, Claper.Polls.Poll
|
has_many :polls, Claper.Polls.Poll
|
||||||
has_many :forms, Claper.Forms.Form
|
has_many :forms, Claper.Forms.Form
|
||||||
|
has_many :embeds, Claper.Embeds.Embed
|
||||||
has_one :presentation_state, Claper.Presentations.PresentationState, on_replace: :delete
|
has_one :presentation_state, Claper.Presentations.PresentationState, on_replace: :delete
|
||||||
|
|
||||||
timestamps()
|
timestamps()
|
||||||
|
|||||||
92
lib/claper_web/live/embed_live/form_component.ex
Normal file
92
lib/claper_web/live/embed_live/form_component.ex
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
defmodule ClaperWeb.EmbedLive.FormComponent do
|
||||||
|
use ClaperWeb, :live_component
|
||||||
|
|
||||||
|
alias Claper.Embeds
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def update(%{embed: embed} = assigns, socket) do
|
||||||
|
changeset = Embeds.change_embed(embed)
|
||||||
|
|
||||||
|
{:ok,
|
||||||
|
socket
|
||||||
|
|> assign(assigns)
|
||||||
|
|> assign_new(:dark, fn -> false end)
|
||||||
|
|> assign(:embeds, list_embeds(assigns))
|
||||||
|
|> assign(:changeset, changeset)}
|
||||||
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_event("delete", %{"id" => id}, socket) do
|
||||||
|
embed = Embeds.get_embed!(id)
|
||||||
|
{:ok, _} = Embeds.delete_embed(socket.assigns.event_uuid, embed)
|
||||||
|
|
||||||
|
{:noreply, socket |> push_redirect(to: socket.assigns.return_to)}
|
||||||
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_event("validate", %{"embed" => embed_params}, socket) do
|
||||||
|
changeset =
|
||||||
|
socket.assigns.embed
|
||||||
|
|> Embeds.change_embed(embed_params)
|
||||||
|
|> Map.put(:action, :validate)
|
||||||
|
|
||||||
|
{:noreply, socket |> assign(:changeset, changeset)}
|
||||||
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_event("save", %{"embed" => embed_params}, socket) do
|
||||||
|
save_embed(socket, socket.assigns.live_action, embed_params)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp save_embed(socket, :edit, embed_params) do
|
||||||
|
case Embeds.update_embed(
|
||||||
|
socket.assigns.event_uuid,
|
||||||
|
socket.assigns.embed,
|
||||||
|
embed_params
|
||||||
|
) do
|
||||||
|
{:ok, _embed} ->
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> push_redirect(to: socket.assigns.return_to)}
|
||||||
|
|
||||||
|
{:error, %Ecto.Changeset{} = changeset} ->
|
||||||
|
{:noreply, assign(socket, :changeset, changeset)}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
defp save_embed(socket, :new, embed_params) do
|
||||||
|
case Embeds.create_embed(
|
||||||
|
embed_params
|
||||||
|
|> Map.put("presentation_file_id", socket.assigns.presentation_file.id)
|
||||||
|
|> Map.put("position", socket.assigns.position)
|
||||||
|
|> Map.put("enabled", false)
|
||||||
|
) do
|
||||||
|
{:ok, embed} ->
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> maybe_change_current_embed(embed)
|
||||||
|
|> push_redirect(to: socket.assigns.return_to)}
|
||||||
|
|
||||||
|
{:error, %Ecto.Changeset{} = changeset} ->
|
||||||
|
{:noreply, assign(socket, changeset: changeset)}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
defp maybe_change_current_embed(socket, %{enabled: true} = embed) do
|
||||||
|
embed = Embeds.get_embed!(embed.id)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event_uuid}",
|
||||||
|
{:current_embed, embed}
|
||||||
|
)
|
||||||
|
|
||||||
|
socket
|
||||||
|
end
|
||||||
|
|
||||||
|
defp maybe_change_current_embed(socket, _), do: socket
|
||||||
|
|
||||||
|
defp list_embeds(assigns) do
|
||||||
|
Embeds.list_embeds(assigns.presentation_file.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
64
lib/claper_web/live/embed_live/form_component.html.heex
Normal file
64
lib/claper_web/live/embed_live/form_component.html.heex
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<div>
|
||||||
|
<.form
|
||||||
|
:let={f}
|
||||||
|
for={@changeset}
|
||||||
|
id="embed-form"
|
||||||
|
phx-target={@myself}
|
||||||
|
phx-change="validate"
|
||||||
|
phx-submit="save"
|
||||||
|
>
|
||||||
|
<div class="my-3 mb-10">
|
||||||
|
<ClaperWeb.Component.Input.text
|
||||||
|
form={f}
|
||||||
|
key={:title}
|
||||||
|
name={gettext("Title of your embed")}
|
||||||
|
labelClass={if @dark, do: "text-white"}
|
||||||
|
fieldClass={if @dark, do: "bg-gray-700 text-white"}
|
||||||
|
autofocus="true"
|
||||||
|
required="true"
|
||||||
|
/>
|
||||||
|
<ClaperWeb.Component.Input.textarea
|
||||||
|
form={f}
|
||||||
|
key={:content}
|
||||||
|
name={gettext("Content of your embed")}
|
||||||
|
labelClass={if @dark, do: "text-white"}
|
||||||
|
fieldClass={if @dark, do: "bg-gray-700 text-white"}
|
||||||
|
autofocus="true"
|
||||||
|
required="true"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div class="flex gap-x-2 mb-5 mt-3">
|
||||||
|
<%= checkbox(f, :attendee_visibility, class: "h-4 w-5") %>
|
||||||
|
<%= label(f, :attendee_visibility, gettext("Attendee can access the embed on the device"),
|
||||||
|
class: "text-sm font-medium"
|
||||||
|
) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex space-x-3">
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
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
|
||||||
|
:new -> gettext("Create")
|
||||||
|
:edit -> gettext("Save")
|
||||||
|
end %>
|
||||||
|
</button>
|
||||||
|
<%= if @live_action == :edit do %>
|
||||||
|
<%= link(gettext("Delete"),
|
||||||
|
to: "#",
|
||||||
|
phx_click: "delete",
|
||||||
|
phx_target: @myself,
|
||||||
|
phx_value_id: @embed.id,
|
||||||
|
data: [
|
||||||
|
confirm: gettext("This will delete the embed, 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 %>
|
||||||
|
</div>
|
||||||
|
</.form>
|
||||||
|
</div>
|
||||||
84
lib/claper_web/live/event_live/embed_component.ex
Normal file
84
lib/claper_web/live/event_live/embed_component.ex
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
defmodule ClaperWeb.EventLive.EmbedComponent do
|
||||||
|
use ClaperWeb, :live_component
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def render(assigns) do
|
||||||
|
~H"""
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
id="collapsed-embed"
|
||||||
|
class="bg-black py-3 px-6 text-black shadow-lg mx-auto rounded-full w-max hidden"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="block w-full h-full cursor-pointer"
|
||||||
|
phx-click={toggle_embed()}
|
||||||
|
phx-target={@myself}
|
||||||
|
>
|
||||||
|
<div class="text-white flex space-x-2 items-center">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
class="h-6 w-6"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
stroke-width="1.5"
|
||||||
|
stroke="currentColor"
|
||||||
|
fill="none"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||||
|
<path d="M12 3a3 3 0 0 0 -3 3v12a3 3 0 0 0 3 3"></path>
|
||||||
|
<path d="M6 3a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3"></path>
|
||||||
|
<path d="M13 7h7a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-7"></path>
|
||||||
|
<path d="M5 7h-1a1 1 0 0 0 -1 1v8a1 1 0 0 0 1 1h1"></path>
|
||||||
|
<path d="M17 12h.01"></path>
|
||||||
|
<path d="M13 12h.01"></path>
|
||||||
|
</svg>
|
||||||
|
<span class="font-bold"><%= gettext("See current embed") %></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="extended-embed" class="bg-black w-full py-3 px-6 text-black shadow-lg rounded-md">
|
||||||
|
<div
|
||||||
|
class="block w-full h-full cursor-pointer"
|
||||||
|
phx-click={toggle_embed()}
|
||||||
|
phx-target={@myself}
|
||||||
|
>
|
||||||
|
<div id="embed-pane" class="float-right mt-2">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
class="h-8 w-8 text-white"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
>
|
||||||
|
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="text-xs text-gray-500 my-1"><%= gettext("Current embed") %></p>
|
||||||
|
<p class="text-white text-lg font-semibold mb-4"><%= @embed.title %></p>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-col space-y-3">
|
||||||
|
<%= raw(@embed.content) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
|
||||||
|
def toggle_embed(js \\ %JS{}) do
|
||||||
|
js
|
||||||
|
|> JS.toggle(
|
||||||
|
out: "animate__animated animate__zoomOut",
|
||||||
|
in: "animate__animated animate__zoomIn",
|
||||||
|
to: "#collapsed-embed",
|
||||||
|
time: 50
|
||||||
|
)
|
||||||
|
|> JS.toggle(
|
||||||
|
out: "animate__animated animate__zoomOut",
|
||||||
|
in: "animate__animated animate__zoomIn",
|
||||||
|
to: "#extended-embed"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -4,6 +4,7 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
alias ClaperWeb.Presence
|
alias ClaperWeb.Presence
|
||||||
alias Claper.Polls
|
alias Claper.Polls
|
||||||
alias Claper.Forms
|
alias Claper.Forms
|
||||||
|
alias Claper.Embeds
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(%{"code" => code}, session, socket) do
|
def mount(%{"code" => code}, session, socket) do
|
||||||
@@ -43,6 +44,7 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
|> assign(:posts, list_posts(socket, event.uuid))
|
|> assign(:posts, list_posts(socket, event.uuid))
|
||||||
|> assign(:polls, list_polls(socket, event.presentation_file.id))
|
|> assign(:polls, list_polls(socket, event.presentation_file.id))
|
||||||
|> assign(:forms, list_forms(socket, event.presentation_file.id))
|
|> assign(:forms, list_forms(socket, event.presentation_file.id))
|
||||||
|
|> assign(:embeds, list_embeds(socket, event.presentation_file.id))
|
||||||
|> assign(:create, nil)
|
|> assign(:create, nil)
|
||||||
|> assign(:list_tab, :posts)
|
|> assign(:list_tab, :posts)
|
||||||
|> assign(:create_action, :new)
|
|> assign(:create_action, :new)
|
||||||
@@ -52,6 +54,7 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
})
|
})
|
||||||
|> poll_at_position(false)
|
|> poll_at_position(false)
|
||||||
|> form_at_position(false)
|
|> form_at_position(false)
|
||||||
|
|> embed_at_position(false)
|
||||||
|
|
||||||
{:ok, socket, temporary_assigns: [posts: [], form_submits: []]}
|
{:ok, socket, temporary_assigns: [posts: [], form_submits: []]}
|
||||||
end
|
end
|
||||||
@@ -128,6 +131,21 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
{:noreply, socket |> assign(:current_poll, poll)}
|
{:noreply, socket |> assign(:current_poll, poll)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info({:embed_updated, embed}, socket) do
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_embed, fn _current_embed -> embed end)}
|
||||||
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info(
|
||||||
|
{:current_embed, embed},
|
||||||
|
socket
|
||||||
|
) do
|
||||||
|
{:noreply, socket |> assign(:current_embed, embed)}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info(_, socket) do
|
def handle_info(_, socket) do
|
||||||
{:noreply, socket}
|
{:noreply, socket}
|
||||||
@@ -159,7 +177,8 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
socket
|
socket
|
||||||
|> assign(:state, new_state)
|
|> assign(:state, new_state)
|
||||||
|> poll_at_position
|
|> poll_at_position
|
||||||
|> form_at_position}
|
|> form_at_position
|
||||||
|
|> embed_at_position}
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
@@ -185,13 +204,15 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_event("poll-set-default", %{"id" => id}, socket) do
|
def handle_event("poll-set-active", %{"id" => id}, socket) do
|
||||||
Forms.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
Forms.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
||||||
|
Embeds.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
||||||
|
|
||||||
Polls.set_default(
|
Polls.set_status(
|
||||||
id,
|
id,
|
||||||
socket.assigns.event.presentation_file.id,
|
socket.assigns.event.presentation_file.id,
|
||||||
socket.assigns.state.position
|
socket.assigns.state.position,
|
||||||
|
true
|
||||||
)
|
)
|
||||||
|
|
||||||
poll = Polls.get_poll!(id)
|
poll = Polls.get_poll!(id)
|
||||||
@@ -208,19 +229,28 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
{:current_form, nil}
|
{:current_form, nil}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_embed, nil}
|
||||||
|
)
|
||||||
|
|
||||||
{:noreply,
|
{:noreply,
|
||||||
socket
|
socket
|
||||||
|> assign(:polls, list_polls(socket, socket.assigns.event.presentation_file.id))
|
|> assign(:polls, list_polls(socket, socket.assigns.event.presentation_file.id))
|
||||||
|> assign(:forms, list_forms(socket, socket.assigns.event.presentation_file.id))}
|
|> assign(:forms, list_forms(socket, socket.assigns.event.presentation_file.id))
|
||||||
|
|> assign(:embeds, list_embeds(socket, socket.assigns.event.presentation_file.id))}
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_event("form-set-default", %{"id" => id}, socket) do
|
def handle_event("form-set-active", %{"id" => id}, socket) do
|
||||||
Polls.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
Polls.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
||||||
|
Embeds.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
||||||
|
|
||||||
Forms.set_default(
|
Forms.set_status(
|
||||||
id,
|
id,
|
||||||
socket.assigns.event.presentation_file.id,
|
socket.assigns.event.presentation_file.id,
|
||||||
socket.assigns.state.position
|
socket.assigns.state.position,
|
||||||
|
true
|
||||||
)
|
)
|
||||||
|
|
||||||
form = Forms.get_form!(id)
|
form = Forms.get_form!(id)
|
||||||
@@ -237,12 +267,114 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
{:current_poll, nil}
|
{:current_poll, nil}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_embed, nil}
|
||||||
|
)
|
||||||
|
|
||||||
{:noreply,
|
{:noreply,
|
||||||
socket
|
socket
|
||||||
|> assign(:polls, list_polls(socket, socket.assigns.event.presentation_file.id))
|
|> assign(:polls, list_polls(socket, socket.assigns.event.presentation_file.id))
|
||||||
|
|> assign(:forms, list_forms(socket, socket.assigns.event.presentation_file.id))
|
||||||
|
|> assign(:embeds, list_embeds(socket, socket.assigns.event.presentation_file.id))}
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_event("embed-set-active", %{"id" => id}, socket) do
|
||||||
|
Polls.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
||||||
|
Forms.disable_all(socket.assigns.event.presentation_file.id, socket.assigns.state.position)
|
||||||
|
|
||||||
|
Embeds.set_status(
|
||||||
|
id,
|
||||||
|
socket.assigns.event.presentation_file.id,
|
||||||
|
socket.assigns.state.position,
|
||||||
|
true
|
||||||
|
)
|
||||||
|
|
||||||
|
embed = Embeds.get_embed!(id)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_embed, embed}
|
||||||
|
)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_poll, nil}
|
||||||
|
)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_form, nil}
|
||||||
|
)
|
||||||
|
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> assign(:polls, list_polls(socket, socket.assigns.event.presentation_file.id))
|
||||||
|
|> assign(:forms, list_forms(socket, socket.assigns.event.presentation_file.id))
|
||||||
|
|> assign(:embeds, list_embeds(socket, socket.assigns.event.presentation_file.id))}
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_event("poll-set-inactive", %{"id" => id}, socket) do
|
||||||
|
Polls.set_status(
|
||||||
|
id,
|
||||||
|
socket.assigns.event.presentation_file.id,
|
||||||
|
socket.assigns.state.position,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_poll, nil}
|
||||||
|
)
|
||||||
|
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> assign(:polls, list_polls(socket, socket.assigns.event.presentation_file.id))}
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_event("form-set-inactive", %{"id" => id}, socket) do
|
||||||
|
Forms.set_status(
|
||||||
|
id,
|
||||||
|
socket.assigns.event.presentation_file.id,
|
||||||
|
socket.assigns.state.position,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_form, nil}
|
||||||
|
)
|
||||||
|
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|> assign(:forms, list_forms(socket, socket.assigns.event.presentation_file.id))}
|
|> assign(:forms, list_forms(socket, socket.assigns.event.presentation_file.id))}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def handle_event("embed-set-inactive", %{"id" => id}, socket) do
|
||||||
|
Embeds.set_status(
|
||||||
|
id,
|
||||||
|
socket.assigns.event.presentation_file.id,
|
||||||
|
socket.assigns.state.position,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{socket.assigns.event.uuid}",
|
||||||
|
{:current_embed, nil}
|
||||||
|
)
|
||||||
|
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> assign(:embeds, list_embeds(socket, socket.assigns.event.presentation_file.id))}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event(
|
def handle_event(
|
||||||
"ban",
|
"ban",
|
||||||
@@ -459,6 +591,12 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp apply_action(socket, :add_embed, _params) do
|
||||||
|
socket
|
||||||
|
|> assign(:create, "embed")
|
||||||
|
|> assign(:embed, %Embeds.Embed{})
|
||||||
|
end
|
||||||
|
|
||||||
defp apply_action(socket, :import, _params) do
|
defp apply_action(socket, :import, _params) do
|
||||||
socket
|
socket
|
||||||
|> assign(:create, "import")
|
|> assign(:create, "import")
|
||||||
@@ -474,6 +612,15 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
|> assign(:form, form)
|
|> assign(:form, form)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp apply_action(socket, :edit_embed, %{"id" => id}) do
|
||||||
|
embed = Embeds.get_embed!(id)
|
||||||
|
|
||||||
|
socket
|
||||||
|
|> assign(:create, "embed")
|
||||||
|
|> assign(:create_action, :edit)
|
||||||
|
|> assign(:embed, embed)
|
||||||
|
end
|
||||||
|
|
||||||
defp poll_at_position(
|
defp poll_at_position(
|
||||||
%{assigns: %{event: event, state: state}} = socket,
|
%{assigns: %{event: event, state: state}} = socket,
|
||||||
broadcast \\ true
|
broadcast \\ true
|
||||||
@@ -516,6 +663,27 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp embed_at_position(
|
||||||
|
%{assigns: %{event: event, state: state}} = socket,
|
||||||
|
broadcast \\ true
|
||||||
|
) do
|
||||||
|
with embed <-
|
||||||
|
Claper.Embeds.get_embed_current_position(
|
||||||
|
event.presentation_file.id,
|
||||||
|
state.position
|
||||||
|
) do
|
||||||
|
if broadcast do
|
||||||
|
Phoenix.PubSub.broadcast(
|
||||||
|
Claper.PubSub,
|
||||||
|
"event:#{event.uuid}",
|
||||||
|
{:current_embed, embed}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
socket |> assign(:current_embed, embed)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
defp ban(user, %{assigns: %{event: event, state: state}} = socket) do
|
defp ban(user, %{assigns: %{event: event, state: state}} = socket) do
|
||||||
{:ok, new_state} =
|
{:ok, new_state} =
|
||||||
Claper.Presentations.update_presentation_state(state, %{
|
Claper.Presentations.update_presentation_state(state, %{
|
||||||
@@ -543,6 +711,10 @@ defmodule ClaperWeb.EventLive.Manage do
|
|||||||
Claper.Forms.list_forms(presentation_file_id)
|
Claper.Forms.list_forms(presentation_file_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp list_embeds(_socket, presentation_file_id) do
|
||||||
|
Claper.Embeds.list_embeds(presentation_file_id)
|
||||||
|
end
|
||||||
|
|
||||||
defp list_form_submits(_socket, presentation_file_id) do
|
defp list_form_submits(_socket, presentation_file_id) do
|
||||||
Claper.Forms.list_form_submits(presentation_file_id)
|
Claper.Forms.list_form_submits(presentation_file_id)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -215,6 +215,37 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li id="option-3" role="option" tabindex="-1">
|
||||||
|
<a
|
||||||
|
data-phx-link="patch"
|
||||||
|
data-phx-link-state="push"
|
||||||
|
href={Routes.event_manage_path(@socket, :add_embed, @event.code)}
|
||||||
|
class="group flex select-none rounded-xl p-3 w-full hover:bg-gray-200 cursor-pointer"
|
||||||
|
>
|
||||||
|
<div class="flex h-12 w-12 flex-none text-white items-center justify-center rounded-lg bg-gradient-to-br from-primary-500 to-secondary-500">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
stroke-width="1.5"
|
||||||
|
stroke="currentColor"
|
||||||
|
class="w-6 h-6"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
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"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="ml-4 flex-auto text-left">
|
||||||
|
<p class="font-medium text-gray-700"><%= gettext("Embeded") %></p>
|
||||||
|
<p class="text-gray-500">
|
||||||
|
<%= gettext("Add a Youtube video or any web content.") %>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<%= if (length @polls) == 0 && (length @forms) == 0 do %>
|
<%= if (length @polls) == 0 && (length @forms) == 0 do %>
|
||||||
@@ -290,6 +321,27 @@
|
|||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<%= if @create == "embed" do %>
|
||||||
|
<div class="scroll-py-3 overflow-y-auto bg-gray-100 p-3">
|
||||||
|
<p class="text-xl font-bold">
|
||||||
|
<%= case @create_action do
|
||||||
|
:new -> gettext("New Embed")
|
||||||
|
:edit -> gettext("Edit Embed")
|
||||||
|
end %>
|
||||||
|
</p>
|
||||||
|
<.live_component
|
||||||
|
module={ClaperWeb.EmbedLive.FormComponent}
|
||||||
|
id="embed-create"
|
||||||
|
event_uuid={@event.uuid}
|
||||||
|
presentation_file={@event.presentation_file}
|
||||||
|
embed={@embed}
|
||||||
|
live_action={@create_action}
|
||||||
|
position={@state.position}
|
||||||
|
return_to={Routes.event_manage_path(@socket, :show, @event.code)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<%= if @create == "import" do %>
|
<%= if @create == "import" do %>
|
||||||
<div class="scroll-py-3 overflow-y-auto bg-gray-100 p-3">
|
<div class="scroll-py-3 overflow-y-auto bg-gray-100 p-3">
|
||||||
<p class="text-xl font-bold"><%= gettext("Select presentation") %></p>
|
<p class="text-xl font-bold"><%= gettext("Select presentation") %></p>
|
||||||
@@ -396,7 +448,11 @@
|
|||||||
</span>
|
</span>
|
||||||
<%= if @state.position == index do %>
|
<%= if @state.position == index do %>
|
||||||
<%= if poll.enabled do %>
|
<%= if poll.enabled do %>
|
||||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-supporting-green-100 text-supporting-green-800">
|
<button
|
||||||
|
phx-click="poll-set-inactive"
|
||||||
|
phx-value-id={poll.id}
|
||||||
|
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-supporting-green-100 text-supporting-green-800"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
style="--animate-duration: 10s;"
|
style="--animate-duration: 10s;"
|
||||||
class="mr-1.5 h-2 w-2 text-supporting-green-400 animate__animated animate__flash animate__infinite"
|
class="mr-1.5 h-2 w-2 text-supporting-green-400 animate__animated animate__flash animate__infinite"
|
||||||
@@ -406,10 +462,10 @@
|
|||||||
<circle cx="4" cy="4" r="3" />
|
<circle cx="4" cy="4" r="3" />
|
||||||
</svg>
|
</svg>
|
||||||
<%= gettext("Active") %>
|
<%= gettext("Active") %>
|
||||||
</span>
|
</button>
|
||||||
<% else %>
|
<% else %>
|
||||||
<button
|
<button
|
||||||
phx-click="poll-set-default"
|
phx-click="poll-set-active"
|
||||||
phx-value-id={poll.id}
|
phx-value-id={poll.id}
|
||||||
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-primary-100 text-primary-800"
|
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-primary-100 text-primary-800"
|
||||||
>
|
>
|
||||||
@@ -472,7 +528,11 @@
|
|||||||
</span>
|
</span>
|
||||||
<%= if @state.position == index do %>
|
<%= if @state.position == index do %>
|
||||||
<%= if form.enabled do %>
|
<%= if form.enabled do %>
|
||||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-supporting-green-100 text-supporting-green-800">
|
<button
|
||||||
|
phx-click="form-set-inactive"
|
||||||
|
phx-value-id={form.id}
|
||||||
|
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-supporting-green-100 text-supporting-green-800"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
style="--animate-duration: 10s;"
|
style="--animate-duration: 10s;"
|
||||||
class="mr-1.5 h-2 w-2 text-supporting-green-400 animate__animated animate__flash animate__infinite"
|
class="mr-1.5 h-2 w-2 text-supporting-green-400 animate__animated animate__flash animate__infinite"
|
||||||
@@ -482,10 +542,10 @@
|
|||||||
<circle cx="4" cy="4" r="3" />
|
<circle cx="4" cy="4" r="3" />
|
||||||
</svg>
|
</svg>
|
||||||
<%= gettext("Active") %>
|
<%= gettext("Active") %>
|
||||||
</span>
|
</button>
|
||||||
<% else %>
|
<% else %>
|
||||||
<button
|
<button
|
||||||
phx-click="form-set-default"
|
phx-click="form-set-active"
|
||||||
phx-value-id={form.id}
|
phx-value-id={form.id}
|
||||||
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-primary-100 text-primary-800"
|
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-primary-100 text-primary-800"
|
||||||
>
|
>
|
||||||
@@ -518,6 +578,82 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="h-10 border border-gray-300"></div>
|
<div class="h-10 border border-gray-300"></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<%= for embed<- Enum.filter(@embeds, fn embed -> embed.position == index end) do %>
|
||||||
|
<div class="flex space-x-2 items-center">
|
||||||
|
<div class="flex h-10 w-10 flex-none text-white items-center justify-center rounded-lg bg-gradient-to-br from-primary-500 to-secondary-500">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
class="h-6 w-6"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
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"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="flex space-x-2">
|
||||||
|
<span>
|
||||||
|
<span class="font-semibold"><%= gettext "Embed" %></span>: <%= embed.title %>
|
||||||
|
</span>
|
||||||
|
<%= if @state.position == index do %>
|
||||||
|
<%= if embed.enabled do %>
|
||||||
|
<button
|
||||||
|
phx-click="embed-set-inactive"
|
||||||
|
phx-value-id={embed.id}
|
||||||
|
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-supporting-green-100 text-supporting-green-800"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
style="--animate-duration: 10s;"
|
||||||
|
class="mr-1.5 h-2 w-2 text-supporting-green-400 animate__animated animate__flash animate__infinite"
|
||||||
|
fill="currentColor"
|
||||||
|
viewBox="0 0 8 8"
|
||||||
|
>
|
||||||
|
<circle cx="4" cy="4" r="3" />
|
||||||
|
</svg>
|
||||||
|
<%= gettext("Active") %>
|
||||||
|
</button>
|
||||||
|
<% else %>
|
||||||
|
<button
|
||||||
|
phx-click="embed-set-active"
|
||||||
|
phx-value-id={embed.id}
|
||||||
|
class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-primary-100 text-primary-800"
|
||||||
|
>
|
||||||
|
<%= gettext("Set active") %>
|
||||||
|
</button>
|
||||||
|
<% end %>
|
||||||
|
<a
|
||||||
|
data-phx-link="patch"
|
||||||
|
data-phx-link-state="push"
|
||||||
|
href={
|
||||||
|
Routes.event_manage_path(@socket, :edit_embed, @event.code, embed.id)
|
||||||
|
}
|
||||||
|
class="text-xs text-primary-500"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
class="h-5 w-5"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="h-10 border border-gray-300"></div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= if @state.position == index do %>
|
<%= if @state.position == index do %>
|
||||||
@@ -773,7 +909,7 @@
|
|||||||
<ClaperWeb.Component.Input.check
|
<ClaperWeb.Component.Input.check
|
||||||
key={:join_screen_visible}
|
key={:join_screen_visible}
|
||||||
checked={@state.join_screen_visible}
|
checked={@state.join_screen_visible}
|
||||||
shortcut="Q"
|
shortcut={if @create == nil, do: "Q", else: nil}
|
||||||
/>
|
/>
|
||||||
<span><%= gettext("Show instructions") %><code class="pl-1">(Q)</code></span>
|
<span><%= gettext("Show instructions") %><code class="pl-1">(Q)</code></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -782,7 +918,7 @@
|
|||||||
<ClaperWeb.Component.Input.check
|
<ClaperWeb.Component.Input.check
|
||||||
key={:chat_visible}
|
key={:chat_visible}
|
||||||
checked={@state.chat_visible}
|
checked={@state.chat_visible}
|
||||||
shortcut="W"
|
shortcut={if @create == nil, do: "W", else: nil}
|
||||||
/>
|
/>
|
||||||
<span><%= gettext("Show messages") %><code class="pl-1">(W)</code></span>
|
<span><%= gettext("Show messages") %><code class="pl-1">(W)</code></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -792,7 +928,7 @@
|
|||||||
key={:poll_visible}
|
key={:poll_visible}
|
||||||
disabled={!@current_poll}
|
disabled={!@current_poll}
|
||||||
checked={@state.poll_visible}
|
checked={@state.poll_visible}
|
||||||
shortcut="E"
|
shortcut={if @create == nil, do: "E", else: nil}
|
||||||
/>
|
/>
|
||||||
<span><%= gettext("Show poll results") %><code class="pl-1">(E)</code></span>
|
<span><%= gettext("Show poll results") %><code class="pl-1">(E)</code></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -805,7 +941,7 @@
|
|||||||
<ClaperWeb.Component.Input.check
|
<ClaperWeb.Component.Input.check
|
||||||
key={:chat_enabled}
|
key={:chat_enabled}
|
||||||
checked={@state.chat_enabled}
|
checked={@state.chat_enabled}
|
||||||
shortcut="A"
|
shortcut={if @create == nil, do: "A", else: nil}
|
||||||
/>
|
/>
|
||||||
<span><%= gettext("Enable messages") %><code class="pl-1">(A)</code></span>
|
<span><%= gettext("Enable messages") %><code class="pl-1">(A)</code></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -814,7 +950,7 @@
|
|||||||
<ClaperWeb.Component.Input.check
|
<ClaperWeb.Component.Input.check
|
||||||
key={:anonymous_chat_enabled}
|
key={:anonymous_chat_enabled}
|
||||||
checked={@state.anonymous_chat_enabled}
|
checked={@state.anonymous_chat_enabled}
|
||||||
shortcut="S"
|
shortcut={if @create == nil, do: "S", else: nil}
|
||||||
/>
|
/>
|
||||||
<span>
|
<span>
|
||||||
<%= gettext("Enable anonymous messages") %><code class="pl-1">(S)</code>
|
<%= gettext("Enable anonymous messages") %><code class="pl-1">(S)</code>
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ defmodule ClaperWeb.EventLive.Presenter do
|
|||||||
|> assign(:reacts, [])
|
|> assign(:reacts, [])
|
||||||
|> poll_at_position
|
|> poll_at_position
|
||||||
|> form_at_position
|
|> form_at_position
|
||||||
|
|> embed_at_position
|
||||||
|
|
||||||
{:ok, socket, temporary_assigns: [posts: []]}
|
{:ok, socket, temporary_assigns: [posts: []]}
|
||||||
end
|
end
|
||||||
@@ -80,7 +81,8 @@ defmodule ClaperWeb.EventLive.Presenter do
|
|||||||
|> assign(:state, state)
|
|> assign(:state, state)
|
||||||
|> push_event("page", %{current_page: state.position})
|
|> push_event("page", %{current_page: state.position})
|
||||||
|> push_event("reset-global-react", %{})
|
|> push_event("reset-global-react", %{})
|
||||||
|> poll_at_position}
|
|> poll_at_position
|
||||||
|
|> embed_at_position}
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
@@ -105,9 +107,15 @@ defmodule ClaperWeb.EventLive.Presenter do
|
|||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:poll_updated, poll}, socket) do
|
def handle_info({:poll_updated, poll}, socket) do
|
||||||
{:noreply,
|
if poll.enabled do
|
||||||
socket
|
{:noreply,
|
||||||
|> update(:current_poll, fn _current_poll -> poll end)}
|
socket
|
||||||
|
|> update(:current_poll, fn _current_poll -> poll end)}
|
||||||
|
else
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_poll, fn _current_poll -> nil end)}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
@@ -119,9 +127,15 @@ defmodule ClaperWeb.EventLive.Presenter do
|
|||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:form_updated, form}, socket) do
|
def handle_info({:form_updated, form}, socket) do
|
||||||
{:noreply,
|
if form.active do
|
||||||
socket
|
{:noreply,
|
||||||
|> update(:current_form, fn _current_form -> form end)}
|
socket
|
||||||
|
|> update(:current_form, fn _current_form -> form end)}
|
||||||
|
else
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_form, fn _current_form -> nil end)}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
@@ -131,6 +145,26 @@ defmodule ClaperWeb.EventLive.Presenter do
|
|||||||
|> update(:current_form, fn _current_form -> nil end)}
|
|> update(:current_form, fn _current_form -> nil end)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info({:embed_updated, embed}, socket) do
|
||||||
|
if embed.active do
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_embed, fn _current_embed -> embed end)}
|
||||||
|
else
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_embed, fn _current_embed -> nil end)}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info({:embed_deleted, _embed}, socket) do
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_embed, fn _current_embed -> nil end)}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:chat_visible, value}, socket) do
|
def handle_info({:chat_visible, value}, socket) do
|
||||||
{:noreply,
|
{:noreply,
|
||||||
@@ -178,6 +212,14 @@ defmodule ClaperWeb.EventLive.Presenter do
|
|||||||
{:noreply, socket |> assign(:current_form, form)}
|
{:noreply, socket |> assign(:current_form, form)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info(
|
||||||
|
{:current_embed, embed},
|
||||||
|
socket
|
||||||
|
) do
|
||||||
|
{:noreply, socket |> assign(:current_embed, embed)}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info(_, socket) do
|
def handle_info(_, socket) do
|
||||||
{:noreply, socket}
|
{:noreply, socket}
|
||||||
@@ -212,6 +254,16 @@ defmodule ClaperWeb.EventLive.Presenter do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp embed_at_position(%{assigns: %{event: event, state: state}} = socket) do
|
||||||
|
with embed <-
|
||||||
|
Claper.Embeds.get_embed_current_position(
|
||||||
|
event.presentation_file.id,
|
||||||
|
state.position
|
||||||
|
) do
|
||||||
|
socket |> assign(:current_embed, embed)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
defp list_posts(_socket, event_id) do
|
defp list_posts(_socket, event_id) do
|
||||||
Claper.Posts.list_posts(event_id, [:event, :reactions])
|
Claper.Posts.list_posts(event_id, [:event, :reactions])
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
background: black;
|
background: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
@@ -14,7 +19,7 @@
|
|||||||
<!-- JOIN SCREEN -->
|
<!-- JOIN SCREEN -->
|
||||||
<div
|
<div
|
||||||
id="joinScreen"
|
id="joinScreen"
|
||||||
class={"#{if @state.join_screen_visible, do: 'opacity-100', else: 'opacity-0'} h-full w-full flex flex-col justify-center bg-black absolute z-30 transition-opacity"}
|
class={"#{if @state.join_screen_visible, do: 'opacity-100 z-40', else: 'opacity-0'} h-full w-full flex flex-col justify-center bg-black absolute transition-opacity"}
|
||||||
>
|
>
|
||||||
<div class="h-full bg-black text-white bg-opacity-50 text-center flex flex-col items-center justify-center">
|
<div class="h-full bg-black text-white bg-opacity-50 text-center flex flex-col items-center justify-center">
|
||||||
<span class="font-semibold mb-10 sm:text-3xl md:text-4xl lg:text-6xl">
|
<span class="font-semibold mb-10 sm:text-3xl md:text-4xl lg:text-6xl">
|
||||||
@@ -68,6 +73,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<%= if @current_embed do %>
|
||||||
|
<!-- EMBED -->
|
||||||
|
<div
|
||||||
|
id="embed"
|
||||||
|
class={"#{if @state.chat_visible, do: 'h-5/6 w-9/12 right-0', else: 'h-screen w-full'} transition-all duration-150 inline-block transform -translate-y-1/2 top-1/2 z-30 absolute transition-opacity"}
|
||||||
|
>
|
||||||
|
<%= raw(@current_embed.content) %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
<!-- MESSAGES -->
|
<!-- MESSAGES -->
|
||||||
<div
|
<div
|
||||||
id="slider-wrapper"
|
id="slider-wrapper"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
defmodule ClaperWeb.EventLive.Show do
|
defmodule ClaperWeb.EventLive.Show do
|
||||||
use ClaperWeb, :live_view
|
use ClaperWeb, :live_view
|
||||||
|
|
||||||
alias Claper.{Posts, Polls, Forms}
|
alias Claper.{Posts, Polls, Forms, Embeds}
|
||||||
alias ClaperWeb.Presence
|
alias ClaperWeb.Presence
|
||||||
|
|
||||||
on_mount(ClaperWeb.AttendeeLiveAuth)
|
on_mount(ClaperWeb.AttendeeLiveAuth)
|
||||||
@@ -86,6 +86,7 @@ defmodule ClaperWeb.EventLive.Show do
|
|||||||
|> starting_soon_assigns(event)
|
|> starting_soon_assigns(event)
|
||||||
|> get_current_poll(event)
|
|> get_current_poll(event)
|
||||||
|> get_current_form(event)
|
|> get_current_form(event)
|
||||||
|
|> get_current_embed(event)
|
||||||
|> check_leader(event)
|
|> check_leader(event)
|
||||||
|> leader_list(event)
|
|> leader_list(event)
|
||||||
|
|
||||||
@@ -245,6 +246,14 @@ defmodule ClaperWeb.EventLive.Show do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info(
|
||||||
|
{:current_embed, embed},
|
||||||
|
socket
|
||||||
|
) do
|
||||||
|
{:noreply, socket |> assign(:current_embed, embed)}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:post_updated, post}, socket) do
|
def handle_info({:post_updated, post}, socket) do
|
||||||
{:noreply, socket |> update(:posts, fn posts -> [post | posts] end)}
|
{:noreply, socket |> update(:posts, fn posts -> [post | posts] end)}
|
||||||
@@ -267,9 +276,15 @@ defmodule ClaperWeb.EventLive.Show do
|
|||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:poll_updated, poll}, socket) do
|
def handle_info({:poll_updated, poll}, socket) do
|
||||||
{:noreply,
|
if poll.enabled do
|
||||||
socket
|
{:noreply,
|
||||||
|> update(:current_poll, fn _current_poll -> poll end)}
|
socket
|
||||||
|
|> update(:current_poll, fn _current_poll -> poll end)}
|
||||||
|
else
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_poll, fn _current_poll -> nil end)}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
@@ -281,9 +296,15 @@ defmodule ClaperWeb.EventLive.Show do
|
|||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:form_updated, form}, socket) do
|
def handle_info({:form_updated, form}, socket) do
|
||||||
{:noreply,
|
if form.enabled do
|
||||||
socket
|
{:noreply,
|
||||||
|> update(:current_form, fn _current_form -> form end)}
|
socket
|
||||||
|
|> update(:current_form, fn _current_form -> form end)}
|
||||||
|
else
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_form, fn _current_form -> nil end)}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
@@ -293,6 +314,26 @@ defmodule ClaperWeb.EventLive.Show do
|
|||||||
|> update(:current_form, fn _current_form -> nil end)}
|
|> update(:current_form, fn _current_form -> nil end)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info({:embed_updated, embed}, socket) do
|
||||||
|
if embed.enabled do
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_embed, fn _current_embed -> embed end)}
|
||||||
|
else
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_embed, fn _current_embed -> nil end)}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def handle_info({:embed_deleted, _embed}, socket) do
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> update(:current_embed, fn _current_embed -> nil end)}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:react, type}, socket) do
|
def handle_info({:react, type}, socket) do
|
||||||
{:noreply,
|
{:noreply,
|
||||||
@@ -647,6 +688,16 @@ defmodule ClaperWeb.EventLive.Show do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp get_current_embed(socket, event) do
|
||||||
|
with embed <-
|
||||||
|
Embeds.get_embed_current_position(
|
||||||
|
event.presentation_file.id,
|
||||||
|
event.presentation_file.presentation_state.position
|
||||||
|
) do
|
||||||
|
socket |> assign(:current_embed, embed)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
defp get_current_vote(%{assigns: %{current_user: current_user}} = socket, poll_id)
|
defp get_current_vote(%{assigns: %{current_user: current_user}} = socket, poll_id)
|
||||||
when is_map(current_user) do
|
when is_map(current_user) do
|
||||||
vote = Polls.get_poll_vote(current_user.id, poll_id)
|
vote = Polls.get_poll_vote(current_user.id, poll_id)
|
||||||
|
|||||||
@@ -88,6 +88,24 @@
|
|||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<%= if @current_embed != nil and @current_embed.attendee_visibility == true do %>
|
||||||
|
<div
|
||||||
|
id="embed-wrapper-parent"
|
||||||
|
class="animate__animated animate__zoomInDown w-full lg:w-1/3 lg:mx-auto fixed top-16 z-10 px-2 pb-6 lg:px-7 max-h-screen overflow-y-auto"
|
||||||
|
>
|
||||||
|
<div class="transition-all" id="embed-wrapper">
|
||||||
|
<.live_component
|
||||||
|
module={ClaperWeb.EventLive.EmbedComponent}
|
||||||
|
id={"#{@current_embed.id}-embed"}
|
||||||
|
embed={@current_embed}
|
||||||
|
current_user={@current_user}
|
||||||
|
attendee_identifier={@attendee_identifier}
|
||||||
|
event={@event}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="flex flex-col space-y-4 px-5 pt-20 pb-32 lg:w-1/3 bg-black min-h-screen"
|
class="flex flex-col space-y-4 px-5 pt-20 pb-32 lg:w-1/3 bg-black min-h-screen"
|
||||||
id="post-list"
|
id="post-list"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ defmodule ClaperWeb.StatLive.Index do
|
|||||||
|
|
||||||
event =
|
event =
|
||||||
Events.get_managed_event!(socket.assigns.current_user, id,
|
Events.get_managed_event!(socket.assigns.current_user, id,
|
||||||
presentation_file: [polls: [:poll_opts], forms: [:form_submits]]
|
presentation_file: [polls: [:poll_opts], forms: [:form_submits], embeds: []]
|
||||||
)
|
)
|
||||||
|
|
||||||
grouped_total_votes = Claper.Stats.total_vote_count(event.presentation_file.id)
|
grouped_total_votes = Claper.Stats.total_vote_count(event.presentation_file.id)
|
||||||
|
|||||||
@@ -252,6 +252,17 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<%= for embed <- Enum.filter(@event.presentation_file.embeds , fn e -> e.position == position end) do %>
|
||||||
|
<span class="text-2xl font-semibold text-gray-900 mb-4">
|
||||||
|
<%= gettext("Embed") %>: <%= embed.title %>
|
||||||
|
</span>
|
||||||
|
<div class="px-4 pb-2 pt-3 rounded-b-lg rounded-tr-lg bg-white relative shadow-md text-black break-all mt-4">
|
||||||
|
<div class="flex space-x-3 items-center">
|
||||||
|
<%= raw(embed.content) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<% posts = Enum.filter(@posts, fn p -> p.position == position end) %>
|
<% posts = Enum.filter(@posts, fn p -> p.position == position end) %>
|
||||||
|
|
||||||
<span class="text-2xl font-semibold text-gray-900 mb-4">Messages</span>
|
<span class="text-2xl font-semibold text-gray-900 mb-4">Messages</span>
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ defmodule ClaperWeb.Router do
|
|||||||
live("/e/:code/manage/add/form", EventLive.Manage, :add_form)
|
live("/e/:code/manage/add/form", EventLive.Manage, :add_form)
|
||||||
live("/e/:code/manage/import", EventLive.Manage, :import)
|
live("/e/:code/manage/import", EventLive.Manage, :import)
|
||||||
live("/e/:code/manage/edit/form/:id", EventLive.Manage, :edit_form)
|
live("/e/:code/manage/edit/form/:id", EventLive.Manage, :edit_form)
|
||||||
|
live("/e/:code/manage/add/embed", EventLive.Manage, :add_embed)
|
||||||
|
live("/e/:code/manage/edit/embed/:id", EventLive.Manage, :edit_embed)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,39 @@ defmodule ClaperWeb.Component.Input do
|
|||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def textarea(assigns) do
|
||||||
|
assigns =
|
||||||
|
assigns
|
||||||
|
|> assign_new(:required, fn -> false end)
|
||||||
|
|> assign_new(:autofocus, fn -> false end)
|
||||||
|
|> assign_new(:placeholder, fn -> false end)
|
||||||
|
|> assign_new(:readonly, fn -> false end)
|
||||||
|
|> assign_new(:labelClass, fn -> "text-gray-700" end)
|
||||||
|
|> assign_new(:fieldClass, fn -> "bg-white" end)
|
||||||
|
|> assign_new(:value, fn -> input_value(assigns.form, assigns.key) end)
|
||||||
|
|
||||||
|
~H"""
|
||||||
|
<div class="relative">
|
||||||
|
<%= label(@form, @key, @name, class: "block text-sm font-medium #{@labelClass}") %>
|
||||||
|
<div class="mt-1">
|
||||||
|
<%= text_input(@form, @key,
|
||||||
|
required: @required,
|
||||||
|
readonly: @readonly,
|
||||||
|
autofocus: @autofocus,
|
||||||
|
placeholder: @placeholder,
|
||||||
|
autocomplete: @key,
|
||||||
|
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-4 px-3"
|
||||||
|
) %>
|
||||||
|
</div>
|
||||||
|
<%= if Keyword.has_key?(@form.errors, @key) do %>
|
||||||
|
<p class="text-supporting-red-500 text-sm"><%= error_tag(@form, @key) %></p>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
|
||||||
def select(assigns) do
|
def select(assigns) do
|
||||||
assigns =
|
assigns =
|
||||||
assigns
|
assigns
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ msgstr ""
|
|||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Einstellungen"
|
msgstr "Einstellungen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:457
|
#: lib/claper_web/live/event_live/manage.ex:529
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
||||||
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
||||||
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
||||||
@@ -78,22 +78,22 @@ msgstr "Wir haben Ihnen eine E-Mail geschickt an"
|
|||||||
msgid "Your personal informations only visible by you"
|
msgid "Your personal informations only visible by you"
|
||||||
msgstr "Ihre persönlichen Informationen sind nur für Sie sichtbar"
|
msgstr "Ihre persönlichen Informationen sind nur für Sie sichtbar"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:387
|
#: lib/claper_web/live/event_live/show.html.heex:405
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "days"
|
msgid "days"
|
||||||
msgstr "Tage"
|
msgstr "Tage"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:393
|
#: lib/claper_web/live/event_live/show.html.heex:411
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "hours"
|
msgid "hours"
|
||||||
msgstr "Stunden"
|
msgstr "Stunden"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:399
|
#: lib/claper_web/live/event_live/show.html.heex:417
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "minutes"
|
msgid "minutes"
|
||||||
msgstr "Minuten"
|
msgstr "Minuten"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:118
|
#: lib/claper_web/live/event_live/show.html.heex:136
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Be the first to react !"
|
msgid "Be the first to react !"
|
||||||
msgstr "Seien Sie der Erste, der reagiert!"
|
msgstr "Seien Sie der Erste, der reagiert!"
|
||||||
@@ -101,7 +101,7 @@ msgstr "Seien Sie der Erste, der reagiert!"
|
|||||||
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
||||||
#: lib/claper_web/live/event_live/join.ex:42
|
#: lib/claper_web/live/event_live/join.ex:42
|
||||||
#: lib/claper_web/live/event_live/join.html.heex:106
|
#: lib/claper_web/live/event_live/join.html.heex:106
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:239
|
#: lib/claper_web/live/event_live/show.html.heex:257
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Join"
|
msgid "Join"
|
||||||
msgstr "Teilnehmen"
|
msgstr "Teilnehmen"
|
||||||
@@ -119,7 +119,7 @@ msgstr "Dashboard"
|
|||||||
msgid "Host"
|
msgid "Host"
|
||||||
msgstr "Host"
|
msgstr "Host"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:405
|
#: lib/claper_web/live/event_live/show.html.heex:423
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "seconds"
|
msgid "seconds"
|
||||||
msgstr "Sekunden"
|
msgstr "Sekunden"
|
||||||
@@ -171,7 +171,7 @@ msgid "Name of your presentation"
|
|||||||
msgstr "Name Ihrer Präsentation"
|
msgstr "Name Ihrer Präsentation"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:414
|
#: lib/claper_web/live/event_live/show.html.heex:432
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Scan to interact in real-time"
|
msgid "Scan to interact in real-time"
|
||||||
msgstr "Scannen und in Echtzeit interagieren"
|
msgstr "Scannen und in Echtzeit interagieren"
|
||||||
@@ -213,7 +213,7 @@ msgstr "Zurück zur Startseite"
|
|||||||
msgid "Created successfully"
|
msgid "Created successfully"
|
||||||
msgstr "Erfolgreich erstellt"
|
msgstr "Erfolgreich erstellt"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:23
|
#: lib/claper_web/live/event_live/manage.ex:24
|
||||||
#: lib/claper_web/live/event_live/presenter.ex:21
|
#: lib/claper_web/live/event_live/presenter.ex:21
|
||||||
#: lib/claper_web/live/event_live/show.ex:24
|
#: lib/claper_web/live/event_live/show.ex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@@ -228,6 +228,7 @@ msgstr "Präsentation existiert nicht"
|
|||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Ändern"
|
msgstr "Ändern"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:38
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
||||||
#: lib/claper_web/live/event_live/index.ex:71
|
#: lib/claper_web/live/event_live/index.ex:71
|
||||||
@@ -238,10 +239,11 @@ msgstr "Ändern"
|
|||||||
msgid "Create"
|
msgid "Create"
|
||||||
msgstr "Erstellen"
|
msgstr "Erstellen"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:43
|
||||||
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:631
|
#: lib/claper_web/live/event_live/manage.html.heex:755
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:731
|
#: lib/claper_web/live/event_live/manage.html.heex:855
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:44
|
#: lib/claper_web/live/event_live/post_component.ex:44
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:116
|
#: lib/claper_web/live/event_live/post_component.ex:116
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
||||||
@@ -250,6 +252,7 @@ msgstr "Erstellen"
|
|||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Löschen"
|
msgstr "Löschen"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:39
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
||||||
@@ -373,12 +376,12 @@ msgstr "Datei ändern"
|
|||||||
msgid "Presentation replaced"
|
msgid "Presentation replaced"
|
||||||
msgstr "Präsentation ersetzt"
|
msgstr "Präsentation ersetzt"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:256
|
#: lib/claper_web/live/event_live/manage.html.heex:287
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit poll"
|
msgid "Edit poll"
|
||||||
msgstr "Umfrage bearbeiten"
|
msgstr "Umfrage bearbeiten"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:255
|
#: lib/claper_web/live/event_live/manage.html.heex:286
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New poll"
|
msgid "New poll"
|
||||||
msgstr "Neue Umfrage"
|
msgstr "Neue Umfrage"
|
||||||
@@ -399,7 +402,7 @@ msgid "Add poll to know opinion of your public."
|
|||||||
msgstr "Fügen Sie eine Umfrage hinzu, um die Meinung Ihres Publikums zu erfahren."
|
msgstr "Fügen Sie eine Umfrage hinzu, um die Meinung Ihres Publikums zu erfahren."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:174
|
#: lib/claper_web/live/event_live/manage.html.heex:174
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:395
|
#: lib/claper_web/live/event_live/manage.html.heex:447
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Poll"
|
msgid "Poll"
|
||||||
msgstr "Umfrage"
|
msgstr "Umfrage"
|
||||||
@@ -443,8 +446,9 @@ msgstr "Benutzer Email-Adresse"
|
|||||||
msgid "Present/Customize"
|
msgid "Present/Customize"
|
||||||
msgstr "Vorstellen/Ändern"
|
msgstr "Vorstellen/Ändern"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:408
|
#: lib/claper_web/live/event_live/manage.html.heex:460
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:484
|
#: lib/claper_web/live/event_live/manage.html.heex:536
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:606
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktiv"
|
msgstr "Aktiv"
|
||||||
@@ -454,12 +458,12 @@ msgstr "Aktiv"
|
|||||||
msgid "Changing your file will remove all interaction elements like polls associated."
|
msgid "Changing your file will remove all interaction elements like polls associated."
|
||||||
msgstr "Wenn Sie Ihre Datei ändern, werden alle damit verbundenen Interaktionselemente wie Umfragen entfernt."
|
msgstr "Wenn Sie Ihre Datei ändern, werden alle damit verbundenen Interaktionselemente wie Umfragen entfernt."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:584
|
#: lib/claper_web/live/event_live/manage.html.heex:708
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages from attendees will appear here."
|
msgid "Messages from attendees will appear here."
|
||||||
msgstr "Nachrichten von Teilnehmern werden hier erscheinen."
|
msgstr "Nachrichten von Teilnehmern werden hier erscheinen."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:770
|
#: lib/claper_web/live/event_live/manage.html.heex:894
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "On screen settings"
|
msgid "On screen settings"
|
||||||
msgstr "Bildschirmeinstellungen"
|
msgstr "Bildschirmeinstellungen"
|
||||||
@@ -484,19 +488,20 @@ msgstr "Start"
|
|||||||
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
||||||
msgstr "Drücken Sie <strong>F</strong> im Präsentationsfenster, um den Vollbildmodus zu aktivieren"
|
msgstr "Drücken Sie <strong>F</strong> im Präsentationsfenster, um den Vollbildmodus zu aktivieren"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:298
|
#: lib/claper_web/live/event_live/show.html.heex:316
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ask, comment..."
|
msgid "Ask, comment..."
|
||||||
msgstr "Fragen, kommentieren..."
|
msgstr "Fragen, kommentieren..."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:556
|
#: lib/claper_web/live/event_live/manage.html.heex:680
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:71
|
#: lib/claper_web/live/stat_live/index.html.heex:71
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages"
|
msgid "Messages"
|
||||||
msgstr "Nachrichten"
|
msgstr "Nachrichten"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:416
|
#: lib/claper_web/live/event_live/manage.html.heex:468
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:492
|
#: lib/claper_web/live/event_live/manage.html.heex:544
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:614
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Set active"
|
msgid "Set active"
|
||||||
msgstr "Aktivieren"
|
msgstr "Aktivieren"
|
||||||
@@ -532,26 +537,26 @@ msgstr "Wenn Sie Probleme mit der obigen Schaltfläche haben, kopieren Sie die f
|
|||||||
msgid "You can change your email by visiting the URL below"
|
msgid "You can change your email by visiting the URL below"
|
||||||
msgstr "Sie können Ihre E-Mail-Adresse ändern, indem Sie die folgende URL aufrufen"
|
msgstr "Sie können Ihre E-Mail-Adresse ändern, indem Sie die folgende URL aufrufen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:525
|
#: lib/claper_web/live/event_live/manage.html.heex:649
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Add interaction"
|
msgid "Add interaction"
|
||||||
msgstr "Interaktion hinzufügen"
|
msgstr "Interaktion hinzufügen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:607
|
#: lib/claper_web/live/event_live/manage.html.heex:731
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:622
|
#: lib/claper_web/live/event_live/manage.html.heex:746
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
||||||
msgstr "Wenn Sie diesen Benutzer sperren, werden alle seine Nachrichten gelöscht, und er kann nicht mehr beitreten. Bestätigen?"
|
msgstr "Wenn Sie diesen Benutzer sperren, werden alle seine Nachrichten gelöscht, und er kann nicht mehr beitreten. Bestätigen?"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.ex:50
|
#: lib/claper_web/live/event_live/show.ex:50
|
||||||
#: lib/claper_web/live/event_live/show.ex:197
|
#: lib/claper_web/live/event_live/show.ex:198
|
||||||
#: lib/claper_web/live/event_live/show.ex:212
|
#: lib/claper_web/live/event_live/show.ex:213
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You have been banned from this event"
|
msgid "You have been banned from this event"
|
||||||
msgstr "Sie wurden von dieser Veranstaltung ausgeschlossen"
|
msgstr "Sie wurden von dieser Veranstaltung ausgeschlossen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:601
|
#: lib/claper_web/live/event_live/manage.html.heex:725
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:616
|
#: lib/claper_web/live/event_live/manage.html.heex:740
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ban"
|
msgid "Ban"
|
||||||
msgstr "Ban"
|
msgstr "Ban"
|
||||||
@@ -645,7 +650,7 @@ msgstr "Veranstaltung"
|
|||||||
msgid "Interactions history"
|
msgid "Interactions history"
|
||||||
msgstr "Interaktionsgeschichte"
|
msgstr "Interaktionsgeschichte"
|
||||||
|
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:260
|
#: lib/claper_web/live/stat_live/index.html.heex:271
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No messages has been sent"
|
msgid "No messages has been sent"
|
||||||
msgstr "Es wurden keine Nachrichten gesendet"
|
msgstr "Es wurden keine Nachrichten gesendet"
|
||||||
@@ -705,7 +710,7 @@ msgstr "Anmeldung"
|
|||||||
msgid "Connect to your account"
|
msgid "Connect to your account"
|
||||||
msgstr "Verbinden Sie sich mit Ihrem Konto"
|
msgstr "Verbinden Sie sich mit Ihrem Konto"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:423
|
#: lib/claper_web/live/event_live/show.html.heex:441
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Or use the code:"
|
msgid "Or use the code:"
|
||||||
msgstr "Oder verwenden Sie den Code:"
|
msgstr "Oder verwenden Sie den Code:"
|
||||||
@@ -776,34 +781,34 @@ msgstr "Fügen Sie ein Formular hinzu, um Daten von Ihrem Publikum zu sammeln."
|
|||||||
msgid "Current form"
|
msgid "Current form"
|
||||||
msgstr "Aktuelles Formular"
|
msgstr "Aktuelles Formular"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:277
|
#: lib/claper_web/live/event_live/manage.html.heex:308
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit form"
|
msgid "Edit form"
|
||||||
msgstr "Formular bearbeiten"
|
msgstr "Formular bearbeiten"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:211
|
#: lib/claper_web/live/event_live/manage.html.heex:211
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:471
|
#: lib/claper_web/live/event_live/manage.html.heex:523
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:215
|
#: lib/claper_web/live/stat_live/index.html.heex:215
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form"
|
msgid "Form"
|
||||||
msgstr "Formular"
|
msgstr "Formular"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:559
|
#: lib/claper_web/live/event_live/manage.html.heex:683
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions"
|
msgid "Form submissions"
|
||||||
msgstr "Abgeschickte Formulare"
|
msgstr "Abgeschickte Formulare"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:711
|
#: lib/claper_web/live/event_live/manage.html.heex:835
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions from attendees will appear here."
|
msgid "Form submissions from attendees will appear here."
|
||||||
msgstr "Formulareinsendungen der Teilnehmer werden hier angezeigt."
|
msgstr "Formulareinsendungen der Teilnehmer werden hier angezeigt."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:456
|
#: lib/claper_web/live/event_live/manage.ex:528
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:276
|
#: lib/claper_web/live/event_live/manage.html.heex:307
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New form"
|
msgid "New form"
|
||||||
msgstr "Neues Formular"
|
msgstr "Neues Formular"
|
||||||
@@ -828,7 +833,7 @@ msgstr "Abschicken"
|
|||||||
msgid "Text"
|
msgid "Text"
|
||||||
msgstr "Text"
|
msgstr "Text"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:736
|
#: lib/claper_web/live/event_live/manage.html.heex:860
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "This cannot be undone, confirm ?"
|
msgid "This cannot be undone, confirm ?"
|
||||||
msgstr "Dies kann nicht rückgängig gemacht werden. Bestätigen?"
|
msgstr "Dies kann nicht rückgängig gemacht werden. Bestätigen?"
|
||||||
@@ -868,22 +873,22 @@ msgstr "Wählen Sie eine oder mehrere Optionen aus"
|
|||||||
msgid "Multiple answers"
|
msgid "Multiple answers"
|
||||||
msgstr "Mehrere Antworten"
|
msgstr "Mehrere Antworten"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:244
|
#: lib/claper_web/live/event_live/manage.html.heex:275
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Import all interactions from another presentation"
|
msgid "Import all interactions from another presentation"
|
||||||
msgstr "Importieren Sie alle Interaktionen aus einer anderen Präsentation"
|
msgstr "Importieren Sie alle Interaktionen aus einer anderen Präsentation"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:183
|
#: lib/claper_web/live/event_live/manage.ex:202
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions import failed"
|
msgid "Interactions import failed"
|
||||||
msgstr "Der Import der Interaktionen ist fehlgeschlagen"
|
msgstr "Der Import der Interaktionen ist fehlgeschlagen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:176
|
#: lib/claper_web/live/event_live/manage.ex:195
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions imported successfully"
|
msgid "Interactions imported successfully"
|
||||||
msgstr "Interaktionen erfolgreich importiert"
|
msgstr "Interaktionen erfolgreich importiert"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:295
|
#: lib/claper_web/live/event_live/manage.html.heex:347
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Select presentation"
|
msgid "Select presentation"
|
||||||
msgstr "Präsentation auswählen"
|
msgstr "Präsentation auswählen"
|
||||||
@@ -893,55 +898,55 @@ msgstr "Präsentation auswählen"
|
|||||||
msgid "PDF, PPT, PPTX up to %{size} MB"
|
msgid "PDF, PPT, PPTX up to %{size} MB"
|
||||||
msgstr "PDF, PPT, PPTX bis zu %{size} MB"
|
msgstr "PDF, PPT, PPTX bis zu %{size} MB"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:796
|
#: lib/claper_web/live/event_live/manage.html.heex:920
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Attendees settings"
|
msgid "Attendees settings"
|
||||||
msgstr "Teilnehmereinstellungen"
|
msgstr "Teilnehmereinstellungen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:800
|
#: lib/claper_web/live/event_live/manage.html.heex:924
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enable messages"
|
msgid "Enable messages"
|
||||||
msgstr "Nachrichten aktivieren"
|
msgstr "Nachrichten aktivieren"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:777
|
#: lib/claper_web/live/event_live/manage.html.heex:901
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show instructions"
|
msgid "Show instructions"
|
||||||
msgstr "Anleitung anzeigen"
|
msgstr "Anleitung anzeigen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:782
|
#: lib/claper_web/live/event_live/manage.html.heex:906
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show messages"
|
msgid "Show messages"
|
||||||
msgstr "Nachrichten anzeigen"
|
msgstr "Nachrichten anzeigen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:791
|
#: lib/claper_web/live/event_live/manage.html.heex:915
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show poll results"
|
msgid "Show poll results"
|
||||||
msgstr "Umfrageergebnisse anzeigen"
|
msgstr "Umfrageergebnisse anzeigen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:318
|
#: lib/claper_web/live/event_live/show.html.heex:336
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages deactivated"
|
msgid "Messages deactivated"
|
||||||
msgstr "Nachrichten deaktiviert"
|
msgstr "Nachrichten deaktiviert"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:161
|
#: lib/claper_web/live/event_live/show.html.heex:179
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:282
|
#: lib/claper_web/live/event_live/show.html.heex:300
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Anonymous"
|
msgid "Anonymous"
|
||||||
msgstr "Anonymous"
|
msgstr "Anonymous"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:208
|
#: lib/claper_web/live/event_live/show.html.heex:226
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Schließen"
|
msgstr "Schließen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:808
|
#: lib/claper_web/live/event_live/manage.html.heex:932
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Enable anonymous messages"
|
msgid "Enable anonymous messages"
|
||||||
msgstr "Anonyme Nachrichten aktivieren"
|
msgstr "Anonyme Nachrichten aktivieren"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:189
|
#: lib/claper_web/live/event_live/show.html.heex:207
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:234
|
#: lib/claper_web/live/event_live/show.html.heex:252
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Enter your name"
|
msgid "Enter your name"
|
||||||
msgstr "Benutze deinen Namen"
|
msgstr "Benutze deinen Namen"
|
||||||
@@ -951,12 +956,12 @@ msgstr "Benutze deinen Namen"
|
|||||||
msgid "Or go to %{url} and use the code:"
|
msgid "Or go to %{url} and use the code:"
|
||||||
msgstr "Oder gehen Sie zu %{url} und verwenden Sie den Code:"
|
msgstr "Oder gehen Sie zu %{url} und verwenden Sie den Code:"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:202
|
#: lib/claper_web/live/event_live/show.html.heex:220
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Use your name"
|
msgid "Use your name"
|
||||||
msgstr "Benutze deinen Namen"
|
msgstr "Benutze deinen Namen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "deaktiviert"
|
msgstr "deaktiviert"
|
||||||
@@ -966,6 +971,57 @@ msgstr "deaktiviert"
|
|||||||
msgid "Account creation is disabled"
|
msgid "Account creation is disabled"
|
||||||
msgstr "Kontoerstellung ist deaktiviert"
|
msgstr "Kontoerstellung ist deaktiviert"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:244
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Add a Youtube video or any web content."
|
||||||
|
msgstr "Fügen Sie ein YouTube-Video oder einen beliebigen Webinhalt hinzu."
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:23
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Content of your embed"
|
||||||
|
msgstr "Inhalt Ihrer Einbettung"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:59
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Current embed"
|
||||||
|
msgstr "Aktuelle Einbettung"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:329
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Edit Embed"
|
||||||
|
msgstr "Einbetten bearbeiten"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:593
|
||||||
|
#: lib/claper_web/live/stat_live/index.html.heex:257
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embed"
|
||||||
|
msgstr "Einbetten"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:242
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embeded"
|
||||||
|
msgstr "Eingebettet"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:328
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "New Embed"
|
||||||
|
msgstr "Neue Einbettung"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:36
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "See current embed"
|
||||||
|
msgstr "Siehe aktuelle Einbettung"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:49
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "This will delete the embed, are you sure?"
|
||||||
|
msgstr "Dadurch wird die Einbettung gelöscht. Sind Sie sicher?"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:14
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Title of your embed"
|
||||||
|
msgstr "Titel Ihrer Einbettung"
|
||||||
|
|
||||||
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Confirm new password"
|
msgid "Confirm new password"
|
||||||
@@ -1005,4 +1061,4 @@ msgstr "Aktualisieren Sie Ihr Passwort"
|
|||||||
#: lib/claper_web/templates/user_reset_password/new.html.heex:41
|
#: lib/claper_web/templates/user_reset_password/new.html.heex:41
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Send link to reset password"
|
msgid "Send link to reset password"
|
||||||
msgstr "Link zum Zurücksetzen des Passworts senden"
|
msgstr "Link zum Zurücksetzen des Passworts senden"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:457
|
#: lib/claper_web/live/event_live/manage.ex:529
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
||||||
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
||||||
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
||||||
@@ -80,22 +80,22 @@ msgstr ""
|
|||||||
msgid "Your personal informations only visible by you"
|
msgid "Your personal informations only visible by you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:387
|
#: lib/claper_web/live/event_live/show.html.heex:405
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "days"
|
msgid "days"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:393
|
#: lib/claper_web/live/event_live/show.html.heex:411
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "hours"
|
msgid "hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:399
|
#: lib/claper_web/live/event_live/show.html.heex:417
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "minutes"
|
msgid "minutes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:118
|
#: lib/claper_web/live/event_live/show.html.heex:136
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Be the first to react !"
|
msgid "Be the first to react !"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -103,7 +103,7 @@ msgstr ""
|
|||||||
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
||||||
#: lib/claper_web/live/event_live/join.ex:42
|
#: lib/claper_web/live/event_live/join.ex:42
|
||||||
#: lib/claper_web/live/event_live/join.html.heex:106
|
#: lib/claper_web/live/event_live/join.html.heex:106
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:239
|
#: lib/claper_web/live/event_live/show.html.heex:257
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Join"
|
msgid "Join"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -121,7 +121,7 @@ msgstr ""
|
|||||||
msgid "Host"
|
msgid "Host"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:405
|
#: lib/claper_web/live/event_live/show.html.heex:423
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "seconds"
|
msgid "seconds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -173,7 +173,7 @@ msgid "Name of your presentation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:414
|
#: lib/claper_web/live/event_live/show.html.heex:432
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Scan to interact in real-time"
|
msgid "Scan to interact in real-time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -215,7 +215,7 @@ msgstr ""
|
|||||||
msgid "Created successfully"
|
msgid "Created successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:23
|
#: lib/claper_web/live/event_live/manage.ex:24
|
||||||
#: lib/claper_web/live/event_live/presenter.ex:21
|
#: lib/claper_web/live/event_live/presenter.ex:21
|
||||||
#: lib/claper_web/live/event_live/show.ex:24
|
#: lib/claper_web/live/event_live/show.ex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@@ -230,6 +230,7 @@ msgstr ""
|
|||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:38
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
||||||
#: lib/claper_web/live/event_live/index.ex:71
|
#: lib/claper_web/live/event_live/index.ex:71
|
||||||
@@ -240,10 +241,11 @@ msgstr ""
|
|||||||
msgid "Create"
|
msgid "Create"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:43
|
||||||
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:631
|
#: lib/claper_web/live/event_live/manage.html.heex:755
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:731
|
#: lib/claper_web/live/event_live/manage.html.heex:855
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:44
|
#: lib/claper_web/live/event_live/post_component.ex:44
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:116
|
#: lib/claper_web/live/event_live/post_component.ex:116
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
||||||
@@ -252,6 +254,7 @@ msgstr ""
|
|||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:39
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
||||||
@@ -375,12 +378,12 @@ msgstr ""
|
|||||||
msgid "Presentation replaced"
|
msgid "Presentation replaced"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:256
|
#: lib/claper_web/live/event_live/manage.html.heex:287
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit poll"
|
msgid "Edit poll"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:255
|
#: lib/claper_web/live/event_live/manage.html.heex:286
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New poll"
|
msgid "New poll"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -401,7 +404,7 @@ msgid "Add poll to know opinion of your public."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:174
|
#: lib/claper_web/live/event_live/manage.html.heex:174
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:395
|
#: lib/claper_web/live/event_live/manage.html.heex:447
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Poll"
|
msgid "Poll"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -445,8 +448,9 @@ msgstr ""
|
|||||||
msgid "Present/Customize"
|
msgid "Present/Customize"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:408
|
#: lib/claper_web/live/event_live/manage.html.heex:460
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:484
|
#: lib/claper_web/live/event_live/manage.html.heex:536
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:606
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -456,12 +460,12 @@ msgstr ""
|
|||||||
msgid "Changing your file will remove all interaction elements like polls associated."
|
msgid "Changing your file will remove all interaction elements like polls associated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:584
|
#: lib/claper_web/live/event_live/manage.html.heex:708
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages from attendees will appear here."
|
msgid "Messages from attendees will appear here."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:770
|
#: lib/claper_web/live/event_live/manage.html.heex:894
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "On screen settings"
|
msgid "On screen settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -486,19 +490,20 @@ msgstr ""
|
|||||||
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:298
|
#: lib/claper_web/live/event_live/show.html.heex:316
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ask, comment..."
|
msgid "Ask, comment..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:556
|
#: lib/claper_web/live/event_live/manage.html.heex:680
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:71
|
#: lib/claper_web/live/stat_live/index.html.heex:71
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages"
|
msgid "Messages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:416
|
#: lib/claper_web/live/event_live/manage.html.heex:468
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:492
|
#: lib/claper_web/live/event_live/manage.html.heex:544
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:614
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Set active"
|
msgid "Set active"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -534,26 +539,26 @@ msgstr ""
|
|||||||
msgid "You can change your email by visiting the URL below"
|
msgid "You can change your email by visiting the URL below"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:525
|
#: lib/claper_web/live/event_live/manage.html.heex:649
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Add interaction"
|
msgid "Add interaction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:607
|
#: lib/claper_web/live/event_live/manage.html.heex:731
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:622
|
#: lib/claper_web/live/event_live/manage.html.heex:746
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.ex:50
|
#: lib/claper_web/live/event_live/show.ex:50
|
||||||
#: lib/claper_web/live/event_live/show.ex:197
|
#: lib/claper_web/live/event_live/show.ex:198
|
||||||
#: lib/claper_web/live/event_live/show.ex:212
|
#: lib/claper_web/live/event_live/show.ex:213
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You have been banned from this event"
|
msgid "You have been banned from this event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:601
|
#: lib/claper_web/live/event_live/manage.html.heex:725
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:616
|
#: lib/claper_web/live/event_live/manage.html.heex:740
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ban"
|
msgid "Ban"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -647,7 +652,7 @@ msgstr ""
|
|||||||
msgid "Interactions history"
|
msgid "Interactions history"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:260
|
#: lib/claper_web/live/stat_live/index.html.heex:271
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No messages has been sent"
|
msgid "No messages has been sent"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -707,7 +712,7 @@ msgstr ""
|
|||||||
msgid "Connect to your account"
|
msgid "Connect to your account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:423
|
#: lib/claper_web/live/event_live/show.html.heex:441
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Or use the code:"
|
msgid "Or use the code:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -778,34 +783,34 @@ msgstr ""
|
|||||||
msgid "Current form"
|
msgid "Current form"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:277
|
#: lib/claper_web/live/event_live/manage.html.heex:308
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit form"
|
msgid "Edit form"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:211
|
#: lib/claper_web/live/event_live/manage.html.heex:211
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:471
|
#: lib/claper_web/live/event_live/manage.html.heex:523
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:215
|
#: lib/claper_web/live/stat_live/index.html.heex:215
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form"
|
msgid "Form"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:559
|
#: lib/claper_web/live/event_live/manage.html.heex:683
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions"
|
msgid "Form submissions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:711
|
#: lib/claper_web/live/event_live/manage.html.heex:835
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions from attendees will appear here."
|
msgid "Form submissions from attendees will appear here."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:456
|
#: lib/claper_web/live/event_live/manage.ex:528
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:276
|
#: lib/claper_web/live/event_live/manage.html.heex:307
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New form"
|
msgid "New form"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -830,7 +835,7 @@ msgstr ""
|
|||||||
msgid "Text"
|
msgid "Text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:736
|
#: lib/claper_web/live/event_live/manage.html.heex:860
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "This cannot be undone, confirm ?"
|
msgid "This cannot be undone, confirm ?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -870,22 +875,22 @@ msgstr ""
|
|||||||
msgid "Multiple answers"
|
msgid "Multiple answers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:244
|
#: lib/claper_web/live/event_live/manage.html.heex:275
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Import all interactions from another presentation"
|
msgid "Import all interactions from another presentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:183
|
#: lib/claper_web/live/event_live/manage.ex:202
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions import failed"
|
msgid "Interactions import failed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:176
|
#: lib/claper_web/live/event_live/manage.ex:195
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions imported successfully"
|
msgid "Interactions imported successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:295
|
#: lib/claper_web/live/event_live/manage.html.heex:347
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Select presentation"
|
msgid "Select presentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -895,55 +900,55 @@ msgstr ""
|
|||||||
msgid "PDF, PPT, PPTX up to %{size} MB"
|
msgid "PDF, PPT, PPTX up to %{size} MB"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:796
|
#: lib/claper_web/live/event_live/manage.html.heex:920
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Attendees settings"
|
msgid "Attendees settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:800
|
#: lib/claper_web/live/event_live/manage.html.heex:924
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enable messages"
|
msgid "Enable messages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:777
|
#: lib/claper_web/live/event_live/manage.html.heex:901
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show instructions"
|
msgid "Show instructions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:782
|
#: lib/claper_web/live/event_live/manage.html.heex:906
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show messages"
|
msgid "Show messages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:791
|
#: lib/claper_web/live/event_live/manage.html.heex:915
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show poll results"
|
msgid "Show poll results"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:318
|
#: lib/claper_web/live/event_live/show.html.heex:336
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages deactivated"
|
msgid "Messages deactivated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:161
|
#: lib/claper_web/live/event_live/show.html.heex:179
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:282
|
#: lib/claper_web/live/event_live/show.html.heex:300
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Anonymous"
|
msgid "Anonymous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:208
|
#: lib/claper_web/live/event_live/show.html.heex:226
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:808
|
#: lib/claper_web/live/event_live/manage.html.heex:932
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enable anonymous messages"
|
msgid "Enable anonymous messages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:189
|
#: lib/claper_web/live/event_live/show.html.heex:207
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:234
|
#: lib/claper_web/live/event_live/show.html.heex:252
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enter your name"
|
msgid "Enter your name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -953,12 +958,12 @@ msgstr ""
|
|||||||
msgid "Or go to %{url} and use the code:"
|
msgid "Or go to %{url} and use the code:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:202
|
#: lib/claper_web/live/event_live/show.html.heex:220
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Use your name"
|
msgid "Use your name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -968,6 +973,56 @@ msgstr ""
|
|||||||
msgid "Account creation is disabled"
|
msgid "Account creation is disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:244
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Add a Youtube video or any web content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:23
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Content of your embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:59
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:329
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Edit Embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:593
|
||||||
|
#: lib/claper_web/live/stat_live/index.html.heex:257
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:242
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embeded"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:328
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "New Embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:36
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "See current embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:49
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "This will delete the embed, are you sure?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:14
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Title of your embed"
|
||||||
|
|
||||||
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Confirm new password"
|
msgid "Confirm new password"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ msgstr ""
|
|||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Settings"
|
msgstr "Settings"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:457
|
#: lib/claper_web/live/event_live/manage.ex:529
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
||||||
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
||||||
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
||||||
@@ -78,22 +78,22 @@ msgstr "We sent you an email at"
|
|||||||
msgid "Your personal informations only visible by you"
|
msgid "Your personal informations only visible by you"
|
||||||
msgstr "Your personal informations only visible by you"
|
msgstr "Your personal informations only visible by you"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:387
|
#: lib/claper_web/live/event_live/show.html.heex:405
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "days"
|
msgid "days"
|
||||||
msgstr "days"
|
msgstr "days"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:393
|
#: lib/claper_web/live/event_live/show.html.heex:411
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "hours"
|
msgid "hours"
|
||||||
msgstr "hours"
|
msgstr "hours"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:399
|
#: lib/claper_web/live/event_live/show.html.heex:417
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "minutes"
|
msgid "minutes"
|
||||||
msgstr "minutes"
|
msgstr "minutes"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:118
|
#: lib/claper_web/live/event_live/show.html.heex:136
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Be the first to react !"
|
msgid "Be the first to react !"
|
||||||
msgstr "Be the first to react !"
|
msgstr "Be the first to react !"
|
||||||
@@ -101,7 +101,7 @@ msgstr "Be the first to react !"
|
|||||||
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
||||||
#: lib/claper_web/live/event_live/join.ex:42
|
#: lib/claper_web/live/event_live/join.ex:42
|
||||||
#: lib/claper_web/live/event_live/join.html.heex:106
|
#: lib/claper_web/live/event_live/join.html.heex:106
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:239
|
#: lib/claper_web/live/event_live/show.html.heex:257
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Join"
|
msgid "Join"
|
||||||
msgstr "Join"
|
msgstr "Join"
|
||||||
@@ -119,7 +119,7 @@ msgstr "Dashboard"
|
|||||||
msgid "Host"
|
msgid "Host"
|
||||||
msgstr "Host"
|
msgstr "Host"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:405
|
#: lib/claper_web/live/event_live/show.html.heex:423
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "seconds"
|
msgid "seconds"
|
||||||
msgstr "seconds"
|
msgstr "seconds"
|
||||||
@@ -171,7 +171,7 @@ msgid "Name of your presentation"
|
|||||||
msgstr "Name of your presentation"
|
msgstr "Name of your presentation"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:414
|
#: lib/claper_web/live/event_live/show.html.heex:432
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Scan to interact in real-time"
|
msgid "Scan to interact in real-time"
|
||||||
msgstr "Scan to interact in real-time"
|
msgstr "Scan to interact in real-time"
|
||||||
@@ -213,7 +213,7 @@ msgstr "Return to home"
|
|||||||
msgid "Created successfully"
|
msgid "Created successfully"
|
||||||
msgstr "Created successfully"
|
msgstr "Created successfully"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:23
|
#: lib/claper_web/live/event_live/manage.ex:24
|
||||||
#: lib/claper_web/live/event_live/presenter.ex:21
|
#: lib/claper_web/live/event_live/presenter.ex:21
|
||||||
#: lib/claper_web/live/event_live/show.ex:24
|
#: lib/claper_web/live/event_live/show.ex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@@ -228,6 +228,7 @@ msgstr "Presentation doesn't exist"
|
|||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Edit"
|
msgstr "Edit"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:38
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
||||||
#: lib/claper_web/live/event_live/index.ex:71
|
#: lib/claper_web/live/event_live/index.ex:71
|
||||||
@@ -238,10 +239,11 @@ msgstr "Edit"
|
|||||||
msgid "Create"
|
msgid "Create"
|
||||||
msgstr "Create"
|
msgstr "Create"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:43
|
||||||
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:631
|
#: lib/claper_web/live/event_live/manage.html.heex:755
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:731
|
#: lib/claper_web/live/event_live/manage.html.heex:855
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:44
|
#: lib/claper_web/live/event_live/post_component.ex:44
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:116
|
#: lib/claper_web/live/event_live/post_component.ex:116
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
||||||
@@ -250,6 +252,7 @@ msgstr "Create"
|
|||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Delete"
|
msgstr "Delete"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:39
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
||||||
@@ -373,12 +376,12 @@ msgstr "Change file"
|
|||||||
msgid "Presentation replaced"
|
msgid "Presentation replaced"
|
||||||
msgstr "Presentation replaced"
|
msgstr "Presentation replaced"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:256
|
#: lib/claper_web/live/event_live/manage.html.heex:287
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit poll"
|
msgid "Edit poll"
|
||||||
msgstr "Edit poll"
|
msgstr "Edit poll"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:255
|
#: lib/claper_web/live/event_live/manage.html.heex:286
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New poll"
|
msgid "New poll"
|
||||||
msgstr "New poll"
|
msgstr "New poll"
|
||||||
@@ -399,7 +402,7 @@ msgid "Add poll to know opinion of your public."
|
|||||||
msgstr "Add poll to know opinion of your public."
|
msgstr "Add poll to know opinion of your public."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:174
|
#: lib/claper_web/live/event_live/manage.html.heex:174
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:395
|
#: lib/claper_web/live/event_live/manage.html.heex:447
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Poll"
|
msgid "Poll"
|
||||||
msgstr "Poll"
|
msgstr "Poll"
|
||||||
@@ -443,8 +446,9 @@ msgstr "User email address"
|
|||||||
msgid "Present/Customize"
|
msgid "Present/Customize"
|
||||||
msgstr "Present/Customize"
|
msgstr "Present/Customize"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:408
|
#: lib/claper_web/live/event_live/manage.html.heex:460
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:484
|
#: lib/claper_web/live/event_live/manage.html.heex:536
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:606
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Active"
|
msgstr "Active"
|
||||||
@@ -454,12 +458,12 @@ msgstr "Active"
|
|||||||
msgid "Changing your file will remove all interaction elements like polls associated."
|
msgid "Changing your file will remove all interaction elements like polls associated."
|
||||||
msgstr "Changing your file will remove all interaction elements like polls associated."
|
msgstr "Changing your file will remove all interaction elements like polls associated."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:584
|
#: lib/claper_web/live/event_live/manage.html.heex:708
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages from attendees will appear here."
|
msgid "Messages from attendees will appear here."
|
||||||
msgstr "Messages from attendees will appear here."
|
msgstr "Messages from attendees will appear here."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:770
|
#: lib/claper_web/live/event_live/manage.html.heex:894
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "On screen settings"
|
msgid "On screen settings"
|
||||||
msgstr "On screen settings"
|
msgstr "On screen settings"
|
||||||
@@ -484,19 +488,20 @@ msgstr "Start"
|
|||||||
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
||||||
msgstr "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
msgstr "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:298
|
#: lib/claper_web/live/event_live/show.html.heex:316
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ask, comment..."
|
msgid "Ask, comment..."
|
||||||
msgstr "Ask, comment..."
|
msgstr "Ask, comment..."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:556
|
#: lib/claper_web/live/event_live/manage.html.heex:680
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:71
|
#: lib/claper_web/live/stat_live/index.html.heex:71
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages"
|
msgid "Messages"
|
||||||
msgstr "Messages"
|
msgstr "Messages"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:416
|
#: lib/claper_web/live/event_live/manage.html.heex:468
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:492
|
#: lib/claper_web/live/event_live/manage.html.heex:544
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:614
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Set active"
|
msgid "Set active"
|
||||||
msgstr "Set active"
|
msgstr "Set active"
|
||||||
@@ -532,26 +537,26 @@ msgstr "If you’re having trouble with the button above, copy and paste the URL
|
|||||||
msgid "You can change your email by visiting the URL below"
|
msgid "You can change your email by visiting the URL below"
|
||||||
msgstr "You can change your email by visiting the URL below"
|
msgstr "You can change your email by visiting the URL below"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:525
|
#: lib/claper_web/live/event_live/manage.html.heex:649
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Add interaction"
|
msgid "Add interaction"
|
||||||
msgstr "Add interaction"
|
msgstr "Add interaction"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:607
|
#: lib/claper_web/live/event_live/manage.html.heex:731
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:622
|
#: lib/claper_web/live/event_live/manage.html.heex:746
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
||||||
msgstr "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
msgstr "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.ex:50
|
#: lib/claper_web/live/event_live/show.ex:50
|
||||||
#: lib/claper_web/live/event_live/show.ex:197
|
#: lib/claper_web/live/event_live/show.ex:198
|
||||||
#: lib/claper_web/live/event_live/show.ex:212
|
#: lib/claper_web/live/event_live/show.ex:213
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You have been banned from this event"
|
msgid "You have been banned from this event"
|
||||||
msgstr "You have been banned from this event"
|
msgstr "You have been banned from this event"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:601
|
#: lib/claper_web/live/event_live/manage.html.heex:725
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:616
|
#: lib/claper_web/live/event_live/manage.html.heex:740
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ban"
|
msgid "Ban"
|
||||||
msgstr "Ban"
|
msgstr "Ban"
|
||||||
@@ -645,7 +650,7 @@ msgstr "Event"
|
|||||||
msgid "Interactions history"
|
msgid "Interactions history"
|
||||||
msgstr "Interactions history"
|
msgstr "Interactions history"
|
||||||
|
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:260
|
#: lib/claper_web/live/stat_live/index.html.heex:271
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No messages has been sent"
|
msgid "No messages has been sent"
|
||||||
msgstr "No messages has been sent"
|
msgstr "No messages has been sent"
|
||||||
@@ -705,7 +710,7 @@ msgstr "Login"
|
|||||||
msgid "Connect to your account"
|
msgid "Connect to your account"
|
||||||
msgstr "Connect to your account"
|
msgstr "Connect to your account"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:423
|
#: lib/claper_web/live/event_live/show.html.heex:441
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Or use the code:"
|
msgid "Or use the code:"
|
||||||
msgstr "Or use the code:"
|
msgstr "Or use the code:"
|
||||||
@@ -776,34 +781,34 @@ msgstr "Add form to collect data from your public."
|
|||||||
msgid "Current form"
|
msgid "Current form"
|
||||||
msgstr "Current form"
|
msgstr "Current form"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:277
|
#: lib/claper_web/live/event_live/manage.html.heex:308
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Edit form"
|
msgid "Edit form"
|
||||||
msgstr "Edit form"
|
msgstr "Edit form"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:211
|
#: lib/claper_web/live/event_live/manage.html.heex:211
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:471
|
#: lib/claper_web/live/event_live/manage.html.heex:523
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:215
|
#: lib/claper_web/live/stat_live/index.html.heex:215
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form"
|
msgid "Form"
|
||||||
msgstr "Form"
|
msgstr "Form"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:559
|
#: lib/claper_web/live/event_live/manage.html.heex:683
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions"
|
msgid "Form submissions"
|
||||||
msgstr "Form submissions"
|
msgstr "Form submissions"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:711
|
#: lib/claper_web/live/event_live/manage.html.heex:835
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions from attendees will appear here."
|
msgid "Form submissions from attendees will appear here."
|
||||||
msgstr "Form submissions from attendees will appear here."
|
msgstr "Form submissions from attendees will appear here."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:456
|
#: lib/claper_web/live/event_live/manage.ex:528
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:276
|
#: lib/claper_web/live/event_live/manage.html.heex:307
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New form"
|
msgid "New form"
|
||||||
msgstr "New form"
|
msgstr "New form"
|
||||||
@@ -828,7 +833,7 @@ msgstr "Submit"
|
|||||||
msgid "Text"
|
msgid "Text"
|
||||||
msgstr "Text"
|
msgstr "Text"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:736
|
#: lib/claper_web/live/event_live/manage.html.heex:860
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "This cannot be undone, confirm ?"
|
msgid "This cannot be undone, confirm ?"
|
||||||
msgstr "This cannot be undone, confirm ?"
|
msgstr "This cannot be undone, confirm ?"
|
||||||
@@ -868,22 +873,22 @@ msgstr "Select one or multiple options"
|
|||||||
msgid "Multiple answers"
|
msgid "Multiple answers"
|
||||||
msgstr "Multiple answers"
|
msgstr "Multiple answers"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:244
|
#: lib/claper_web/live/event_live/manage.html.heex:275
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Import all interactions from another presentation"
|
msgid "Import all interactions from another presentation"
|
||||||
msgstr "Import all interactions from another presentation"
|
msgstr "Import all interactions from another presentation"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:183
|
#: lib/claper_web/live/event_live/manage.ex:202
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions import failed"
|
msgid "Interactions import failed"
|
||||||
msgstr "Interactions import failed"
|
msgstr "Interactions import failed"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:176
|
#: lib/claper_web/live/event_live/manage.ex:195
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions imported successfully"
|
msgid "Interactions imported successfully"
|
||||||
msgstr "Interactions imported successfully"
|
msgstr "Interactions imported successfully"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:295
|
#: lib/claper_web/live/event_live/manage.html.heex:347
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Select presentation"
|
msgid "Select presentation"
|
||||||
msgstr "Select presentation"
|
msgstr "Select presentation"
|
||||||
@@ -893,55 +898,55 @@ msgstr "Select presentation"
|
|||||||
msgid "PDF, PPT, PPTX up to %{size} MB"
|
msgid "PDF, PPT, PPTX up to %{size} MB"
|
||||||
msgstr "PDF, PPT, PPTX up to %{size} MB"
|
msgstr "PDF, PPT, PPTX up to %{size} MB"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:796
|
#: lib/claper_web/live/event_live/manage.html.heex:920
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Attendees settings"
|
msgid "Attendees settings"
|
||||||
msgstr "Attendees settings"
|
msgstr "Attendees settings"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:800
|
#: lib/claper_web/live/event_live/manage.html.heex:924
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enable messages"
|
msgid "Enable messages"
|
||||||
msgstr "Enable messages"
|
msgstr "Enable messages"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:777
|
#: lib/claper_web/live/event_live/manage.html.heex:901
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show instructions"
|
msgid "Show instructions"
|
||||||
msgstr "Show instructions"
|
msgstr "Show instructions"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:782
|
#: lib/claper_web/live/event_live/manage.html.heex:906
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show messages"
|
msgid "Show messages"
|
||||||
msgstr "Show messages"
|
msgstr "Show messages"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:791
|
#: lib/claper_web/live/event_live/manage.html.heex:915
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show poll results"
|
msgid "Show poll results"
|
||||||
msgstr "Show poll results"
|
msgstr "Show poll results"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:318
|
#: lib/claper_web/live/event_live/show.html.heex:336
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages deactivated"
|
msgid "Messages deactivated"
|
||||||
msgstr "Messages deactivated"
|
msgstr "Messages deactivated"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:161
|
#: lib/claper_web/live/event_live/show.html.heex:179
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:282
|
#: lib/claper_web/live/event_live/show.html.heex:300
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Anonymous"
|
msgid "Anonymous"
|
||||||
msgstr "Anonymous"
|
msgstr "Anonymous"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:208
|
#: lib/claper_web/live/event_live/show.html.heex:226
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Close"
|
msgstr "Close"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:808
|
#: lib/claper_web/live/event_live/manage.html.heex:932
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Enable anonymous messages"
|
msgid "Enable anonymous messages"
|
||||||
msgstr "Enable anonymous messages"
|
msgstr "Enable anonymous messages"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:189
|
#: lib/claper_web/live/event_live/show.html.heex:207
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:234
|
#: lib/claper_web/live/event_live/show.html.heex:252
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enter your name"
|
msgid "Enter your name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -951,12 +956,12 @@ msgstr ""
|
|||||||
msgid "Or go to %{url} and use the code:"
|
msgid "Or go to %{url} and use the code:"
|
||||||
msgstr "Or go to %{url} and use the code:"
|
msgstr "Or go to %{url} and use the code:"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:202
|
#: lib/claper_web/live/event_live/show.html.heex:220
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Use your name"
|
msgid "Use your name"
|
||||||
msgstr "Use your name"
|
msgstr "Use your name"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "disabled"
|
msgstr "disabled"
|
||||||
@@ -966,6 +971,57 @@ msgstr "disabled"
|
|||||||
msgid "Account creation is disabled"
|
msgid "Account creation is disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:244
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Add a Youtube video or any web content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:23
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Content of your embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:59
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Current embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:329
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Edit Embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:593
|
||||||
|
#: lib/claper_web/live/stat_live/index.html.heex:257
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:242
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embeded"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:328
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "New Embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:36
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "See current embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:49
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "This will delete the embed, are you sure?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:14
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Title of your embed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Confirm new password"
|
msgid "Confirm new password"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ msgstr ""
|
|||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Paramètres"
|
msgstr "Paramètres"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:457
|
#: lib/claper_web/live/event_live/manage.ex:529
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
#: lib/claper_web/live/form_live/form_component.html.heex:37
|
||||||
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
#: lib/claper_web/live/user_settings_live/show.html.heex:34
|
||||||
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
#: lib/claper_web/templates/user_registration/new.html.heex:34
|
||||||
@@ -78,22 +78,22 @@ msgstr "Nous vous avons envoyé un email à"
|
|||||||
msgid "Your personal informations only visible by you"
|
msgid "Your personal informations only visible by you"
|
||||||
msgstr "Vos informations personnelles ne sont visibles que par vous"
|
msgstr "Vos informations personnelles ne sont visibles que par vous"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:387
|
#: lib/claper_web/live/event_live/show.html.heex:405
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "days"
|
msgid "days"
|
||||||
msgstr "jours"
|
msgstr "jours"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:393
|
#: lib/claper_web/live/event_live/show.html.heex:411
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "hours"
|
msgid "hours"
|
||||||
msgstr "heures"
|
msgstr "heures"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:399
|
#: lib/claper_web/live/event_live/show.html.heex:417
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "minutes"
|
msgid "minutes"
|
||||||
msgstr "minutes"
|
msgstr "minutes"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:118
|
#: lib/claper_web/live/event_live/show.html.heex:136
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Be the first to react !"
|
msgid "Be the first to react !"
|
||||||
msgstr "Soyez le premier à réagir !"
|
msgstr "Soyez le premier à réagir !"
|
||||||
@@ -101,7 +101,7 @@ msgstr "Soyez le premier à réagir !"
|
|||||||
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
#: lib/claper_web/live/event_live/event_card_component.ex:98
|
||||||
#: lib/claper_web/live/event_live/join.ex:42
|
#: lib/claper_web/live/event_live/join.ex:42
|
||||||
#: lib/claper_web/live/event_live/join.html.heex:106
|
#: lib/claper_web/live/event_live/join.html.heex:106
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:239
|
#: lib/claper_web/live/event_live/show.html.heex:257
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Join"
|
msgid "Join"
|
||||||
msgstr "Rejoindre"
|
msgstr "Rejoindre"
|
||||||
@@ -119,7 +119,7 @@ msgstr "Tableau de bord"
|
|||||||
msgid "Host"
|
msgid "Host"
|
||||||
msgstr "Animateur"
|
msgstr "Animateur"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:405
|
#: lib/claper_web/live/event_live/show.html.heex:423
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "seconds"
|
msgid "seconds"
|
||||||
msgstr "secondes"
|
msgstr "secondes"
|
||||||
@@ -171,7 +171,7 @@ msgid "Name of your presentation"
|
|||||||
msgstr "Nom de votre présentation"
|
msgstr "Nom de votre présentation"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
#: lib/claper_web/live/event_live/presenter.html.heex:21
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:414
|
#: lib/claper_web/live/event_live/show.html.heex:432
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Scan to interact in real-time"
|
msgid "Scan to interact in real-time"
|
||||||
msgstr "Scannez pour interagir en temps réel"
|
msgstr "Scannez pour interagir en temps réel"
|
||||||
@@ -213,7 +213,7 @@ msgstr "Retourner à l'accueil"
|
|||||||
msgid "Created successfully"
|
msgid "Created successfully"
|
||||||
msgstr "Mis à jour avec succès"
|
msgstr "Mis à jour avec succès"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:23
|
#: lib/claper_web/live/event_live/manage.ex:24
|
||||||
#: lib/claper_web/live/event_live/presenter.ex:21
|
#: lib/claper_web/live/event_live/presenter.ex:21
|
||||||
#: lib/claper_web/live/event_live/show.ex:24
|
#: lib/claper_web/live/event_live/show.ex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@@ -228,6 +228,7 @@ msgstr "La présentation n'existe pas"
|
|||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Modifier"
|
msgstr "Modifier"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:38
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:18
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:25
|
||||||
#: lib/claper_web/live/event_live/index.ex:71
|
#: lib/claper_web/live/event_live/index.ex:71
|
||||||
@@ -238,10 +239,11 @@ msgstr "Modifier"
|
|||||||
msgid "Create"
|
msgid "Create"
|
||||||
msgstr "Créer"
|
msgstr "Créer"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:43
|
||||||
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
#: lib/claper_web/live/event_live/event_card_component.ex:171
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:30
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:631
|
#: lib/claper_web/live/event_live/manage.html.heex:755
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:731
|
#: lib/claper_web/live/event_live/manage.html.heex:855
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:44
|
#: lib/claper_web/live/event_live/post_component.ex:44
|
||||||
#: lib/claper_web/live/event_live/post_component.ex:116
|
#: lib/claper_web/live/event_live/post_component.ex:116
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
#: lib/claper_web/live/form_live/form_component.html.heex:103
|
||||||
@@ -250,6 +252,7 @@ msgstr "Créer"
|
|||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:39
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:17
|
||||||
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
#: lib/claper_web/live/event_live/event_form_component.html.heex:24
|
||||||
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
#: lib/claper_web/live/form_live/form_component.html.heex:99
|
||||||
@@ -373,12 +376,12 @@ msgstr "Changer le fichier"
|
|||||||
msgid "Presentation replaced"
|
msgid "Presentation replaced"
|
||||||
msgstr "Présentation remplacée"
|
msgstr "Présentation remplacée"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:256
|
#: lib/claper_web/live/event_live/manage.html.heex:287
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit poll"
|
msgid "Edit poll"
|
||||||
msgstr "Modifier le sondage"
|
msgstr "Modifier le sondage"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:255
|
#: lib/claper_web/live/event_live/manage.html.heex:286
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New poll"
|
msgid "New poll"
|
||||||
msgstr "Nouveau sondage"
|
msgstr "Nouveau sondage"
|
||||||
@@ -399,7 +402,7 @@ msgid "Add poll to know opinion of your public."
|
|||||||
msgstr "Ajoutez un sondage pour connaître l'opinion de votre public."
|
msgstr "Ajoutez un sondage pour connaître l'opinion de votre public."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:174
|
#: lib/claper_web/live/event_live/manage.html.heex:174
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:395
|
#: lib/claper_web/live/event_live/manage.html.heex:447
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Poll"
|
msgid "Poll"
|
||||||
msgstr "Sondage"
|
msgstr "Sondage"
|
||||||
@@ -444,8 +447,9 @@ msgstr "Adresse email"
|
|||||||
msgid "Present/Customize"
|
msgid "Present/Customize"
|
||||||
msgstr "Présenter/Personnaliser"
|
msgstr "Présenter/Personnaliser"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:408
|
#: lib/claper_web/live/event_live/manage.html.heex:460
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:484
|
#: lib/claper_web/live/event_live/manage.html.heex:536
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:606
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Actif"
|
msgstr "Actif"
|
||||||
@@ -455,12 +459,12 @@ msgstr "Actif"
|
|||||||
msgid "Changing your file will remove all interaction elements like polls associated."
|
msgid "Changing your file will remove all interaction elements like polls associated."
|
||||||
msgstr "La modification de votre fichier supprimera tous les éléments d'interaction comme les sondages associés."
|
msgstr "La modification de votre fichier supprimera tous les éléments d'interaction comme les sondages associés."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:584
|
#: lib/claper_web/live/event_live/manage.html.heex:708
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages from attendees will appear here."
|
msgid "Messages from attendees will appear here."
|
||||||
msgstr "Les messages des participants apparaîtront ici."
|
msgstr "Les messages des participants apparaîtront ici."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:770
|
#: lib/claper_web/live/event_live/manage.html.heex:894
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "On screen settings"
|
msgid "On screen settings"
|
||||||
msgstr "Paramètres écran"
|
msgstr "Paramètres écran"
|
||||||
@@ -485,19 +489,20 @@ msgstr "Démarrer"
|
|||||||
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
msgid "Press <strong>F</strong> in the presentation window to enable fullscreen"
|
||||||
msgstr "Appuyez sur <strong>F</strong> dans la fenêtre de présentation pour activer le plein écran"
|
msgstr "Appuyez sur <strong>F</strong> dans la fenêtre de présentation pour activer le plein écran"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:298
|
#: lib/claper_web/live/event_live/show.html.heex:316
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ask, comment..."
|
msgid "Ask, comment..."
|
||||||
msgstr "Questionnez, commentez..."
|
msgstr "Questionnez, commentez..."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:556
|
#: lib/claper_web/live/event_live/manage.html.heex:680
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:71
|
#: lib/claper_web/live/stat_live/index.html.heex:71
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages"
|
msgid "Messages"
|
||||||
msgstr "Messages"
|
msgstr "Messages"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:416
|
#: lib/claper_web/live/event_live/manage.html.heex:468
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:492
|
#: lib/claper_web/live/event_live/manage.html.heex:544
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:614
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Set active"
|
msgid "Set active"
|
||||||
msgstr "Activer"
|
msgstr "Activer"
|
||||||
@@ -533,26 +538,26 @@ msgstr "Si vous rencontrez des difficultés avec le bouton ci-dessus, copiez et
|
|||||||
msgid "You can change your email by visiting the URL below"
|
msgid "You can change your email by visiting the URL below"
|
||||||
msgstr "Vous pouvez modifier votre email en visitant l'URL ci-dessous"
|
msgstr "Vous pouvez modifier votre email en visitant l'URL ci-dessous"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:525
|
#: lib/claper_web/live/event_live/manage.html.heex:649
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Add interaction"
|
msgid "Add interaction"
|
||||||
msgstr "Ajouter une interaction"
|
msgstr "Ajouter une interaction"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:607
|
#: lib/claper_web/live/event_live/manage.html.heex:731
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:622
|
#: lib/claper_web/live/event_live/manage.html.heex:746
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
msgid "Blocking this user will delete all his messages and he will not be able to join again, confirm ?"
|
||||||
msgstr "Bloquer cet utilisateur supprimera tous ses messages et il ne pourra pas rejoindre à nouveau, confirmer ?"
|
msgstr "Bloquer cet utilisateur supprimera tous ses messages et il ne pourra pas rejoindre à nouveau, confirmer ?"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.ex:50
|
#: lib/claper_web/live/event_live/show.ex:50
|
||||||
#: lib/claper_web/live/event_live/show.ex:197
|
#: lib/claper_web/live/event_live/show.ex:198
|
||||||
#: lib/claper_web/live/event_live/show.ex:212
|
#: lib/claper_web/live/event_live/show.ex:213
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You have been banned from this event"
|
msgid "You have been banned from this event"
|
||||||
msgstr "Vous avez été banni de cet événement"
|
msgstr "Vous avez été banni de cet événement"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:601
|
#: lib/claper_web/live/event_live/manage.html.heex:725
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:616
|
#: lib/claper_web/live/event_live/manage.html.heex:740
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Ban"
|
msgid "Ban"
|
||||||
msgstr "Bannir"
|
msgstr "Bannir"
|
||||||
@@ -648,7 +653,7 @@ msgstr "Événement"
|
|||||||
msgid "Interactions history"
|
msgid "Interactions history"
|
||||||
msgstr "Historique des interactions"
|
msgstr "Historique des interactions"
|
||||||
|
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:260
|
#: lib/claper_web/live/stat_live/index.html.heex:271
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No messages has been sent"
|
msgid "No messages has been sent"
|
||||||
msgstr "Aucun message n'a été envoyé"
|
msgstr "Aucun message n'a été envoyé"
|
||||||
@@ -709,7 +714,7 @@ msgstr "Connexion"
|
|||||||
msgid "Connect to your account"
|
msgid "Connect to your account"
|
||||||
msgstr "Connectez-vous à votre compte"
|
msgstr "Connectez-vous à votre compte"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:423
|
#: lib/claper_web/live/event_live/show.html.heex:441
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Or use the code:"
|
msgid "Or use the code:"
|
||||||
msgstr "Ou utilisez le code:"
|
msgstr "Ou utilisez le code:"
|
||||||
@@ -781,34 +786,34 @@ msgstr "Ajoutez un formulaire pour recueillir les données de votre public."
|
|||||||
msgid "Current form"
|
msgid "Current form"
|
||||||
msgstr "Sondage actuel"
|
msgstr "Sondage actuel"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:277
|
#: lib/claper_web/live/event_live/manage.html.heex:308
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Edit form"
|
msgid "Edit form"
|
||||||
msgstr "Modifier"
|
msgstr "Modifier"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:211
|
#: lib/claper_web/live/event_live/manage.html.heex:211
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:471
|
#: lib/claper_web/live/event_live/manage.html.heex:523
|
||||||
#: lib/claper_web/live/stat_live/index.html.heex:215
|
#: lib/claper_web/live/stat_live/index.html.heex:215
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form"
|
msgid "Form"
|
||||||
msgstr "Formulaire"
|
msgstr "Formulaire"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:559
|
#: lib/claper_web/live/event_live/manage.html.heex:683
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions"
|
msgid "Form submissions"
|
||||||
msgstr "Soumissions de formulaire"
|
msgstr "Soumissions de formulaire"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:711
|
#: lib/claper_web/live/event_live/manage.html.heex:835
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Form submissions from attendees will appear here."
|
msgid "Form submissions from attendees will appear here."
|
||||||
msgstr "Les formulaires soumis par les participants apparaîtront ici."
|
msgstr "Les formulaires soumis par les participants apparaîtront ici."
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:456
|
#: lib/claper_web/live/event_live/manage.ex:528
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:276
|
#: lib/claper_web/live/event_live/manage.html.heex:307
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New form"
|
msgid "New form"
|
||||||
msgstr "Nouveau formulaire"
|
msgstr "Nouveau formulaire"
|
||||||
@@ -833,7 +838,7 @@ msgstr "Soumettre"
|
|||||||
msgid "Text"
|
msgid "Text"
|
||||||
msgstr "Texte"
|
msgstr "Texte"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:736
|
#: lib/claper_web/live/event_live/manage.html.heex:860
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "This cannot be undone, confirm ?"
|
msgid "This cannot be undone, confirm ?"
|
||||||
msgstr "Cela ne peut pas être annulé, confirmez-vous ?"
|
msgstr "Cela ne peut pas être annulé, confirmez-vous ?"
|
||||||
@@ -873,22 +878,22 @@ msgstr "Sélectionner une ou plusieurs options"
|
|||||||
msgid "Multiple answers"
|
msgid "Multiple answers"
|
||||||
msgstr "Réponses multiples"
|
msgstr "Réponses multiples"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:244
|
#: lib/claper_web/live/event_live/manage.html.heex:275
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Import all interactions from another presentation"
|
msgid "Import all interactions from another presentation"
|
||||||
msgstr "Importer toutes les interactions d'une autre présentation"
|
msgstr "Importer toutes les interactions d'une autre présentation"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:183
|
#: lib/claper_web/live/event_live/manage.ex:202
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions import failed"
|
msgid "Interactions import failed"
|
||||||
msgstr "Échec de l'importation d'interactions"
|
msgstr "Échec de l'importation d'interactions"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.ex:176
|
#: lib/claper_web/live/event_live/manage.ex:195
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Interactions imported successfully"
|
msgid "Interactions imported successfully"
|
||||||
msgstr "Interactions importées avec succès"
|
msgstr "Interactions importées avec succès"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:295
|
#: lib/claper_web/live/event_live/manage.html.heex:347
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Select presentation"
|
msgid "Select presentation"
|
||||||
msgstr "Sélectionnez la présentation"
|
msgstr "Sélectionnez la présentation"
|
||||||
@@ -898,55 +903,55 @@ msgstr "Sélectionnez la présentation"
|
|||||||
msgid "PDF, PPT, PPTX up to %{size} MB"
|
msgid "PDF, PPT, PPTX up to %{size} MB"
|
||||||
msgstr "PDF, PPT, PPTX jusqu'à %{size} MB"
|
msgstr "PDF, PPT, PPTX jusqu'à %{size} MB"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:796
|
#: lib/claper_web/live/event_live/manage.html.heex:920
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Attendees settings"
|
msgid "Attendees settings"
|
||||||
msgstr "Paramètres participants"
|
msgstr "Paramètres participants"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:800
|
#: lib/claper_web/live/event_live/manage.html.heex:924
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enable messages"
|
msgid "Enable messages"
|
||||||
msgstr "Activer messages"
|
msgstr "Activer messages"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:777
|
#: lib/claper_web/live/event_live/manage.html.heex:901
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show instructions"
|
msgid "Show instructions"
|
||||||
msgstr "Afficher instructions"
|
msgstr "Afficher instructions"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:782
|
#: lib/claper_web/live/event_live/manage.html.heex:906
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show messages"
|
msgid "Show messages"
|
||||||
msgstr "Afficher messages"
|
msgstr "Afficher messages"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:791
|
#: lib/claper_web/live/event_live/manage.html.heex:915
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show poll results"
|
msgid "Show poll results"
|
||||||
msgstr "Afficher résultats sondage"
|
msgstr "Afficher résultats sondage"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:318
|
#: lib/claper_web/live/event_live/show.html.heex:336
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Messages deactivated"
|
msgid "Messages deactivated"
|
||||||
msgstr "Messages désactivés"
|
msgstr "Messages désactivés"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:161
|
#: lib/claper_web/live/event_live/show.html.heex:179
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:282
|
#: lib/claper_web/live/event_live/show.html.heex:300
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Anonymous"
|
msgid "Anonymous"
|
||||||
msgstr "Anonyme"
|
msgstr "Anonyme"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:208
|
#: lib/claper_web/live/event_live/show.html.heex:226
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Fermer"
|
msgstr "Fermer"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/manage.html.heex:808
|
#: lib/claper_web/live/event_live/manage.html.heex:932
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Enable anonymous messages"
|
msgid "Enable anonymous messages"
|
||||||
msgstr "Activer messages anonymes"
|
msgstr "Activer messages anonymes"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:189
|
#: lib/claper_web/live/event_live/show.html.heex:207
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:234
|
#: lib/claper_web/live/event_live/show.html.heex:252
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enter your name"
|
msgid "Enter your name"
|
||||||
msgstr "Entrer votre nom"
|
msgstr "Entrer votre nom"
|
||||||
@@ -956,12 +961,12 @@ msgstr "Entrer votre nom"
|
|||||||
msgid "Or go to %{url} and use the code:"
|
msgid "Or go to %{url} and use the code:"
|
||||||
msgstr "Ou allez sur %{url} et utilisez le code:"
|
msgstr "Ou allez sur %{url} et utilisez le code:"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:202
|
#: lib/claper_web/live/event_live/show.html.heex:220
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Use your name"
|
msgid "Use your name"
|
||||||
msgstr "Utiliser votre nom"
|
msgstr "Utiliser votre nom"
|
||||||
|
|
||||||
#: lib/claper_web/live/event_live/show.html.heex:182
|
#: lib/claper_web/live/event_live/show.html.heex:200
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "désactivé"
|
msgstr "désactivé"
|
||||||
@@ -971,6 +976,57 @@ msgstr "désactivé"
|
|||||||
msgid "Account creation is disabled"
|
msgid "Account creation is disabled"
|
||||||
msgstr "La création de compte est désactivée"
|
msgstr "La création de compte est désactivée"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:244
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Add a Youtube video or any web content."
|
||||||
|
msgstr "Ajoutez une vidéo Youtube ou tout autre contenu web."
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:23
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Content of your embed"
|
||||||
|
msgstr "Contenu de votre intégration"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:59
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Current embed"
|
||||||
|
msgstr "Intégration actuelle"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:329
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Edit Embed"
|
||||||
|
msgstr "Modifier Intégrer"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:593
|
||||||
|
#: lib/claper_web/live/stat_live/index.html.heex:257
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embed"
|
||||||
|
msgstr "Intégrer"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:242
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Embeded"
|
||||||
|
msgstr "Intégré"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/manage.html.heex:328
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "New Embed"
|
||||||
|
msgstr "Nouvelle intégration"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/event_live/embed_component.ex:36
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "See current embed"
|
||||||
|
msgstr "Voir l'intégration actuelle"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:49
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "This will delete the embed, are you sure?"
|
||||||
|
msgstr "Cela supprimera l'intégration, êtes-vous sûr?"
|
||||||
|
|
||||||
|
#: lib/claper_web/live/embed_live/form_component.html.heex:14
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Title of your embed"
|
||||||
|
msgstr "Titre de votre intégration"
|
||||||
|
|
||||||
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
#: lib/claper_web/templates/user_reset_password/edit.html.heex:51
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Confirm new password"
|
msgid "Confirm new password"
|
||||||
|
|||||||
16
priv/repo/migrations/20231028144823_create_embeds.exs
Normal file
16
priv/repo/migrations/20231028144823_create_embeds.exs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
defmodule Claper.Repo.Migrations.CreateEmbeds do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def change do
|
||||||
|
create table(:embeds) do
|
||||||
|
add :title, :string, null: false
|
||||||
|
add :content, :text, null: false
|
||||||
|
add :position, :integer, default: 0
|
||||||
|
add :enabled, :boolean, default: true
|
||||||
|
add :attendee_visibility, :boolean, default: false
|
||||||
|
add :presentation_file_id, references(:presentation_files, on_delete: :nilify_all)
|
||||||
|
|
||||||
|
timestamps()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
99
test/claper/embeds_test.exs
Normal file
99
test/claper/embeds_test.exs
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
defmodule Claper.EmbedsTest do
|
||||||
|
use Claper.DataCase
|
||||||
|
|
||||||
|
alias Claper.Embeds
|
||||||
|
|
||||||
|
describe "embeds" do
|
||||||
|
alias Claper.Embeds.Embed
|
||||||
|
|
||||||
|
import Claper.{EmbedsFixtures, PresentationsFixtures}
|
||||||
|
|
||||||
|
@invalid_attrs %{title: nil, content: nil}
|
||||||
|
|
||||||
|
test "list_embeds/1 returns all embeds from a presentation" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
embed = embed_fixture(%{presentation_file_id: presentation_file.id})
|
||||||
|
|
||||||
|
assert Embeds.list_embeds(presentation_file.id) == [embed]
|
||||||
|
end
|
||||||
|
|
||||||
|
test "list_embeds_at_position/2 returns all embeds from a presentation at a given position" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
embed = embed_fixture(%{presentation_file_id: presentation_file.id, position: 5})
|
||||||
|
|
||||||
|
assert Embeds.list_embeds_at_position(presentation_file.id, 5) == [embed]
|
||||||
|
end
|
||||||
|
|
||||||
|
test "get_embed!/1 returns the embed with given id" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
|
||||||
|
embed = embed_fixture(%{presentation_file_id: presentation_file.id})
|
||||||
|
assert Embeds.get_embed!(embed.id) == embed
|
||||||
|
end
|
||||||
|
|
||||||
|
test "create_embed/1 with valid data creates a embed" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
|
||||||
|
valid_attrs = %{
|
||||||
|
title: "some title",
|
||||||
|
content:
|
||||||
|
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>",
|
||||||
|
presentation_file_id: presentation_file.id,
|
||||||
|
position: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
assert {:ok, %Embed{} = embed} = Embeds.create_embed(valid_attrs)
|
||||||
|
assert embed.title == "some title"
|
||||||
|
|
||||||
|
assert embed.content ==
|
||||||
|
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "create_embed/1 with invalid data returns error changeset" do
|
||||||
|
assert {:error, %Ecto.Changeset{}} = Embeds.create_embed(@invalid_attrs)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "update_embed/3 with valid data updates the embed" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
embed = embed_fixture(%{presentation_file_id: presentation_file.id})
|
||||||
|
|
||||||
|
update_attrs = %{
|
||||||
|
title: "some updated title",
|
||||||
|
content:
|
||||||
|
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\"></iframe>"
|
||||||
|
}
|
||||||
|
|
||||||
|
assert {:ok, %Embed{} = embed} =
|
||||||
|
Embeds.update_embed(presentation_file.event_id, embed, update_attrs)
|
||||||
|
|
||||||
|
assert embed.title == "some updated title"
|
||||||
|
|
||||||
|
assert embed.content ==
|
||||||
|
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\"></iframe>"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "update_embed/3 with invalid data returns error changeset" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
embed = embed_fixture(%{presentation_file_id: presentation_file.id})
|
||||||
|
|
||||||
|
assert {:error, %Ecto.Changeset{}} =
|
||||||
|
Embeds.update_embed(presentation_file.event_id, embed, @invalid_attrs)
|
||||||
|
|
||||||
|
assert embed == Embeds.get_embed!(embed.id)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "delete_embed/2 deletes the embed" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
embed = embed_fixture(%{presentation_file_id: presentation_file.id})
|
||||||
|
|
||||||
|
assert {:ok, %Embed{}} = Embeds.delete_embed(presentation_file.event_id, embed)
|
||||||
|
assert_raise Ecto.NoResultsError, fn -> Embeds.get_embed!(embed.id) end
|
||||||
|
end
|
||||||
|
|
||||||
|
test "change_embed/1 returns a embed changeset" do
|
||||||
|
presentation_file = presentation_file_fixture()
|
||||||
|
embed = embed_fixture(%{presentation_file_id: presentation_file.id})
|
||||||
|
assert %Ecto.Changeset{} = Embeds.change_embed(embed)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
27
test/support/fixtures/embeds__fixtures.ex
Normal file
27
test/support/fixtures/embeds__fixtures.ex
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
defmodule Claper.EmbedsFixtures do
|
||||||
|
@moduledoc """
|
||||||
|
This module defines test helpers for creating
|
||||||
|
entities via the `Claper.Embeds` context.
|
||||||
|
"""
|
||||||
|
|
||||||
|
require Claper.UtilFixture
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Generate a embed.
|
||||||
|
"""
|
||||||
|
def embed_fixture(attrs \\ %{}, preload \\ []) do
|
||||||
|
{:ok, embed} =
|
||||||
|
attrs
|
||||||
|
|> Enum.into(%{
|
||||||
|
title: "some title",
|
||||||
|
content:
|
||||||
|
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>",
|
||||||
|
position: 0,
|
||||||
|
enabled: true,
|
||||||
|
attendee_visibility: true
|
||||||
|
})
|
||||||
|
|> Claper.Embeds.create_embed()
|
||||||
|
|
||||||
|
Claper.UtilFixture.merge_preload(embed, preload, %{})
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user