Add OIDC + better embeds

This commit is contained in:
Alex
2024-08-11 11:16:34 +02:00
parent f1b732f450
commit cdbaac06e0
70 changed files with 3029 additions and 1364 deletions

View File

@@ -36,4 +36,17 @@ MAIL_FROM_NAME=Claper
# Claper configuration # Claper configuration
#ENABLE_ACCOUNT_CREATION=true #ENABLE_ACCOUNT_CREATION=true
#GS_JPG_RESOLUTION=300x300 #ALLOW_UNLINK_EXTERNAL_PROVIDER=false
#LOGOUT_REDIRECT_URL=https://google.com
#GS_JPG_RESOLUTION=300x300
# OIDC configuration
# OIDC_PROVIDER_NAME="OpenID"
# OIDC_ISSUER=https://my-idp.example/application/o/claper/
# OIDC_CLIENT_ID=XXX
# OIDC_CLIENT_SECRET=XXX
# OIDC_SCOPES="openid email profile"
# OIDC_LOGO_URL=""
# OIDC_PROPERTY_MAPPINGS="roles:custom_attributes.roles,organization:custom_attributes.organization"
# OIDC_AUTO_REDIRECT_LOGIN=true

View File

@@ -2,8 +2,15 @@
### Features ### Features
- LTI 1.3 support - LTI 1.3 integration (Beta)
- OpenID Connect integration
- New layout for presentation manager - New layout for presentation manager
- Duplicate event feature
### Fixes and improvements
- Improve embeds integration for better compatibility with different providers
- Add an option to polls to show results to attendees
### Fixes and improvements ### Fixes and improvements

View File

@@ -1,5 +1,5 @@
GNU GENERAL PUBLIC LICENSE GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 29 June 2007 Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
@@ -7,17 +7,15 @@
Preamble Preamble
The GNU General Public License is a free, copyleft license for The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works. software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast, to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the software for all its users.
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you price. Our General Public Licenses are designed to make sure that you
@@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things. free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you Developers that use our General Public Licenses protect your rights
these rights or asking you to surrender the rights. Therefore, you have with two steps: (1) assert copyright on the software, and (2) offer
certain responsibilities if you distribute copies of the software, or if you this License which gives you legal permission to copy, distribute
you modify it: responsibilities to respect the freedom of others. and/or modify the software.
For example, if you distribute copies of such a program, whether A secondary benefit of defending all users' freedom is that
gratis or for a fee, you must pass on to the recipients the same improvements made in alternate versions of the program, if they
freedoms that you received. You must make sure that they, too, receive receive widespread use, become available for other developers to
or can get the source code. And you must show them these terms so they incorporate. Many developers of free software are heartened and
know their rights. encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
Developers that use the GNU GPL protect your rights with two steps: The GNU Affero General Public License is designed specifically to
(1) assert copyright on the software, and (2) offer you this License ensure that, in such cases, the modified source code becomes available
giving you legal permission to copy, distribute and/or modify it. to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
For the developers' and authors' protection, the GPL clearly explains An older license, called the Affero General Public License and
that there is no warranty for this free software. For both users' and published by Affero, was designed to accomplish similar goals. This is
authors' sake, the GPL requires that modified versions be marked as a different license, not a version of the Affero GPL, but Affero has
changed, so that their problems will not be attributed erroneously to released a new version of the Affero GPL which permits relicensing under
authors of previous versions. this license.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. modification follow.
@@ -72,7 +60,7 @@ modification follow.
0. Definitions. 0. Definitions.
"This License" refers to version 3 of the GNU General Public License. "This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks. works, such as semiconductor masks.
@@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program. License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License. 13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work, License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License, but the work with which it is combined will remain governed by version
section 13, concerning interaction through a network will apply to the 3 of the GNU General Public License.
combination as such.
14. Revised Versions of this License. 14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will the GNU Affero General Public License from time to time. Such new versions
be similar in spirit to the present version, but may differ in detail to will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns. address new problems or concerns.
Each version is given a distinguishing version number. If the Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation. by the Free Software Foundation.
If the Program specifies that a proxy can decide which future If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you public statement of acceptance of a version permanently authorizes you
to choose that version for the Program. to choose that version for the Program.
@@ -631,44 +629,33 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found. the "copyright" line and a pointer to where the full notice is found.
Claper, tool to let your audience interact during your presentations. <one line to give the program's name and a brief idea of what it does.>
Copyright (C) 2022 Alexandre Lion Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU Affero General Public License as published
the Free Software Foundation, either version 3 of the License, or by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail. Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short If your software can interact with users remotely through a computer
notice like this when it starts in an interactive mode: network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
Claper Copyright (C) 2022 Alexandre Lion interface could display a "Source" link that leads users to an archive
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. of the code. There are many ways you could offer source, and different
This is free software, and you are welcome to redistribute it solutions will be better for different programs; see section 13 for the
under certain conditions; type `show c' for details. specific requirements.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school, You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary. if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>. <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@@ -494,7 +494,6 @@ Hooks.QRCode = {
Hooks.Dropdown = { Hooks.Dropdown = {
mounted() { mounted() {
this.el.addEventListener("click", (e) => { this.el.addEventListener("click", (e) => {
e.preventDefault();
this.el.classList.toggle("hidden"); this.el.classList.toggle("hidden");
}); });
}, },

View File

@@ -41,7 +41,6 @@ case secret_key_base do
nil nil
end end
site_url = get_var_from_path_or_env(config_dir, "SITE_URL", "http://localhost:4000")
base_url = get_var_from_path_or_env(config_dir, "BASE_URL") base_url = get_var_from_path_or_env(config_dir, "BASE_URL")
if !base_url do if !base_url do
@@ -82,6 +81,50 @@ same_site_cookie = get_var_from_path_or_env(config_dir, "SAME_SITE_COOKIE", "Lax
secure_cookie = secure_cookie =
get_var_from_path_or_env(config_dir, "SECURE_COOKIE", "false") |> String.to_existing_atom() get_var_from_path_or_env(config_dir, "SECURE_COOKIE", "false") |> String.to_existing_atom()
oidc_issuer = get_var_from_path_or_env(config_dir, "OIDC_ISSUER", "https://accounts.google.com")
oidc_client_id = get_var_from_path_or_env(config_dir, "OIDC_CLIENT_ID", nil)
oidc_client_secret = get_var_from_path_or_env(config_dir, "OIDC_CLIENT_SECRET", nil)
oidc_scopes = get_var_from_path_or_env(config_dir, "OIDC_SCOPES", "openid email profile")
oidc_provider_name = get_var_from_path_or_env(config_dir, "OIDC_PROVIDER_NAME", "OpenID Connect")
oidc_logo_url = get_var_from_path_or_env(config_dir, "OIDC_LOGO_URL", "/images/icons/openid.png")
oidc_auto_redirect_login =
get_var_from_path_or_env(config_dir, "OIDC_AUTO_REDIRECT_LOGIN", "false")
|> String.to_existing_atom()
oidc_property_mappings =
get_var_from_path_or_env(config_dir, "OIDC_PROPERTY_MAPPINGS", nil)
|> case do
nil ->
nil
mappings ->
String.split(mappings, ",")
|> Enum.map(&String.split(&1, ":"))
|> Enum.into(%{}, fn [key, value] -> {key, value} end)
end
oidc_enabled =
!is_nil(oidc_client_id) and !is_nil(oidc_client_secret)
allow_unlink_external_provider =
get_var_from_path_or_env(config_dir, "ALLOW_UNLINK_EXTERNAL_PROVIDER", "true")
|> String.to_existing_atom()
logout_redirect_url = get_var_from_path_or_env(config_dir, "LOGOUT_REDIRECT_URL", nil)
config :claper, :oidc,
enabled: oidc_enabled,
issuer: oidc_issuer,
client_id: oidc_client_id,
client_secret: oidc_client_secret,
scopes: String.split(oidc_scopes, " "),
provider_name: oidc_provider_name,
logo_url: oidc_logo_url,
property_mappings: oidc_property_mappings,
auto_redirect_login: oidc_auto_redirect_login
config :claper, Claper.Repo, config :claper, Claper.Repo,
url: database_url, url: database_url,
ssl: db_ssl, ssl: db_ssl,
@@ -94,6 +137,7 @@ config :claper, Claper.Repo,
config :claper, ClaperWeb.Endpoint, config :claper, ClaperWeb.Endpoint,
url: [scheme: base_url.scheme, host: base_url.host, path: base_url.path, port: base_url.port], url: [scheme: base_url.scheme, host: base_url.host, path: base_url.path, port: base_url.port],
base_url: base_url,
http: [ http: [
ip: listen_ip, ip: listen_ip,
port: port, port: port,
@@ -105,7 +149,9 @@ config :claper, ClaperWeb.Endpoint,
secure_cookie: secure_cookie secure_cookie: secure_cookie
config :claper, config :claper,
enable_account_creation: enable_account_creation enable_account_creation: enable_account_creation,
allow_unlink_external_provider: allow_unlink_external_provider,
logout_redirect_url: logout_redirect_url
config :claper, :presentations, config :claper, :presentations,
max_file_size: max_file_size, max_file_size: max_file_size,

View File

@@ -4,6 +4,7 @@ defmodule Claper.Accounts do
""" """
import Ecto.Query, warn: false import Ecto.Query, warn: false
alias Claper.Accounts
alias Claper.Repo alias Claper.Repo
alias Claper.Accounts.{User, UserToken, UserNotifier} alias Claper.Accounts.{User, UserToken, UserNotifier}
@@ -55,6 +56,7 @@ defmodule Claper.Accounts do
create_user(%{ create_user(%{
email: email, email: email,
confirmed_at: DateTime.utc_now(), confirmed_at: DateTime.utc_now(),
is_randomized_password: true,
password: :crypto.strong_rand_bytes(32) password: :crypto.strong_rand_bytes(32)
}) })
@@ -227,6 +229,24 @@ defmodule Claper.Accounts do
end end
end end
@doc """
Sets the user password.
## Examples
iex> set_user_password(user, %{password: ...})
{:ok, %User{}}
iex> set_user_password(user, %{password: ...})
{:error, %Ecto.Changeset{}}
"""
def set_user_password(user, attrs) do
user
|> User.password_changeset(attrs |> Map.put("is_randomized_password", false))
|> Repo.update()
|> case do
{:ok, user} -> {:ok, user}
{:error, changeset} -> {:error, changeset}
end
end
@doc """ @doc """
Updates the user preferences. Updates the user preferences.
## Examples ## Examples
@@ -491,4 +511,59 @@ defmodule Claper.Accounts do
def delete(user) do def delete(user) do
Repo.delete(user) Repo.delete(user)
end end
## OIDC
def create_oidc_user(attrs) do
%Accounts.Oidc.User{}
|> Accounts.Oidc.User.changeset(attrs)
|> Repo.insert()
end
def remove_oidc_user(claper_user, issuer) do
Repo.delete_all(
from u in Accounts.Oidc.User,
where: u.issuer == ^issuer and u.user_id == ^claper_user.id
)
end
def get_all_oidc_users_by_email(email) do
Repo.all(from u in Accounts.Oidc.User, where: u.email == ^email)
end
def get_oidc_user_by_sub(sub) do
Repo.get_by(Accounts.Oidc.User, sub: sub)
end
def get_or_create_user_with_oidc(
%{
sub: sub
} = attrs
) do
case get_oidc_user_by_sub(sub) do
nil -> create_new_user(attrs)
%Accounts.Oidc.User{} = user -> update_oidc_user(user, attrs)
end
end
defp create_new_user(attrs) do
with {:ok, claper_user} <- get_user_by_email_or_create(attrs.email),
updated_attrs <-
Map.merge(attrs, %{user_id: claper_user.id}),
{:ok, user} <- create_oidc_user(updated_attrs) do
{:ok, user |> Repo.preload(:user)}
else
_ -> {:error, %{reason: :invalid_user, msg: "Invalid Claper user"}}
end
end
defp update_oidc_user(user, attrs) do
user
|> Accounts.Oidc.User.changeset(attrs)
|> Repo.update()
|> case do
{:ok, user} -> {:ok, user |> Repo.preload(:user)}
{:error, changeset} -> {:error, changeset}
end
end
end end

View File

@@ -0,0 +1,66 @@
defmodule Claper.Accounts.Oidc.User do
use Ecto.Schema
import Ecto.Changeset
@type t :: %__MODULE__{
id: integer(),
sub: String.t(),
name: String.t() | nil,
email: String.t(),
issuer: String.t(),
provider: String.t(),
refresh_token: String.t(),
access_token: String.t(),
expires_at: NaiveDateTime.t(),
photo_url: String.t(),
groups: {:array, :string},
roles: :string,
organization: String.t(),
user_id: integer(),
inserted_at: NaiveDateTime.t(),
updated_at: NaiveDateTime.t()
}
schema "oidc_users" do
field :sub, :string
field :name, :string
field :email, :string
field :issuer, :string
field :provider, :string
field :id_token, :string
field :refresh_token, :string, redact: true
field :access_token, :string, redact: true
field :expires_at, :naive_datetime
field :photo_url, :string
field :groups, {:array, :string}
field :roles, :string
field :organization, :string
belongs_to :user, Claper.Accounts.User
timestamps()
end
@doc false
def changeset(user, attrs) do
user
|> cast(attrs, [
:sub,
:name,
:email,
:issuer,
:provider,
:id_token,
:photo_url,
:access_token,
:expires_at,
:groups,
:organization,
:user_id,
:roles,
:refresh_token
])
|> validate_required([:sub, :email, :issuer, :provider, :id_token, :user_id])
|> unique_constraint(:sub)
end
end

View File

@@ -9,7 +9,7 @@ defmodule Claper.Accounts.User do
email: String.t(), email: String.t(),
password: String.t() | nil, password: String.t() | nil,
hashed_password: String.t(), hashed_password: String.t(),
is_admin: boolean(), is_randomized_password: boolean(),
confirmed_at: NaiveDateTime.t() | nil, confirmed_at: NaiveDateTime.t() | nil,
locale: String.t() | nil, locale: String.t() | nil,
events: [Claper.Events.Event.t()] | nil, events: [Claper.Events.Event.t()] | nil,
@@ -22,7 +22,7 @@ defmodule Claper.Accounts.User do
field :email, :string field :email, :string
field :password, :string, virtual: true, redact: true field :password, :string, virtual: true, redact: true
field :hashed_password, :string, redact: true field :hashed_password, :string, redact: true
field :is_admin, :boolean field :is_randomized_password, :boolean
field :confirmed_at, :naive_datetime field :confirmed_at, :naive_datetime
field :locale, :string field :locale, :string
@@ -33,7 +33,7 @@ defmodule Claper.Accounts.User do
def registration_changeset(user, attrs, opts \\ []) do def registration_changeset(user, attrs, opts \\ []) do
user user
|> cast(attrs, [:email, :confirmed_at, :password]) |> cast(attrs, [:email, :confirmed_at, :password, :is_randomized_password])
|> validate_email() |> validate_email()
|> validate_password(opts) |> validate_password(opts)
end end
@@ -92,7 +92,7 @@ defmodule Claper.Accounts.User do
""" """
def password_changeset(user, attrs, opts \\ []) do def password_changeset(user, attrs, opts \\ []) do
user user
|> cast(attrs, [:password]) |> cast(attrs, [:password, :is_randomized_password])
|> validate_confirmation(:password) |> validate_confirmation(:password)
|> validate_password(opts) |> validate_password(opts)
end end

View File

@@ -8,6 +8,7 @@ defmodule Claper.Application do
@impl true @impl true
def start(_type, _args) do def start(_type, _args) do
topologies = Application.get_env(:libcluster, :topologies) || [] topologies = Application.get_env(:libcluster, :topologies) || []
oidc_config = Application.get_env(:claper, :oidc) || []
children = [ children = [
{Cluster.Supervisor, [topologies, [name: Claper.ClusterSupervisor]]}, {Cluster.Supervisor, [topologies, [name: Claper.ClusterSupervisor]]},
@@ -23,7 +24,9 @@ defmodule Claper.Application do
# Start a worker by calling: Claper.Worker.start_link(arg) # Start a worker by calling: Claper.Worker.start_link(arg)
# {Claper.Worker, arg} # {Claper.Worker, arg}
{Finch, name: Swoosh.Finch}, {Finch, name: Swoosh.Finch},
{Task.Supervisor, name: Claper.TaskSupervisor} {Task.Supervisor, name: Claper.TaskSupervisor},
{Oidcc.ProviderConfiguration.Worker,
%{issuer: oidc_config[:issuer], name: Claper.OidcProviderConfig}}
] ]
# See https://hexdocs.pm/elixir/Supervisor.html # See https://hexdocs.pm/elixir/Supervisor.html

View File

@@ -7,6 +7,7 @@ defmodule Claper.Embeds.Embed do
id: integer(), id: integer(),
title: String.t(), title: String.t(),
content: String.t(), content: String.t(),
provider: String.t(),
enabled: boolean(), enabled: boolean(),
position: integer() | nil, position: integer() | nil,
attendee_visibility: boolean() | nil, attendee_visibility: boolean() | nil,
@@ -19,6 +20,7 @@ defmodule Claper.Embeds.Embed do
schema "embeds" do schema "embeds" do
field :title, :string field :title, :string
field :content, :string field :content, :string
field :provider, :string
field :enabled, :boolean, default: true field :enabled, :boolean, default: true
field :position, :integer, default: 0 field :position, :integer, default: 0
field :attendee_visibility, :boolean, default: false field :attendee_visibility, :boolean, default: false
@@ -35,6 +37,7 @@ defmodule Claper.Embeds.Embed do
:enabled, :enabled,
:title, :title,
:content, :content,
:provider,
:presentation_file_id, :presentation_file_id,
:position, :position,
:attendee_visibility :attendee_visibility
@@ -42,12 +45,61 @@ defmodule Claper.Embeds.Embed do
|> validate_required([ |> validate_required([
:title, :title,
:content, :content,
:provider,
:presentation_file_id, :presentation_file_id,
:position, :position,
:attendee_visibility :attendee_visibility
]) ])
|> validate_format(:content, ~r/<iframe.*<\/iframe>/, |> validate_inclusion(:provider, ["youtube", "vimeo", "canva", "googleslides", "custom"])
message: gettext("Invalid embed format (should start with <iframe> and end with </iframe>)") |> validate_provider_url()
) end
defp validate_provider_url(changeset) do
case get_field(changeset, :provider) do
"youtube" ->
changeset
|> validate_format(:content, ~r/^https?:\/\/.+$/,
message: gettext("Please enter a valid link starting with http:// or https://")
)
|> validate_format(:content, ~r/youtu\.be/,
message: gettext("Please enter a valid %{provider} link", provider: "YouTube")
)
"canva" ->
changeset
|> validate_format(:content, ~r/^https?:\/\/.+$/,
message: gettext("Please enter a valid link starting with http:// or https://")
)
|> validate_format(:content, ~r/canva\.com/,
message: gettext("Please enter a valid %{provider} link", provider: "Canva")
)
"googleslides" ->
changeset
|> validate_format(:content, ~r/^https?:\/\/.+$/,
message: gettext("Please enter a valid link starting with http:// or https://")
)
|> validate_format(:content, ~r/google\.com/,
message: gettext("Please enter a valid %{provider} link", provider: "Google Slides")
)
"vimeo" ->
changeset
|> validate_format(:content, ~r/^https?:\/\/.+$/,
message: gettext("Please enter a valid link starting with http:// or https://")
)
|> validate_format(:content, ~r/vimeo\.com/,
message: gettext("Please enter a valid %{provider} link", provider: "Vimeo")
)
"custom" ->
changeset
|> validate_format(:content, ~r/<iframe.*?<\/iframe>/s,
message: gettext("Please enter valid HTML content with an iframe tag")
)
_ ->
changeset
end
end end
end end

View File

@@ -365,6 +365,138 @@ defmodule Claper.Events do
end end
end end
@doc """
Duplicate an event
## Examples
iex> duplicate(user_id, event_uuid)
{:ok, %Event{}}
iex> duplicate(user_id, event_uuid)
{:error, %Ecto.Changeset{}}
"""
def duplicate_event(user_id, event_uuid) do
case Ecto.Multi.new()
|> Ecto.Multi.run(:original_event, fn _repo, _changes ->
{:ok,
get_user_event!(user_id, event_uuid,
presentation_file: [
polls: [:poll_opts],
forms: [],
embeds: [],
presentation_state: []
]
)}
end)
|> Ecto.Multi.run(:new_event, fn _repo, %{original_event: original_event} ->
new_code =
for _ <- 1..5,
into: "",
do: <<Enum.random(~c"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")>>
attrs =
Map.from_struct(original_event)
|> Map.drop([:id, :inserted_at, :updated_at, :presentation_file])
|> Map.put(:leaders, [])
|> Map.put(:code, "#{new_code}")
|> Map.put(:name, "#{original_event.name} (Copy)")
create_event(attrs)
end)
|> Ecto.Multi.run(:new_presentation_file, fn _repo,
%{
original_event: original_event,
new_event: new_event
} ->
attrs =
Map.from_struct(original_event.presentation_file)
|> Map.drop([:id, :inserted_at, :updated_at, :presentation_state])
|> Map.put(:event_id, new_event.id)
Claper.Presentations.create_presentation_file(attrs)
end)
|> Ecto.Multi.run(:new_presentation_state, fn _repo,
%{
original_event: original_event,
new_presentation_file:
new_presentation_file
} ->
attrs =
Map.from_struct(original_event.presentation_file.presentation_state)
|> Map.drop([:id, :inserted_at, :updated_at])
|> Map.put(:presentation_file_id, new_presentation_file.id)
|> Map.put(:position, 0)
|> Map.put(:banned, nil)
Claper.Presentations.create_presentation_state(attrs)
end)
|> Ecto.Multi.run(:polls, fn _repo,
%{
new_presentation_file: new_presentation_file,
original_event: original_event
} ->
{:ok,
Enum.map(original_event.presentation_file.polls, fn poll ->
poll_attrs =
Map.from_struct(poll)
|> Map.drop([:id, :inserted_at, :updated_at])
|> Map.put(:presentation_file_id, new_presentation_file.id)
|> Map.put(
:poll_opts,
Enum.map(poll.poll_opts, fn opt ->
Map.from_struct(opt)
|> Map.drop([:id, :inserted_at, :updated_at])
end)
)
{:ok, new_poll} = Claper.Polls.create_poll(poll_attrs)
new_poll
end)}
end)
|> Ecto.Multi.run(:forms, fn _repo,
%{
new_presentation_file: new_presentation_file,
original_event: original_event
} ->
{:ok,
Enum.map(original_event.presentation_file.forms, fn form ->
form_attrs =
Map.from_struct(form)
|> Map.drop([:id, :inserted_at, :updated_at])
|> Map.put(:presentation_file_id, new_presentation_file.id)
|> Map.put(
:fields,
Enum.map(form.fields, &Map.from_struct(&1))
)
{:ok, new_form} = Claper.Forms.create_form(form_attrs)
new_form
end)}
end)
|> Ecto.Multi.run(:embeds, fn _repo,
%{
new_presentation_file: new_presentation_file,
original_event: original_event
} ->
{:ok,
Enum.map(original_event.presentation_file.embeds, fn embed ->
embed_attrs =
Map.from_struct(embed)
|> Map.drop([:id, :inserted_at, :updated_at])
|> Map.put(:presentation_file_id, new_presentation_file.id)
{:ok, new_embed} = Claper.Embeds.create_embed(embed_attrs)
new_embed
end)}
end)
|> Repo.transaction() do
{:ok, %{new_event: new_event}} -> {:ok, new_event}
{:error, _failed_operation, failed_value, _changes_so_far} -> {:error, failed_value}
end
end
@doc """ @doc """
Deletes a event. Deletes a event.

View File

@@ -12,6 +12,7 @@ defmodule Claper.Polls.Poll do
presentation_file_id: integer() | nil, presentation_file_id: integer() | nil,
poll_opts: [Claper.Polls.PollOpt.t()], poll_opts: [Claper.Polls.PollOpt.t()],
poll_votes: [Claper.Polls.PollVote.t()] | nil, poll_votes: [Claper.Polls.PollVote.t()] | nil,
show_results: boolean() | nil,
inserted_at: NaiveDateTime.t(), inserted_at: NaiveDateTime.t(),
updated_at: NaiveDateTime.t() updated_at: NaiveDateTime.t()
} }
@@ -23,6 +24,7 @@ defmodule Claper.Polls.Poll do
field :total, :integer, virtual: true field :total, :integer, virtual: true
field :enabled, :boolean field :enabled, :boolean
field :multiple, :boolean field :multiple, :boolean
field :show_results, :boolean
belongs_to :presentation_file, Claper.Presentations.PresentationFile belongs_to :presentation_file, Claper.Presentations.PresentationFile
has_many :poll_opts, Claper.Polls.PollOpt, on_replace: :delete has_many :poll_opts, Claper.Polls.PollOpt, on_replace: :delete
@@ -34,7 +36,15 @@ defmodule Claper.Polls.Poll do
@doc false @doc false
def changeset(poll, attrs) do def changeset(poll, attrs) do
poll poll
|> cast(attrs, [:title, :presentation_file_id, :position, :enabled, :total, :multiple]) |> cast(attrs, [
:title,
:presentation_file_id,
:position,
:enabled,
:total,
:multiple,
:show_results
])
|> cast_assoc(:poll_opts, required: true) |> cast_assoc(:poll_opts, required: true)
|> validate_required([:title, :presentation_file_id, :position]) |> validate_required([:title, :presentation_file_id, :position])
|> validate_length(:title, max: 255) |> validate_length(:title, max: 255)

View File

@@ -25,8 +25,11 @@ defmodule Claper.Presentations do
def get_presentation_file!(id, preload \\ []), def get_presentation_file!(id, preload \\ []),
do: Repo.get!(PresentationFile, id) |> Repo.preload(preload) do: Repo.get!(PresentationFile, id) |> Repo.preload(preload)
def get_presentation_file_by_hash!(hash) when is_binary(hash), def get_presentation_files_by_hash(hash) when is_binary(hash),
do: Repo.get_by(PresentationFile, hash: hash) |> Repo.preload([:event]) do: Repo.all(from p in PresentationFile, where: p.hash == ^hash)
def get_presentation_files_by_hash(hash) when is_nil(hash),
do: []
@doc """ @doc """
Creates a presentation_files. Creates a presentation_files.

View File

@@ -11,7 +11,6 @@ defmodule Claper.Presentations.PresentationState do
chat_enabled: boolean() | nil, chat_enabled: boolean() | nil,
anonymous_chat_enabled: boolean() | nil, anonymous_chat_enabled: boolean() | nil,
message_reaction_enabled: boolean() | nil, message_reaction_enabled: boolean() | nil,
show_poll_results_enabled: boolean() | nil,
banned: [String.t()] | nil, banned: [String.t()] | nil,
show_only_pinned: boolean() | nil, show_only_pinned: boolean() | nil,
presentation_file_id: integer() | nil, presentation_file_id: integer() | nil,
@@ -27,7 +26,6 @@ defmodule Claper.Presentations.PresentationState do
field :chat_enabled, :boolean field :chat_enabled, :boolean
field :anonymous_chat_enabled, :boolean field :anonymous_chat_enabled, :boolean
field :message_reaction_enabled, :boolean, default: true field :message_reaction_enabled, :boolean, default: true
field :show_poll_results_enabled, :boolean, default: true
field :banned, {:array, :string}, default: [] field :banned, {:array, :string}, default: []
field :show_only_pinned, :boolean, default: false field :show_only_pinned, :boolean, default: false
@@ -49,8 +47,7 @@ defmodule Claper.Presentations.PresentationState do
:chat_enabled, :chat_enabled,
:anonymous_chat_enabled, :anonymous_chat_enabled,
:show_only_pinned, :show_only_pinned,
:message_reaction_enabled, :message_reaction_enabled
:show_poll_results_enabled
]) ])
|> validate_required([]) |> validate_required([])
end end

View File

@@ -11,7 +11,7 @@ defmodule Claper.Tasks.Converter do
Convert the presentation file to images. Convert the presentation file to images.
We use original hash :erlang.phash2(code-name) where the files are uploaded to send it to another folder with a new hash. This last stored in db. We use original hash :erlang.phash2(code-name) where the files are uploaded to send it to another folder with a new hash. This last stored in db.
""" """
def convert(user_id, file, hash, ext, presentation_file_id) do def convert(user_id, file, hash, ext, presentation_file_id, is_copy \\ false) do
presentation = Claper.Presentations.get_presentation_file!(presentation_file_id, [:event]) presentation = Claper.Presentations.get_presentation_file!(presentation_file_id, [:event])
{:ok, presentation} = {:ok, presentation} =
@@ -32,11 +32,11 @@ defmodule Claper.Tasks.Converter do
"#{hash}" "#{hash}"
]) ])
IO.puts("Starting conversion for #{hash}...") IO.puts("Starting conversion for #{hash}... (copy: #{is_copy})")
file_to_pdf(String.to_atom(ext), path, file) file_to_pdf(String.to_atom(ext), path, file)
|> pdf_to_jpg(path, presentation, user_id) |> pdf_to_jpg(path, presentation, user_id)
|> jpg_upload(hash, path, presentation, user_id) |> jpg_upload(hash, path, presentation, user_id, is_copy)
end end
@doc """ @doc """
@@ -113,7 +113,7 @@ defmodule Claper.Tasks.Converter do
failure(presentation, path, user_id) failure(presentation, path, user_id)
end end
defp jpg_upload(%Result{status: 0}, hash, path, presentation, user_id) do defp jpg_upload(%Result{status: 0}, hash, path, presentation, user_id, is_copy) do
files = Path.wildcard("#{path}/*.jpg") files = Path.wildcard("#{path}/*.jpg")
# assign new hash to avoid cache issues # assign new hash to avoid cache issues
@@ -147,14 +147,14 @@ defmodule Claper.Tasks.Converter do
end end
end end
if !is_nil(presentation.hash) do if !is_nil(presentation.hash) && !is_copy do
clear(presentation.hash) clear(presentation.hash)
end end
success(presentation, path, new_hash, length(files), user_id) success(presentation, path, new_hash, length(files), user_id)
end end
defp jpg_upload(_result, _hash, path, presentation, user_id) do defp jpg_upload(_result, _hash, path, presentation, user_id, _is_copy) do
failure(presentation, path, user_id) failure(presentation, path, user_id)
end end

View File

@@ -75,6 +75,7 @@ defmodule ClaperWeb.UserAuth do
It clears all session data for safety. See renew_session. It clears all session data for safety. See renew_session.
""" """
def log_out_user(conn) do def log_out_user(conn) do
logout_redirect_url = Application.get_env(:claper, :logout_redirect_url)
user_token = get_session(conn, :user_token) user_token = get_session(conn, :user_token)
user_token && Accounts.delete_session_token(user_token) user_token && Accounts.delete_session_token(user_token)
@@ -85,9 +86,14 @@ defmodule ClaperWeb.UserAuth do
conn conn
|> renew_session() |> renew_session()
|> delete_resp_cookie(@remember_me_cookie) |> delete_resp_cookie(@remember_me_cookie)
|> redirect(to: "/") |> custom_logout_redirect(logout_redirect_url)
end end
defp custom_logout_redirect(conn, nil), do: conn |> redirect(to: "/")
defp custom_logout_redirect(conn, logout_redirect_url),
do: conn |> redirect(external: logout_redirect_url)
@doc """ @doc """
Authenticates the user by looking into the session Authenticates the user by looking into the session
and remember me token. and remember me token.

View File

@@ -0,0 +1,118 @@
defmodule ClaperWeb.UserOidcAuth do
@moduledoc """
Plug for OpenID Connect authentication.
"""
alias ClaperWeb.UserAuth
use ClaperWeb, :controller
import Phoenix.Controller
@doc false
def new(conn, _params) do
{:ok, redirect_uri} =
Oidcc.create_redirect_url(
Claper.OidcProviderConfig,
client_id(),
client_secret(),
opts()
)
uri = Enum.join(redirect_uri, "")
redirect(conn, external: uri)
end
def callback(conn, %{"code" => code} = _params) do
with {:ok,
%Oidcc.Token{
id: %Oidcc.Token.Id{token: id_token, claims: claims},
access: %Oidcc.Token.Access{token: access_token},
refresh: refresh_token
}} <-
Oidcc.retrieve_token(
code,
Claper.OidcProviderConfig,
client_id(),
client_secret(),
opts()
),
{:ok, oidc_user} <- validate_user(id_token, access_token, refresh_token, claims) do
conn
|> UserAuth.log_in_user(oidc_user.user)
else
{:error, _} ->
conn
|> put_flash(:error, "Cannot authenticate user.")
|> redirect(to: ~p"/users/log_in")
end
conn
end
defp config do
Application.get_env(:claper, :oidc)
end
defp client_id do
config()[:client_id]
end
defp client_secret do
config()[:client_secret]
end
defp provider_name do
config()[:provider_name]
end
defp scopes do
config()[:scopes]
end
defp base_url do
Application.get_env(:claper, ClaperWeb.Endpoint)[:base_url]
end
defp opts() do
url = base_url()
%{
redirect_uri: "#{url}/users/oidc/callback",
scopes: scopes()
}
end
defp format_refresh_token(%Oidcc.Token.Refresh{token: token}) do
token
end
defp format_refresh_token(:none) do
""
end
defp validate_user(id_token, access_token, refresh_token, claims) do
mappings = config()[:property_mappings]
case Claper.Accounts.get_or_create_user_with_oidc(%{
sub: claims["sub"],
issuer: claims["iss"],
name: claims["name"],
email: claims["email"],
provider: provider_name(),
expires_at: claims["exp"] |> DateTime.from_unix!() |> DateTime.to_naive(),
id_token: id_token,
access_token: access_token,
refresh_token: format_refresh_token(refresh_token),
groups: claims["groups"],
roles: claims[mappings["roles"]],
organization: claims[mappings["organization"]],
photo_url: claims[mappings["photo_url"]]
}) do
{:error, _} ->
{:error, %{reason: :invalid_user, msg: "Invalid user"}}
{:ok, user} ->
{:ok, user}
end
end
end

View File

@@ -5,8 +5,28 @@ defmodule ClaperWeb.UserSessionController do
alias ClaperWeb.UserAuth alias ClaperWeb.UserAuth
def new(conn, _params) do def new(conn, _params) do
oidc_auto_redirect_login = Application.get_env(:claper, :oidc)[:auto_redirect_login]
conn conn
|> render("new.html", error_message: nil) |> redirect_to_login(oidc_auto_redirect_login)
end
defp redirect_to_login(conn, true) do
conn |> redirect(to: "/users/oidc")
end
defp redirect_to_login(conn, false) do
oidc_provider_name = Application.get_env(:claper, :oidc)[:provider_name]
oidc_logo_url = Application.get_env(:claper, :oidc)[:logo_url]
oidc_enabled = Application.get_env(:claper, :oidc)[:enabled]
conn
|> render("new.html",
error_message: nil,
oidc_provider_name: oidc_provider_name,
oidc_logo_url: oidc_logo_url,
oidc_enabled: oidc_enabled
)
end end
# def create(conn, %{"user" => %{"email" => email}} = _user_params) do # def create(conn, %{"user" => %{"email" => email}} = _user_params) do

View File

@@ -7,7 +7,9 @@ defmodule ClaperWeb.Endpoint do
@session_options [ @session_options [
store: :cookie, store: :cookie,
key: "_claper_key", key: "_claper_key",
signing_salt: "Tg18Y2zU" signing_salt: "Tg18Y2zU",
# 30 days
max_age: 24 * 60 * 60 * 30
] ]
socket "/live", Phoenix.LiveView.Socket, socket "/live", Phoenix.LiveView.Socket,

View File

@@ -12,6 +12,13 @@ defmodule ClaperWeb.EmbedLive.FormComponent do
|> assign(assigns) |> assign(assigns)
|> assign_new(:dark, fn -> false end) |> assign_new(:dark, fn -> false end)
|> assign(:embeds, list_embeds(assigns)) |> assign(:embeds, list_embeds(assigns))
|> assign(:providers, [
{"YouTube", "youtube"},
{"Vimeo", "vimeo"},
{"Canva", "canva"},
{"Google Slides", "googleslides"},
{"Custom (iframe)", "custom"}
])
|> assign(:changeset, changeset)} |> assign(:changeset, changeset)}
end end

View File

@@ -18,24 +18,42 @@
required="true" required="true"
/> />
<div class="mt-3"> <div class="mt-3 flex gap-x-2 items-center">
<ClaperWeb.Component.Input.textarea <ClaperWeb.Component.Input.select
form={f} form={f}
key={:content} key={:provider}
name={gettext("The iframe component")} name={gettext("Provider")}
array={@providers}
labelClass={if @dark, do: "text-white"} labelClass={if @dark, do: "text-white"}
fieldClass={if @dark, do: "bg-gray-700 text-white"} fieldClass={if @dark, do: "bg-gray-700 text-white h-full"}
autofocus="true"
required="true" required="true"
/> />
<div class="flex-1">
<p></p>
<ClaperWeb.Component.Input.text
form={f}
key={:content}
name={
if Ecto.Changeset.get_field(@changeset, :provider) == "custom",
do: gettext("Iframe code"),
else: gettext("Link to the content")
}
labelClass={if @dark, do: "text-white"}
fieldClass={if @dark, do: "bg-gray-700 text-white"}
autofocus="true"
required="true"
/>
</div>
</div> </div>
<p class="text-gray-700 text-xl font-semibold mt-5"><%= gettext("Options") %></p>
<div class="flex gap-x-2 mb-5 mt-3"> <div class="flex gap-x-2 mb-5 mt-3">
<%= checkbox(f, :attendee_visibility, class: "h-4 w-5") %> <%= checkbox(f, :attendee_visibility, class: "h-4 w-5") %>
<%= label( <%= label(
f, f,
:attendee_visibility, :attendee_visibility,
gettext("Attendee can view the web content on their device"), gettext("Attendees can view the web content on their device"),
class: "text-sm font-medium" class: "text-sm font-medium"
) %> ) %>
</div> </div>

View File

@@ -60,7 +60,12 @@ defmodule ClaperWeb.EventLive.EmbedComponent do
<p class="text-white text-lg font-semibold mb-4"><%= @embed.title %></p> <p class="text-white text-lg font-semibold mb-4"><%= @embed.title %></p>
</div> </div>
<div class="flex flex-col space-y-3"> <div class="flex flex-col space-y-3">
<%= raw(@embed.content) %> <.live_component
id="embed-component"
module={ClaperWeb.EventLive.EmbedIframeComponent}
provider={@embed.provider}
content={@embed.content}
/>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,47 @@
defmodule ClaperWeb.EventLive.EmbedIframeComponent do
use ClaperWeb, :live_component
def render(assigns) do
~H"""
<div id={@id} class="h-full w-full">
<%= case @provider do %>
<% "youtube" -> %>
<iframe
src={"https://www.youtube.com/embed/#{@content |> String.split("youtu.be/") |> Enum.at(1)}"}
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
>
</iframe>
<% "vimeo" -> %>
<iframe
src={"https://player.vimeo.com/video/#{@content |> String.split("vimeo.com/") |> Enum.at(1)}"}
frameborder="0"
allow="autoplay; fullscreen; picture-in-picture"
allowfullscreen
>
</iframe>
<% "canva" -> %>
<iframe
src={"#{@content}?embed"}
frameborder="0"
allowfullscreen="allowfullscreen"
allow="fullscreen"
>
</iframe>
<% "googleslides" -> %>
<iframe
src={"#{@content |> String.replace("/pub", "/embed")}"}
frameborder="0"
allowfullscreen="allowfullscreen"
allow="fullscreen"
>
</iframe>
<% "custom" -> %>
<%= raw(@content) %>
<% end %>
</div>
"""
end
end

View File

@@ -101,7 +101,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
<div <div
phx-hook="Dropdown" phx-hook="Dropdown"
id={"dropdown-#{@event.uuid}"} id={"dropdown-#{@event.uuid}"}
class="hidden rounded shadow-lg bg-white border px-2 py-1 absolute -left-1 top-9 w-max" class="hidden rounded shadow-lg bg-white border px-1 py-1 absolute -left-1 top-9 w-max"
> >
<ul> <ul>
<li> <li>
@@ -175,14 +175,75 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
<span><%= gettext("Terminate") %></span> <span><%= gettext("Terminate") %></span>
</.link> </.link>
</div> </div>
<div> <div class="flex items-start gap-x-2 relative text-sm ">
<%= if not @is_leader do %> <%= if not @is_leader do %>
<a <button
href={~p"/events/#{@event.uuid}/edit"} phx-click-away={JS.hide(to: "#dropdown-action-#{@event.uuid}")}
class="flex w-full lg:w-auto rounded-md tracking-wide focus:outline-none focus:shadow-outline text-primary-500 text-sm items-center" phx-click={JS.toggle(to: "#dropdown-action-#{@event.uuid}")}
phx-target={@myself}
class="flex w-full lg:w-auto pl-3 pr-4 text-gray-700 items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline hover:bg-gray-300 bg-gray-200"
> >
<span><%= gettext("Edit") %></span> <span class="mr-2"><%= gettext("Action") %></span>
</a> <svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="2.5"
stroke="currentColor"
class="w-4 h-4"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="m19.5 8.25-7.5 7.5-7.5-7.5"
/>
</svg>
</button>
<div
phx-hook="Dropdown"
id={"dropdown-action-#{@event.uuid}"}
class="hidden rounded shadow-lg bg-white border px-1 py-1 absolute -left-1 top-9 w-max font-medium text-sm"
>
<ul>
<li>
<a
class="py-2 px-2 rounded text-gray-600 hover:bg-gray-100 flex items-center gap-x-2"
href={~p"/events/#{@event.uuid}/edit"}
data-phx-link="patch"
data-phx-link-state="push"
>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
class="h-5 w-5"
>
<path d="m5.433 13.917 1.262-3.155A4 4 0 0 1 7.58 9.42l6.92-6.918a2.121 2.121 0 0 1 3 3l-6.92 6.918c-.383.383-.84.685-1.343.886l-3.154 1.262a.5.5 0 0 1-.65-.65Z" />
<path d="M3.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H4.75A2.75 2.75 0 0 0 2 5.75v9.5A2.75 2.75 0 0 0 4.75 18h9.5A2.75 2.75 0 0 0 17 15.25V10a.75.75 0 0 0-1.5 0v5.25c0 .69-.56 1.25-1.25 1.25h-9.5c-.69 0-1.25-.56-1.25-1.25v-9.5Z" />
</svg>
<span><%= gettext("Edit") %></span>
</a>
</li>
<li>
<button
phx-value-id={@event.uuid}
phx-click="duplicate"
class="py-2 px-2 rounded text-gray-600 hover:bg-gray-100 flex items-center gap-x-2"
>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
class="w-5 h-5"
>
<path d="M7 3.5A1.5 1.5 0 0 1 8.5 2h3.879a1.5 1.5 0 0 1 1.06.44l3.122 3.12A1.5 1.5 0 0 1 17 6.622V12.5a1.5 1.5 0 0 1-1.5 1.5h-1v-3.379a3 3 0 0 0-.879-2.121L10.5 5.379A3 3 0 0 0 8.379 4.5H7v-1Z" />
<path d="M4.5 6A1.5 1.5 0 0 0 3 7.5v9A1.5 1.5 0 0 0 4.5 18h7a1.5 1.5 0 0 0 1.5-1.5v-5.879a1.5 1.5 0 0 0-.44-1.06L9.44 6.439A1.5 1.5 0 0 0 8.378 6H4.5Z" />
</svg>
<span><%= gettext("Duplicate") %></span>
</button>
</li>
</ul>
</div>
<% end %> <% end %>
</div> </div>
</div> </div>
@@ -194,14 +255,57 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
<span class="text-sm text-supporting-red-500"> <span class="text-sm text-supporting-red-500">
<%= gettext("Error when processing the file") %> <%= gettext("Error when processing the file") %>
</span> </span>
<div> <div class="relative text-sm">
<%= if not @is_leader do %> <%= if not @is_leader do %>
<a <button
href={~p"/events/#{@event.uuid}/edit"} phx-click-away={JS.hide(to: "#dropdown-action-#{@event.uuid}")}
class="flex w-full lg:w-auto rounded-md tracking-wide focus:outline-none focus:shadow-outline text-primary-500 text-sm items-center" phx-click={JS.toggle(to: "#dropdown-action-#{@event.uuid}")}
phx-target={@myself}
class="flex w-full lg:w-auto pl-3 pr-4 text-gray-700 items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline hover:bg-gray-300 bg-gray-200"
> >
<span><%= gettext("Edit") %></span> <span class="mr-2"><%= gettext("Action") %></span>
</a> <svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="2.5"
stroke="currentColor"
class="w-4 h-4"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="m19.5 8.25-7.5 7.5-7.5-7.5"
/>
</svg>
</button>
<div
phx-hook="Dropdown"
id={"dropdown-action-#{@event.uuid}"}
class="hidden rounded shadow-lg bg-white border px-1 py-1 absolute -left-1 top-9 w-max font-medium text-sm"
>
<ul>
<li>
<a
class="py-2 px-2 rounded text-gray-600 hover:bg-gray-100 flex items-center gap-x-2"
href={~p"/events/#{@event.uuid}/edit"}
data-phx-link="patch"
data-phx-link-state="push"
>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
class="h-5 w-5"
>
<path d="m5.433 13.917 1.262-3.155A4 4 0 0 1 7.58 9.42l6.92-6.918a2.121 2.121 0 0 1 3 3l-6.92 6.918c-.383.383-.84.685-1.343.886l-3.154 1.262a.5.5 0 0 1-.65-.65Z" />
<path d="M3.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H4.75A2.75 2.75 0 0 0 2 5.75v9.5A2.75 2.75 0 0 0 4.75 18h9.5A2.75 2.75 0 0 0 17 15.25V10a.75.75 0 0 0-1.5 0v5.25c0 .69-.56 1.25-1.25 1.25h-9.5c-.69 0-1.25-.56-1.25-1.25v-9.5Z" />
</svg>
<span><%= gettext("Edit") %></span>
</a>
</li>
</ul>
</div>
<% end %> <% end %>
</div> </div>
</div> </div>
@@ -240,21 +344,64 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
<span><%= gettext("View report") %></span> <span><%= gettext("View report") %></span>
</a> </a>
</div> </div>
<div> <div class="relative text-sm">
<%= if not @is_leader do %> <%= if not @is_leader do %>
<%= link(gettext("Delete"), <button
to: "#", phx-click-away={JS.hide(to: "#dropdown-action-#{@event.uuid}")}
phx_click: "delete", phx-click={JS.toggle(to: "#dropdown-action-#{@event.uuid}")}
phx_value_id: @event.uuid, phx-target={@myself}
data: [ class="flex w-full lg:w-auto pl-3 pr-4 text-gray-700 items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline hover:bg-gray-300 bg-gray-200"
confirm: >
gettext( <span class="mr-2"><%= gettext("Action") %></span>
"This will delete all data related to your event, this cannot be undone. Confirm ?" <svg
) xmlns="http://www.w3.org/2000/svg"
], fill="none"
class: viewBox="0 0 24 24"
"flex w-full lg:w-auto rounded-md tracking-wide focus:outline-none focus:shadow-outline text-red-500 text-sm items-center" stroke-width="2.5"
) %> stroke="currentColor"
class="w-4 h-4"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="m19.5 8.25-7.5 7.5-7.5-7.5"
/>
</svg>
</button>
<div
phx-hook="Dropdown"
id={"dropdown-action-#{@event.uuid}"}
class="hidden rounded shadow-lg bg-white border px-1 py-1 absolute -left-1 top-9 w-max font-medium text-sm"
>
<ul>
<li>
<.link
phx-click="delete"
phx-value-id={@event.uuid}
data-confirm={
gettext(
"This will delete all data related to your event, this cannot be undone. Confirm ?"
)
}
class="py-2 px-2 rounded text-red-500 hover:bg-gray-100 flex items-center gap-x-2 flex items-center gap-x-2 cursor-pointer"
>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 16 16"
fill="currentColor"
class="h-5 w-5"
>
<path
fill-rule="evenodd"
d="M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z"
clip-rule="evenodd"
/>
</svg>
<span><%= gettext("Delete") %></span>
</.link>
</li>
</ul>
</div>
<% end %> <% end %>
</div> </div>
</div> </div>

View File

@@ -248,7 +248,7 @@ defmodule ClaperWeb.EventLive.EventFormComponent do
event_params event_params
) do ) do
{:ok, event} -> {:ok, event} ->
handle_file_conversion(socket, hash, ext) handle_file_conversion(socket, hash, ext, event)
send_email_to_leaders(socket, event) send_email_to_leaders(socket, event)
@@ -262,17 +262,20 @@ defmodule ClaperWeb.EventLive.EventFormComponent do
end end
end end
defp handle_file_conversion(socket, hash, ext) do defp handle_file_conversion(socket, hash, ext, event) do
if is_nil(hash) || is_nil(ext) do if is_nil(hash) || is_nil(ext) do
:ok :ok
else else
files = Claper.Presentations.get_presentation_files_by_hash(event.presentation_file.hash)
Task.Supervisor.async_nolink(Claper.TaskSupervisor, fn -> Task.Supervisor.async_nolink(Claper.TaskSupervisor, fn ->
Claper.Tasks.Converter.convert( Claper.Tasks.Converter.convert(
socket.assigns.current_user.id, socket.assigns.current_user.id,
"original.#{ext}", "original.#{ext}",
hash, hash,
ext, ext,
socket.assigns.event.presentation_file.id socket.assigns.event.presentation_file.id,
files |> Enum.count() > 1
) )
end) end)
end end

View File

@@ -372,7 +372,7 @@
phx-click="remove-leader" phx-click="remove-leader"
phx-value-remove={l.data.temp_id} phx-value-remove={l.data.temp_id}
phx-target={@myself} phx-target={@myself}
class="md:ml-3 rounded-md bg-supporting-red-500 hover:bg-supporting-red-600 transition flex items-center mt-2 md:w-max text-white py-7 px-3 text-sm max-h-0" class="md:ml-3 rounded-md bg-supporting-red-500 hover:bg-supporting-red-600 transition flex items-center mt-2 md:w-max text-white py-5 px-3 text-sm max-h-0"
> >
<span><%= gettext("Remove") %></span> <span><%= gettext("Remove") %></span>
</button> </button>

View File

@@ -12,10 +12,12 @@ defmodule ClaperWeb.EventLive.Index do
Gettext.put_locale(ClaperWeb.Gettext, locale) Gettext.put_locale(ClaperWeb.Gettext, locale)
end end
code = for _ <- 1..5, into: "", do: <<Enum.random(~c"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")>>
changeset = changeset =
Events.change_event(%Event{}, %{ Events.change_event(%Event{}, %{
started_at: NaiveDateTime.utc_now(), started_at: NaiveDateTime.utc_now(),
code: Enum.random(1000..9999), code: code,
leaders: [] leaders: []
}) })
@@ -56,6 +58,8 @@ defmodule ClaperWeb.EventLive.Index do
@impl true @impl true
def handle_event("save", %{"event" => event_params}, socket) do def handle_event("save", %{"event" => event_params}, socket) do
code = for _ <- 1..5, into: "", do: <<Enum.random(~c"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")>>
case Claper.Events.create_event( case Claper.Events.create_event(
event_params event_params
|> Map.put("user_id", socket.assigns.current_user.id) |> Map.put("user_id", socket.assigns.current_user.id)
@@ -65,7 +69,10 @@ defmodule ClaperWeb.EventLive.Index do
"presentation_state" => %{} "presentation_state" => %{}
}) })
|> Map.put("started_at", NaiveDateTime.utc_now()) |> Map.put("started_at", NaiveDateTime.utc_now())
|> Map.put("code", "#{Enum.random(1000..9999)}") |> Map.put(
"code",
"#{code}"
)
) do ) do
{:ok, _event} -> {:ok, _event} ->
{:noreply, {:noreply,
@@ -81,11 +88,19 @@ defmodule ClaperWeb.EventLive.Index do
@impl true @impl true
def handle_event("delete", %{"id" => id}, %{assigns: %{current_user: current_user}} = socket) do def handle_event("delete", %{"id" => id}, %{assigns: %{current_user: current_user}} = socket) do
event = Events.get_user_event!(current_user.id, id, [:presentation_file]) event = Events.get_user_event!(current_user.id, id, [:presentation_file])
hash = event.presentation_file.hash
files =
Claper.Presentations.get_presentation_files_by_hash(hash)
{:ok, _} = Events.delete_event(event) {:ok, _} = Events.delete_event(event)
Task.Supervisor.async_nolink(Claper.TaskSupervisor, fn -> if files |> Enum.empty?() && !is_nil(hash) do
Claper.Tasks.Converter.clear(event.presentation_file.hash) Task.Supervisor.async_nolink(Claper.TaskSupervisor, fn ->
end) Claper.Tasks.Converter.clear(event.presentation_file.hash)
end)
end
{:noreply, redirect(socket, to: ~p"/events")} {:noreply, redirect(socket, to: ~p"/events")}
end end
@@ -106,6 +121,13 @@ defmodule ClaperWeb.EventLive.Index do
{:noreply, redirect(socket, to: ~p"/events")} {:noreply, redirect(socket, to: ~p"/events")}
end end
@impl true
def handle_event("duplicate", %{"id" => id}, %{assigns: %{current_user: current_user}} = socket) do
event = Events.get_user_event!(current_user.id, id)
{:ok, _} = Events.duplicate_event(current_user.id, event.uuid)
{:noreply, redirect(socket, to: ~p"/events")}
end
@impl true @impl true
def handle_event( def handle_event(
"toggle-quick-create", "toggle-quick-create",
@@ -142,11 +164,13 @@ defmodule ClaperWeb.EventLive.Index do
end end
defp apply_action(socket, :new, _params) do defp apply_action(socket, :new, _params) do
code = for _ <- 1..5, into: "", do: <<Enum.random(~c"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")>>
socket socket
|> assign(:page_title, gettext("Create")) |> assign(:page_title, gettext("Create"))
|> assign(:event, %Event{ |> assign(:event, %Event{
started_at: NaiveDateTime.utc_now(), started_at: NaiveDateTime.utc_now(),
code: Enum.random(1000..9999), code: code,
leaders: [] leaders: []
}) })
end end

View File

@@ -12,7 +12,7 @@
<% else %> <% else %>
<div <div
id="quick-create-modal" id="quick-create-modal"
class={"#{if @live_action != :quick_create, do: 'hidden' } fixed z-30 inset-0 overflow-y-auto p-4 sm:p-6 md:p-24 class={"#{if @live_action != :quick_create, do: "hidden" } fixed z-30 inset-0 overflow-y-auto p-4 sm:p-6 md:p-24
transform transition-all duration-150"} transform transition-all duration-150"}
role="dialog" role="dialog"
aria-modal="true" aria-modal="true"

View File

@@ -312,29 +312,6 @@ defmodule ClaperWeb.EventLive.Manage do
|> interactions_at_position(page)} |> interactions_at_position(page)}
end end
@impl true
def handle_event(
"import",
%{"event" => event_uuid},
%{assigns: %{current_user: current_user, event: current_event}} = socket
) do
try do
case Claper.Events.import(current_user.id, event_uuid, current_event.uuid) do
{:ok, _event} ->
{:noreply,
socket
|> put_flash(:info, gettext("Interactions imported successfully"))
|> redirect(to: ~p"/e/#{current_event.code}/manage")}
end
rescue
Ecto.NoResultsError ->
{:noreply,
socket
|> put_flash(:error, gettext("Interactions import failed"))
|> redirect(to: ~p"/e/#{current_event.code}/manage")}
end
end
def handle_event("poll-set-active", %{"id" => id}, socket) do def handle_event("poll-set-active", %{"id" => id}, socket) do
with poll <- Polls.get_poll!(id), :ok <- Claper.Interactions.enable_interaction(poll) do with poll <- Polls.get_poll!(id), :ok <- Claper.Interactions.enable_interaction(poll) do
Phoenix.PubSub.broadcast( Phoenix.PubSub.broadcast(
@@ -539,23 +516,6 @@ defmodule ClaperWeb.EventLive.Manage do
{:noreply, socket |> assign(:state, new_state)} {:noreply, socket |> assign(:state, new_state)}
end end
@impl true
def handle_event(
"checked",
%{"key" => "show_poll_results_enabled", "value" => value},
%{assigns: %{state: state}} = socket
) do
{:ok, new_state} =
Claper.Presentations.update_presentation_state(
state,
%{
:show_poll_results_enabled => value
}
)
{:noreply, socket |> assign(:state, new_state)}
end
@impl true @impl true
def handle_event( def handle_event(
"checked", "checked",

View File

@@ -31,7 +31,7 @@
</div> </div>
<div <div
id="settings-modal" id="settings-modal"
class={"#{if !@settings_modal, do: 'hidden' } fixed z-30 inset-0 overflow-y-auto p-4 sm:p-6 md:p-24 class={"#{if !@settings_modal, do: "hidden" } fixed z-30 inset-0 overflow-y-auto p-4 sm:p-6 md:p-24
transform transition-all duration-150"} transform transition-all duration-150"}
role="dialog" role="dialog"
aria-modal="true" aria-modal="true"
@@ -107,7 +107,7 @@
<div <div
id="add-modal" id="add-modal"
class={"#{if !@create, do: 'hidden' } fixed z-30 inset-0 overflow-y-auto p-4 sm:p-6 md:p-24 class={"#{if !@create, do: "hidden" } fixed z-30 inset-0 overflow-y-auto p-4 sm:p-6 md:p-24
transform transition-all duration-150"} transform transition-all duration-150"}
role="dialog" role="dialog"
aria-modal="true" aria-modal="true"
@@ -147,7 +147,7 @@
<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"> <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 <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="h-6 w-6" class="h-7 w-7"
fill="none" fill="none"
viewBox="0 0 24 24" viewBox="0 0 24 24"
stroke="currentColor" stroke="currentColor"
@@ -180,23 +180,17 @@
<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"> <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 <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-forms" class="h-7 w-7"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
fill="none" fill="none"
stroke-linecap="round" viewBox="0 0 24 24"
stroke-linejoin="round" stroke="currentColor"
stroke-width="1.5"
> >
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path
<path d="M12 3a3 3 0 0 0 -3 3v12a3 3 0 0 0 3 3"></path> stroke-linecap="round"
<path d="M6 3a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3"></path> stroke-linejoin="round"
<path d="M13 7h7a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-7"></path> d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
<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> </svg>
</div> </div>
<div class="ml-4 flex-auto text-left"> <div class="ml-4 flex-auto text-left">
@@ -223,7 +217,7 @@
viewBox="0 0 24 24" viewBox="0 0 24 24"
stroke-width="1.5" stroke-width="1.5"
stroke="currentColor" stroke="currentColor"
class="w-6 h-6" class="w-7 h-7"
> >
<path <path
stroke-linecap="round" stroke-linecap="round"
@@ -241,36 +235,6 @@
</a> </a>
</li> </li>
</ul> </ul>
<%= if @total_interactions == 0 && @event.presentation_file.length > 0 do %>
<div class="mt-10">
<a
data-phx-link="patch"
data-phx-link-state="push"
href={~p"/e/#{@event.code}/manage/import"}
class="group flex gap-x-2 select-none rounded-xl p-3 w-full hover:bg-gray-200 cursor-pointer"
>
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
width="24"
height="24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"
/>
</svg>
<p class="text-gray-700">
<%= gettext("Import all interactions from another presentation") %>
</p>
</a>
</div>
<% end %>
<% end %> <% end %>
<%= if @create=="poll" do %> <%= if @create=="poll" 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">
@@ -607,11 +571,11 @@
</div> </div>
<div <div
phx-hook={"#{if @event.presentation_file.length > 0, do: 'Split', else: ''}"} phx-hook={"#{if @event.presentation_file.length > 0, do: "Split", else: ""}"}
data-type="row" data-type="row"
data-gutter=".gutter" data-gutter=".gutter"
id="base-layout" id="base-layout"
class={"#{if @event.presentation_file.length > 0, do: 'md:grid grid-rows-[1fr_10px_1fr] overflow-y-auto', else: ''}"} class={"#{if @event.presentation_file.length > 0, do: "md:grid grid-rows-[1fr_10px_1fr] overflow-y-auto", else: ""}"}
> >
<div <div
:if={@event.presentation_file.length > 0} :if={@event.presentation_file.length > 0}
@@ -627,14 +591,18 @@
> >
<%= if Application.get_env(:claper, :presentations) |> Keyword.get(:storage) == "local" do %> <%= if Application.get_env(:claper, :presentations) |> Keyword.get(:storage) == "local" do %>
<img <img
class={"#{if @state.position==index, do: 'border-4 border-primary-500' , else: 'opacity-20' } class={"#{if @state.position==index, do: "border-4 border-primary-500" , else: "opacity-20" }
transition-all object-contain"} transition-all object-contain"}
src={"/uploads/#{@event.presentation_file.hash}/#{index+1}.jpg"} src={"/uploads/#{@event.presentation_file.hash}/#{index+1}.jpg"}
/> />
<% else %> <% else %>
<img src={"https://#{Application.get_env(:claper, :presentations) |> <img
class={"#{if @state.position==index, do: "border-4 border-primary-500" , else: "opacity-20" }
transition-all object-contain"}
src={"https://#{Application.get_env(:claper, :presentations) |>
Keyword.get(:aws_bucket)}.s3.#{Application.get_env(:ex_aws, Keyword.get(:aws_bucket)}.s3.#{Application.get_env(:ex_aws,
:region)}.amazonaws.com/presentations/#{@event.presentation_file.hash}/#{index+1}.jpg"} /> :region)}.amazonaws.com/presentations/#{@event.presentation_file.hash}/#{index+1}.jpg"}
/>
<% end %> <% end %>
</button> </button>
<% end %> <% end %>
@@ -755,49 +723,6 @@
</span> </span>
</button> </button>
</li> </li>
<li>
<button
phx-click="checked"
phx-value-key="show_poll_results_enabled"
value={"#{!@state.show_poll_results_enabled}"}
class="py-2 px-2 rounded text-gray-600 bg-gray-100 hover:bg-gray-200 flex justify-center items-center w-full gap-x-3"
>
<svg
:if={@state.show_poll_results_enabled}
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="h-6 w-6"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M8 4h10a2 2 0 0 1 2 2v10m-.586 3.414a2 2 0 0 1 -1.414 .586h-12a2 2 0 0 1 -2 -2v-12c0 -.547 .22 -1.043 .576 -1.405" /><path d="M7 14l3 -3l2 2l.5 -.5m2 -2l.5 -.5l2 2" /><path d="M3 3l18 18" />
</svg>
<svg
:if={!@state.show_poll_results_enabled}
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="h-6 w-6"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M4 18v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z" /><path d="M7 14l3 -3l2 2l3 -3l2 2" />
</svg>
<span :if={@state.show_poll_results_enabled}>
<%= gettext("Hide results for attendees") %>
</span>
<span :if={!@state.show_poll_results_enabled}>
<%= gettext("Show results for attendees") %>
</span>
</button>
</li>
</ul> </ul>
</div> </div>
<div> <div>
@@ -908,7 +833,9 @@
/> />
</svg> </svg>
</div> </div>
<span class="font-semibold"><%= gettext("Web content") %></span> <span class="font-semibold">
<%= gettext("Web content") %>
</span>
</div> </div>
<a <a
class="p-2 rounded text-xs font-medium text-center text-primary-500" class="p-2 rounded text-xs font-medium text-center text-primary-500"
@@ -949,7 +876,123 @@
<% _ -> %> <% _ -> %>
<!-- Handle any other types of interactions here if needed --> <!-- Handle any other types of interactions here if needed -->
<% end %> <% end %>
<p class="text-sm mb-4"><%= interaction.title %></p> <div class="text-sm mb-4 flex gap-x-2 items-center">
<%= case interaction do %>
<% %Claper.Embeds.Embed{} -> %>
<%= case(interaction.provider) do %>
<% "youtube" -> %>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-5"
viewBox="0 0 28.57 20"
>
<svg viewBox="0 0 28.57 20" xmlns="http://www.w3.org/2000/svg">
<path
d="M27.973 3.123A3.578 3.578 0 0 0 25.447.597C23.22 0 14.285 0 14.285 0S5.35 0 3.123.597A3.578 3.578 0 0 0 .597 3.123C0 5.35 0 10 0 10s0 4.65.597 6.877a3.578 3.578 0 0 0 2.526 2.526C5.35 20 14.285 20 14.285 20s8.935 0 11.162-.597a3.578 3.578 0 0 0 2.526-2.526C28.57 14.65 28.57 10 28.57 10s-.002-4.65-.597-6.877Z"
fill="red"
/>
<path
d="M11.425 14.285 18.848 10l-7.423-4.285v8.57Z"
fill="#fff"
/>
</svg>
</svg>
<% "vimeo" -> %>
<svg
class="h-5"
style="fill:#1ab7ea"
viewBox="0 0 32 32"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M31.969 8.552c-.141 3.12-2.319 7.396-6.527 12.812-4.355 5.667-8.031 8.496-11.052 8.496-1.88 0-3.437-1.724-4.74-5.172l-2.557-9.491c-.957-3.443-1.979-5.167-3.077-5.167-.24 0-1.079.5-2.511 1.505L0 9.592a408.153 408.153 0 0 0 4.667-4.167c2.104-1.828 3.688-2.781 4.74-2.88 2.489-.24 4.02 1.469 4.599 5.115.62 3.937 1.047 6.385 1.292 7.344.719 3.265 1.509 4.901 2.369 4.901.667 0 1.672-1.063 3.021-3.183 1.339-2.12 2.052-3.729 2.145-4.839.193-1.823-.527-2.745-2.151-2.745-.765 0-1.557.163-2.371.521 1.584-5.156 4.579-7.677 9.016-7.516 3.297.079 4.839 2.219 4.656 6.396z" />
</svg>
<% "canva" -> %>
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 1900 1900"
class="h-5"
>
<circle cx="950" cy="950" r="950" fill="#7D2AE7" />
<circle cx="950" cy="950" r="950" fill="url(#a)" />
<circle cx="950" cy="950" r="950" fill="url(#b)" />
<circle cx="950" cy="950" r="950" fill="url(#c)" />
<circle cx="950" cy="950" r="950" fill="url(#d)" />
<path
fill="#fff"
d="M1360.14 1144.88c-7.84 0-14.74 6.62-21.92 21.08-81.08 164.41-221.12 280.74-383.174 280.74-187.38 0-303.419-169.15-303.419-402.83 0-395.834 220.548-624.697 414.263-624.697 90.52 0 145.8 56.885 145.8 147.41 0 107.439-61.04 164.324-61.04 202.216 0 17.009 10.58 27.308 31.56 27.308 84.29 0 183.22-96.855 183.22-233.682 0-132.669-115.47-230.186-309.18-230.186-320.145 0-604.665 296.804-604.665 707.471 0 317.88 181.522 527.94 461.601 527.94 297.274 0 469.164-295.77 469.164-391.77 0-21.26-10.87-31-22.21-31Z"
/>
<defs>
<radialGradient
id="a"
cx="0"
cy="0"
r="1"
gradientTransform="rotate(-49.416 2013.483 443.185) scale(1469.49)"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#6420FF" />
<stop offset="1" stop-color="#6420FF" stop-opacity="0" />
</radialGradient>
<radialGradient
id="b"
cx="0"
cy="0"
r="1"
gradientTransform="rotate(54.703 42.717 594.194) scale(1657.12)"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#00C4CC" />
<stop offset="1" stop-color="#00C4CC" stop-opacity="0" />
</radialGradient>
<radialGradient
id="c"
cx="0"
cy="0"
r="1"
gradientTransform="matrix(1023.00018 -1030.00171 473.71139 470.4913 367 1684)"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#6420FF" />
<stop offset="1" stop-color="#6420FF" stop-opacity="0" />
</radialGradient>
<radialGradient
id="d"
cx="0"
cy="0"
r="1"
gradientTransform="matrix(595.99869 1371.99953 -2298.40601 998.43108 777 256)"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#00C4CC" stop-opacity=".726" />
<stop offset="0" stop-color="#00C4CC" />
<stop offset="1" stop-color="#00C4CC" stop-opacity="0" />
</radialGradient>
</defs>
</svg>
<% "googleslides" -> %>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 64 88"
xml:space="preserve"
class="h-5"
>
<path
d="M58 88H6c-3.3 0-6-2.7-6-6V6c0-3.3 2.7-6 6-6h36l22 22v60c0 3.3-2.7 6-6 6z"
fill="#f8bf08"
/>
<path d="m42 0 22 22H42V0z" fill="#f59307" />
<path
d="M12 34.5v28h40v-28H12zm35 23H17v-18h30v18z"
fill="#fdffff"
/>
</svg>
<% _ -> %>
<% end %>
<% _ -> %>
<% end %>
<span><%= interaction.title %></span>
</div>
</div> </div>
<div class="w-full"> <div class="w-full">
<%= if interaction.enabled do %> <%= if interaction.enabled do %>
@@ -1055,32 +1098,32 @@
phx-update="replace" phx-update="replace"
class="flex flex-col md:flex-row md:flex items-center bg-gray-200 space-y-2 md:space-y-0 space-x-0 md:space-x-3 px-2 w-full py-3" class="flex flex-col md:flex-row md:flex items-center bg-gray-200 space-y-2 md:space-y-0 space-x-0 md:space-x-3 px-2 w-full py-3"
> >
<li class={"rounded-md #{if @list_tab==:posts, do: 'bg-secondary-600 text-white' , <li class={"rounded-md #{if @list_tab==:posts, do: "bg-secondary-600 text-white" ,
else: 'bg-white text-gray-600' } px-2 py-0.5 text-sm shadow-sm"}> else: "bg-white text-gray-600" } px-2 py-0.5 text-sm shadow-sm"}>
<%= link(gettext("Messages") <> " (#{@post_count})", <%= link(gettext("Messages") <> " (#{@post_count})",
to: "#", to: "#",
phx_click: "list-tab", phx_click: "list-tab",
phx_value_tab: :posts phx_value_tab: :posts
) %> ) %>
</li> </li>
<li class={"rounded-md #{if @list_tab==:questions, do: 'bg-secondary-600 text-white' , <li class={"rounded-md #{if @list_tab==:questions, do: "bg-secondary-600 text-white" ,
else: 'bg-white text-gray-600' } px-2 py-0.5 text-sm shadow-sm"}> else: "bg-white text-gray-600" } px-2 py-0.5 text-sm shadow-sm"}>
<%= link(gettext("Questions") <> " (#{@question_count})", <%= link(gettext("Questions") <> " (#{@question_count})",
to: "#", to: "#",
phx_click: "list-tab", phx_click: "list-tab",
phx_value_tab: :questions phx_value_tab: :questions
) %> ) %>
</li> </li>
<li class={"rounded-md #{if @list_tab==:pinned_posts, do: 'bg-secondary-600 text-white' , <li class={"rounded-md #{if @list_tab==:pinned_posts, do: "bg-secondary-600 text-white" ,
else: 'bg-white text-gray-600' } px-2 py-0.5 text-sm shadow-sm"}> else: "bg-white text-gray-600" } px-2 py-0.5 text-sm shadow-sm"}>
<%= link(gettext("Pinned messages") <> " (#{@pinned_post_count})", <%= link(gettext("Pinned messages") <> " (#{@pinned_post_count})",
to: "#", to: "#",
phx_click: "list-tab", phx_click: "list-tab",
phx_value_tab: :pinned_posts phx_value_tab: :pinned_posts
) %> ) %>
</li> </li>
<li class={"rounded-md #{if @list_tab==:forms, do: 'bg-secondary-600 text-white' , <li class={"rounded-md #{if @list_tab==:forms, do: "bg-secondary-600 text-white" ,
else: 'bg-white text-gray-600' } px-2 py-0.5 text-sm shadow-sm"}> else: "bg-white text-gray-600" } px-2 py-0.5 text-sm shadow-sm"}>
<%= link(gettext("Form submissions") <> " (#{@form_submit_count})", <%= link(gettext("Form submissions") <> " (#{@form_submit_count})",
to: "#", to: "#",
phx_click: "list-tab", phx_click: "list-tab",

View File

@@ -46,7 +46,7 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do
</div> </div>
<div <div
class={"#{if !@state.chat_visible, do: 'opacity-50'} flex space-x-2 items-center mt-3"} class={"#{if !@state.chat_visible, do: "opacity-50"} flex space-x-2 items-center mt-3"}
title={ title={
if !@state.chat_visible, if !@state.chat_visible,
do: gettext("Show messages to change this option"), do: gettext("Show messages to change this option"),
@@ -94,7 +94,7 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do
</div> </div>
<div <div
class={"#{if !@state.chat_enabled, do: 'opacity-50'} flex space-x-2 items-center mt-3"} class={"#{if !@state.chat_enabled, do: "opacity-50"} flex space-x-2 items-center mt-3"}
title={ title={
if !@state.chat_enabled, if !@state.chat_enabled,
do: gettext("Enable messages to change this option"), do: gettext("Enable messages to change this option"),

View File

@@ -60,7 +60,7 @@ defmodule ClaperWeb.EventLive.PollComponent do
<button class="bg-gray-500 px-3 py-2 rounded-full flex justify-between items-center relative text-white"> <button class="bg-gray-500 px-3 py-2 rounded-full flex justify-between items-center relative text-white">
<div <div
style={"width: #{if @show_results, do: opt.percentage, else: 0}%;"} style={"width: #{if @show_results, do: opt.percentage, else: 0}%;"}
class={"bg-gradient-to-r from-primary-500 to-secondary-500 h-full absolute left-0 transition-all rounded-l-full #{if opt.percentage == "100", do: 'rounded-r-full'}"} class={"bg-gradient-to-r from-primary-500 to-secondary-500 h-full absolute left-0 transition-all rounded-l-full #{if opt.percentage == "100", do: "rounded-r-full"}"}
> >
</div> </div>
<div class="flex space-x-3 z-10 text-left"> <div class="flex space-x-3 z-10 text-left">
@@ -93,7 +93,7 @@ defmodule ClaperWeb.EventLive.PollComponent do
> >
<div <div
style={"width: #{if @show_results, do: opt.percentage, else: 0}%;"} style={"width: #{if @show_results, do: opt.percentage, else: 0}%;"}
class={"bg-gradient-to-r from-primary-500 to-secondary-500 h-full absolute left-0 transition-all rounded-l-full #{if opt.percentage == "100", do: 'rounded-r-full'}"} class={"bg-gradient-to-r from-primary-500 to-secondary-500 h-full absolute left-0 transition-all rounded-l-full #{if opt.percentage == "100", do: "rounded-r-full"}"}
> >
</div> </div>
<div class="flex space-x-3 z-10 text-left"> <div class="flex space-x-3 z-10 text-left">

View File

@@ -245,7 +245,11 @@ defmodule ClaperWeb.EventLive.Presenter do
{:current_interaction, %Poll{} = interaction}, {:current_interaction, %Poll{} = interaction},
socket socket
) do ) do
{:noreply, socket |> assign(:current_poll, interaction)} {:noreply,
socket
|> assign(:current_poll, interaction)
|> assign(:current_embed, nil)
|> assign(:current_form, nil)}
end end
@impl true @impl true
@@ -253,7 +257,11 @@ defmodule ClaperWeb.EventLive.Presenter do
{:current_interaction, %Embed{} = interaction}, {:current_interaction, %Embed{} = interaction},
socket socket
) do ) do
{:noreply, socket |> assign(:current_embed, interaction)} {:noreply,
socket
|> assign(:current_embed, interaction)
|> assign(:current_poll, nil)
|> assign(:current_form, nil)}
end end
@impl true @impl true
@@ -261,7 +269,11 @@ defmodule ClaperWeb.EventLive.Presenter do
{:current_interaction, %Form{} = interaction}, {:current_interaction, %Form{} = interaction},
socket socket
) do ) do
{:noreply, socket |> assign(:current_form, interaction)} {:noreply,
socket
|> assign(:current_form, interaction)
|> assign(:current_poll, nil)
|> assign(:current_embed, nil)}
end end
@impl true @impl true

View File

@@ -19,7 +19,7 @@
<!-- JOIN SCREEN --> <!-- JOIN SCREEN -->
<div <div
id="joinScreen" id="joinScreen"
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"} 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">
@@ -46,28 +46,28 @@
<%= if @current_poll do %> <%= if @current_poll do %>
<div <div
id="poll" id="poll"
class={"#{if @state.poll_visible, do: 'opacity-100', else: 'opacity-0'} h-full w-full flex flex-col justify-center bg-black bg-opacity-90 absolute z-30 left-1/2 top-1/2 transform -translate-y-1/2 -translate-x-1/2 p-10 transition-opacity"} class={"#{if @state.poll_visible, do: "opacity-100", else: "opacity-0"} h-full w-full flex flex-col justify-center bg-black bg-opacity-90 absolute z-30 left-1/2 top-1/2 transform -translate-y-1/2 -translate-x-1/2 p-10 transition-opacity"}
> >
<div class="w-full md:w-1/2 mx-auto h-full"> <div class="w-full md:w-1/2 mx-auto h-full">
<p class={"#{if @iframe, do: 'text-xl mb-12', else: 'text-5xl mb-24'} text-white font-bold text-center"}> <p class={"#{if @iframe, do: "text-xl mb-12", else: "text-5xl mb-24"} text-white font-bold text-center"}>
<%= @current_poll.title %> <%= @current_poll.title %>
</p> </p>
<div class={"#{if @iframe, do: 'space-y-5', else: 'space-y-8'} flex flex-col"}> <div class={"#{if @iframe, do: "space-y-5", else: "space-y-8"} flex flex-col"}>
<%= if (length @current_poll.poll_opts) > 0 do %> <%= if (length @current_poll.poll_opts) > 0 do %>
<%= for opt <- @current_poll.poll_opts do %> <%= for opt <- @current_poll.poll_opts do %>
<div class={"#{if @iframe, do: 'py-1', else: 'py-4'} bg-gray-500 px-6 rounded-full flex justify-between items-center relative text-white"}> <div class={"#{if @iframe, do: "py-1", else: "py-4"} bg-gray-500 px-6 rounded-full flex justify-between items-center relative text-white"}>
<div <div
style={"width: #{opt.percentage}%;"} style={"width: #{opt.percentage}%;"}
class="bg-gradient-to-r from-primary-500 to-secondary-500 rounded-full h-full absolute left-0 transition-all" class="bg-gradient-to-r from-primary-500 to-secondary-500 rounded-full h-full absolute left-0 transition-all"
> >
</div> </div>
<div class="flex space-x-3 z-10 text-left"> <div class="flex space-x-3 z-10 text-left">
<span class={"#{if @iframe, do: 'text-base', else: 'text-2xl'} flex-1 font-bold"}> <span class={"#{if @iframe, do: "text-base", else: "text-2xl"} flex-1 font-bold"}>
<%= opt.content %> <%= opt.content %>
</span> </span>
</div> </div>
<span class={"#{if @iframe, do: 'text-base', else: 'text-2xl'} z-10 font-bold"}> <span class={"#{if @iframe, do: "text-base", else: "text-2xl"} z-10 font-bold"}>
<%= opt.percentage %>% (<%= opt.vote_count %>) <%= opt.percentage %>% (<%= opt.vote_count %>)
</span> </span>
</div> </div>
@@ -80,7 +80,7 @@
<!-- MESSAGES --> <!-- MESSAGES -->
<div <div
id="slider-wrapper" id="slider-wrapper"
class={"w-full min-h-screen grid #{if (@state.chat_visible && @event.presentation_file.length > 0) || (@current_embed && @event.presentation_file.length == 0), do: 'grid-cols-[1fr_10px_1fr]', else: 'grid-cols-[1fr]'} items-center justify-center relative bg-black"} class={"w-full min-h-screen grid #{if (@state.chat_visible && @event.presentation_file.length > 0) || (@current_embed && @event.presentation_file.length == 0), do: "grid-cols-[1fr_10px_1fr]", else: "grid-cols-[1fr]"} items-center justify-center relative bg-black"}
phx-hook="Split" phx-hook="Split"
data-type="column" data-type="column"
data-gutter=".gutter-1" data-gutter=".gutter-1"
@@ -97,11 +97,11 @@
<div class={if post.__meta__.state == :deleted, do: "hidden"} id={"#{post.id}-post"}> <div class={if post.__meta__.state == :deleted, do: "hidden"} id={"#{post.id}-post"}>
<div class="px-4 pb-2 pt-3 rounded-b-lg rounded-tr-lg bg-white shadow-md text-black break-word mt-4"> <div class="px-4 pb-2 pt-3 rounded-b-lg rounded-tr-lg bg-white shadow-md text-black break-word mt-4">
<%= if post.name do %> <%= if post.name do %>
<p class={"#{if @iframe, do: 'text-base', else: 'text-lg'} text-gray-400 font-semibold mb-2 mr-2"}> <p class={"#{if @iframe, do: "text-base", else: "text-lg"} text-gray-400 font-semibold mb-2 mr-2"}>
<%= post.name %> <%= post.name %>
</p> </p>
<% end %> <% end %>
<p class={"#{if @iframe, do: 'text-xl', else: 'text-3xl'}"}><%= post.body %></p> <p class={"#{if @iframe, do: "text-xl", else: "text-3xl"}"}><%= post.body %></p>
<%= if post.like_count > 0 || post.love_count > 0 || post.lol_count > 0 do %> <%= if post.like_count > 0 || post.love_count > 0 || post.lol_count > 0 do %>
<div class="flex h-6 space-x-2 text-lg text-gray-500 pb-3 items-center mt-5"> <div class="flex h-6 space-x-2 text-lg text-gray-500 pb-3 items-center mt-5">
@@ -109,7 +109,7 @@
<%= if post.like_count > 0 do %> <%= if post.like_count > 0 do %>
<img <img
src="/images/icons/thumb.svg" src="/images/icons/thumb.svg"
class={"#{if @iframe, do: 'h-4', else: 'h-7'}"} class={"#{if @iframe, do: "h-4", else: "h-7"}"}
/> />
<span class="ml-1"><%= post.like_count %></span> <span class="ml-1"><%= post.like_count %></span>
<% end %> <% end %>
@@ -118,7 +118,7 @@
<%= if post.love_count > 0 do %> <%= if post.love_count > 0 do %>
<img <img
src="/images/icons/heart.svg" src="/images/icons/heart.svg"
class={"#{if @iframe, do: 'h-4', else: 'h-7'}"} class={"#{if @iframe, do: "h-4", else: "h-7"}"}
/> />
<span class="ml-1"><%= post.love_count %></span> <span class="ml-1"><%= post.love_count %></span>
<% end %> <% end %>
@@ -127,7 +127,7 @@
<%= if post.lol_count > 0 do %> <%= if post.lol_count > 0 do %>
<img <img
src="/images/icons/laugh.svg" src="/images/icons/laugh.svg"
class={"#{if @iframe, do: 'h-4', else: 'h-7'}"} class={"#{if @iframe, do: "h-4", else: "h-7"}"}
/> />
<span class="ml-1"><%= post.lol_count %></span> <span class="ml-1"><%= post.lol_count %></span>
<% end %> <% end %>
@@ -144,11 +144,11 @@
<div class={if post.__meta__.state == :deleted, do: "hidden"} id={"#{post.id}-post"}> <div class={if post.__meta__.state == :deleted, do: "hidden"} id={"#{post.id}-post"}>
<div class="px-4 pb-2 pt-3 rounded-b-lg rounded-tr-lg bg-white shadow-md text-black break-word mt-4"> <div class="px-4 pb-2 pt-3 rounded-b-lg rounded-tr-lg bg-white shadow-md text-black break-word mt-4">
<%= if post.name do %> <%= if post.name do %>
<p class={"#{if @iframe, do: 'text-base', else: 'text-lg'} text-gray-400 font-semibold mb-2 mr-2"}> <p class={"#{if @iframe, do: "text-base", else: "text-lg"} text-gray-400 font-semibold mb-2 mr-2"}>
<%= post.name %> <%= post.name %>
</p> </p>
<% end %> <% end %>
<p class={"#{if @iframe, do: 'text-xl', else: 'text-3xl'}"}><%= post.body %></p> <p class={"#{if @iframe, do: "text-xl", else: "text-3xl"}"}><%= post.body %></p>
<%= if post.like_count > 0 || post.love_count > 0 || post.lol_count > 0 do %> <%= if post.like_count > 0 || post.love_count > 0 || post.lol_count > 0 do %>
<div class="flex h-6 space-x-2 text-lg text-gray-500 pb-3 items-center mt-5"> <div class="flex h-6 space-x-2 text-lg text-gray-500 pb-3 items-center mt-5">
@@ -156,7 +156,7 @@
<%= if post.like_count > 0 do %> <%= if post.like_count > 0 do %>
<img <img
src="/images/icons/thumb.svg" src="/images/icons/thumb.svg"
class={"#{if @iframe, do: 'h-4', else: 'h-7'}"} class={"#{if @iframe, do: "h-4", else: "h-7"}"}
/> />
<span class="ml-1"><%= post.like_count %></span> <span class="ml-1"><%= post.like_count %></span>
<% end %> <% end %>
@@ -165,7 +165,7 @@
<%= if post.love_count > 0 do %> <%= if post.love_count > 0 do %>
<img <img
src="/images/icons/heart.svg" src="/images/icons/heart.svg"
class={"#{if @iframe, do: 'h-4', else: 'h-7'}"} class={"#{if @iframe, do: "h-4", else: "h-7"}"}
/> />
<span class="ml-1"><%= post.love_count %></span> <span class="ml-1"><%= post.love_count %></span>
<% end %> <% end %>
@@ -174,7 +174,7 @@
<%= if post.lol_count > 0 do %> <%= if post.lol_count > 0 do %>
<img <img
src="/images/icons/laugh.svg" src="/images/icons/laugh.svg"
class={"#{if @iframe, do: 'h-4', else: 'h-7'}"} class={"#{if @iframe, do: "h-4", else: "h-7"}"}
/> />
<span class="ml-1"><%= post.lol_count %></span> <span class="ml-1"><%= post.lol_count %></span>
<% end %> <% end %>
@@ -188,7 +188,7 @@
<% end %> <% end %>
</div> </div>
<div <div
class={"gutter-1 row-span-full cursor-col-resize col-[2] text-center text-sm leading-3 text-white #{if (!@state.chat_visible && @event.presentation_file.length > 0) || (!@current_embed && @event.presentation_file.length == 0), do: 'hidden'}"} class={"gutter-1 row-span-full cursor-col-resize col-[2] text-center text-sm leading-3 text-white #{if (!@state.chat_visible && @event.presentation_file.length > 0) || (!@current_embed && @event.presentation_file.length == 0), do: "hidden"}"}
style="writing-mode: vertical-rl" style="writing-mode: vertical-rl"
> >
••• •••
@@ -198,10 +198,15 @@
<%= if @current_embed do %> <%= if @current_embed do %>
<!-- EMBED --> <!-- EMBED -->
<div id="embed" class="max-h-screen w-full h-screen"> <div id="embed" class="max-h-screen w-full h-screen">
<%= raw(@current_embed.content) %> <.live_component
id="embed-component"
module={ClaperWeb.EventLive.EmbedIframeComponent}
provider={@current_embed.provider}
content={@current_embed.content}
/>
</div> </div>
<% end %> <% end %>
<div class={"#{if @current_embed, do: 'hidden', else: ''} text-center"} id="slider"> <div class={"#{if @current_embed, do: "hidden", else: ""} text-center"} id="slider">
<%= for index <- 1..max(1, @event.presentation_file.length) do %> <%= for index <- 1..max(1, @event.presentation_file.length) do %>
<%= if @event.presentation_file.length > 0 do %> <%= if @event.presentation_file.length > 0 do %>
<%= if Application.get_env(:claper, :presentations) |> Keyword.get(:storage) == "local" do %> <%= if Application.get_env(:claper, :presentations) |> Keyword.get(:storage) == "local" do %>

View File

@@ -275,60 +275,42 @@ defmodule ClaperWeb.EventLive.Show do
end end
@impl true @impl true
def handle_info({:poll_updated, poll}, socket) do def handle_info({:poll_updated, %Claper.Polls.Poll{enabled: true} = poll}, socket) do
if poll.enabled do
{:noreply,
socket
|> update(:current_poll, fn _current_poll -> poll end)}
else
{:noreply,
socket
|> update(:current_poll, fn _current_poll -> nil end)}
end
end
@impl true
def handle_info({:poll_deleted, _poll}, socket) do
{:noreply, {:noreply,
socket socket
|> update(:current_poll, fn _current_poll -> nil end)} |> load_current_interaction(poll)}
end end
@impl true @impl true
def handle_info({:form_updated, form}, socket) do def handle_info({:poll_deleted, %Claper.Polls.Poll{enabled: true}}, socket) do
if form.enabled do
{:noreply,
socket
|> update(:current_form, fn _current_form -> form end)}
else
{:noreply,
socket
|> update(:current_form, fn _current_form -> nil end)}
end
end
@impl true
def handle_info({:form_deleted, _form}, socket) do
{:noreply, {:noreply,
socket socket
|> update(:current_form, fn _current_form -> nil end)} |> update(:current_interaction, fn _current_interaction -> nil end)}
end end
@impl true @impl true
def handle_info({:embed_updated, embed}, socket) do def handle_info({:form_updated, %Claper.Forms.Form{enabled: true} = form}, socket) do
if embed.enabled do {:noreply,
{:noreply, socket
socket |> load_current_interaction(form)}
|> update(:current_embed, fn _current_embed -> embed end)}
else
{:noreply,
socket
|> update(:current_embed, fn _current_embed -> nil end)}
end
end end
@impl true @impl true
def handle_info({:embed_deleted, _embed}, socket) do def handle_info({:form_deleted, %Claper.Forms.Form{enabled: true}}, socket) do
{:noreply,
socket
|> update(:current_interaction, fn _current_interaction -> nil end)}
end
@impl true
def handle_info({:embed_updated, %Claper.Embeds.Embed{enabled: true} = embed}, socket) do
{:noreply,
socket
|> load_current_interaction(embed)}
end
@impl true
def handle_info({:embed_deleted, %Claper.Embeds.Embed{enabled: true}}, socket) do
{:noreply, {:noreply,
socket socket
|> update(:current_embed, fn _current_embed -> nil end)} |> update(:current_embed, fn _current_embed -> nil end)}
@@ -520,7 +502,7 @@ defmodule ClaperWeb.EventLive.Show do
def handle_event( def handle_event(
"select-poll-opt", "select-poll-opt",
%{"opt" => opt}, %{"opt" => opt},
%{assigns: %{current_poll: %{multiple: true}}} = socket %{assigns: %{current_interaction: %{multiple: true}}} = socket
) do ) do
if Enum.member?(socket.assigns.selected_poll_opt, opt) do if Enum.member?(socket.assigns.selected_poll_opt, opt) do
{:noreply, {:noreply,
@@ -538,7 +520,7 @@ defmodule ClaperWeb.EventLive.Show do
def handle_event( def handle_event(
"select-poll-opt", "select-poll-opt",
%{"opt" => opt}, %{"opt" => opt},
%{assigns: %{current_poll: %{multiple: false}}} = socket %{assigns: %{current_interaction: %{multiple: false}}} = socket
) do ) do
{:noreply, socket |> assign(:selected_poll_opt, [opt])} {:noreply, socket |> assign(:selected_poll_opt, [opt])}
end end
@@ -551,13 +533,15 @@ defmodule ClaperWeb.EventLive.Show do
) )
when is_map(current_user) do when is_map(current_user) do
opts = Enum.map(opts, fn opt -> Integer.parse(opt) |> elem(0) end) opts = Enum.map(opts, fn opt -> Integer.parse(opt) |> elem(0) end)
poll_opts = Enum.map(opts, fn opt -> Enum.at(socket.assigns.current_poll.poll_opts, opt) end)
poll_opts =
Enum.map(opts, fn opt -> Enum.at(socket.assigns.current_interaction.poll_opts, opt) end)
case Claper.Polls.vote( case Claper.Polls.vote(
current_user.id, current_user.id,
socket.assigns.event.uuid, socket.assigns.event.uuid,
poll_opts, poll_opts,
socket.assigns.current_poll.id socket.assigns.current_interaction.id
) do ) do
{:ok, poll} -> {:ok, poll} ->
{:noreply, socket |> get_current_vote(poll.id)} {:noreply, socket |> get_current_vote(poll.id)}
@@ -571,13 +555,15 @@ defmodule ClaperWeb.EventLive.Show do
%{assigns: %{attendee_identifier: attendee_identifier, selected_poll_opt: opts}} = socket %{assigns: %{attendee_identifier: attendee_identifier, selected_poll_opt: opts}} = socket
) do ) do
opts = Enum.map(opts, fn opt -> Integer.parse(opt) |> elem(0) end) opts = Enum.map(opts, fn opt -> Integer.parse(opt) |> elem(0) end)
poll_opts = Enum.map(opts, fn opt -> Enum.at(socket.assigns.current_poll.poll_opts, opt) end)
poll_opts =
Enum.map(opts, fn opt -> Enum.at(socket.assigns.current_interaction.poll_opts, opt) end)
case Claper.Polls.vote( case Claper.Polls.vote(
attendee_identifier, attendee_identifier,
socket.assigns.event.uuid, socket.assigns.event.uuid,
poll_opts, poll_opts,
socket.assigns.current_poll.id socket.assigns.current_interaction.id
) do ) do
{:ok, poll} -> {:ok, poll} ->
{:noreply, socket |> get_current_vote(poll.id)} {:noreply, socket |> get_current_vote(poll.id)}
@@ -714,7 +700,8 @@ defmodule ClaperWeb.EventLive.Show do
end end
defp load_current_interaction(socket, %Polls.Poll{} = interaction) do defp load_current_interaction(socket, %Polls.Poll{} = interaction) do
socket |> assign(:current_interaction, interaction) |> get_current_vote(interaction.id) poll = Polls.set_percentages(interaction)
socket |> assign(:current_interaction, poll) |> get_current_vote(poll.id)
end end
defp load_current_interaction(socket, %Forms.Form{} = interaction) do defp load_current_interaction(socket, %Forms.Form{} = interaction) do

View File

@@ -71,7 +71,7 @@
event={@event} event={@event}
selected_poll_opt={@selected_poll_opt} selected_poll_opt={@selected_poll_opt}
current_poll_vote={@current_poll_vote} current_poll_vote={@current_poll_vote}
show_results={@state.show_poll_results_enabled} show_results={@current_interaction.show_results}
/> />
</div> </div>
</div> </div>

View File

@@ -47,10 +47,10 @@
phx-click="remove_field" phx-click="remove_field"
phx-value-field={i.index} phx-value-field={i.index}
phx-target={@myself} phx-target={@myself}
class="rounded-md bg-red-500 hover:bg-red-600 transition block mt-4" class="rounded-md bg-red-500 hover:bg-red-600 transition block mt-6"
> >
<svg <svg
class="text-white h-10 transform rotate-45" class="text-white h-8 transform rotate-45"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20" viewBox="0 0 20 20"
fill="currentColor" fill="currentColor"

View File

@@ -19,11 +19,6 @@
/> />
</div> </div>
<div class="flex gap-x-2 mb-5">
<%= checkbox(f, :multiple, class: "h-5 w-5") %>
<%= label(f, :multiple, gettext("Multiple answers"), class: "text-sm font-medium") %>
</div>
<%= inputs_for f, :poll_opts, fn i -> %> <%= inputs_for f, :poll_opts, fn i -> %>
<div class="flex space-x-3 mt-3 items-center justify-start"> <div class="flex space-x-3 mt-3 items-center justify-start">
<div class="flex-1"> <div class="flex-1">
@@ -84,6 +79,23 @@
</svg> </svg>
</button> </button>
<p class="text-gray-700 text-xl font-semibold"><%= gettext("Options") %></p>
<div class="flex gap-x-2 mb-5 mt-3">
<%= checkbox(f, :show_results, class: "h-4 w-4") %>
<%= label(
f,
:show_results,
gettext("Attendees can see the results on their device"),
class: "text-sm font-medium"
) %>
</div>
<div class="flex gap-x-2 mb-5">
<%= checkbox(f, :multiple, class: "h-4 w-4") %>
<%= label(f, :multiple, gettext("Multiple answers"), class: "text-sm font-medium") %>
</div>
<div class="flex space-x-3"> <div class="flex space-x-3">
<button <button
type="submit" type="submit"

View File

@@ -195,7 +195,7 @@
> >
<div <div
style={"width: #{percentage}%;"} style={"width: #{percentage}%;"}
class={"bg-gradient-to-r from-primary-500 to-secondary-500 h-full absolute left-0 transition-all rounded-l-full #{if percentage == "100", do: 'rounded-r-full'}"} class={"bg-gradient-to-r from-primary-500 to-secondary-500 h-full absolute left-0 transition-all rounded-l-full #{if percentage == "100", do: "rounded-r-full"}"}
> >
</div> </div>
<div class="flex space-x-3 z-10 text-left"> <div class="flex space-x-3 z-10 text-left">

View File

@@ -14,6 +14,12 @@ defmodule ClaperWeb.UserSettingsLive.Show do
email_changeset = Accounts.User.email_changeset(%Accounts.User{}, %{}) email_changeset = Accounts.User.email_changeset(%Accounts.User{}, %{})
password_changeset = Accounts.User.password_changeset(%Accounts.User{}, %{}) password_changeset = Accounts.User.password_changeset(%Accounts.User{}, %{})
oidc_accounts =
Accounts.get_all_oidc_users_by_email(socket.assigns.current_user.email) |> List.wrap()
lti_accounts =
Lti13.Users.get_all_users_by_email(socket.assigns.current_user.email) |> List.wrap()
preferences_changeset = preferences_changeset =
Accounts.User.preferences_changeset( Accounts.User.preferences_changeset(
socket.assigns.current_user, socket.assigns.current_user,
@@ -24,7 +30,14 @@ defmodule ClaperWeb.UserSettingsLive.Show do
socket socket
|> assign(:email_changeset, email_changeset) |> assign(:email_changeset, email_changeset)
|> assign(:password_changeset, password_changeset) |> assign(:password_changeset, password_changeset)
|> assign(:preferences_changeset, preferences_changeset)} |> assign(:preferences_changeset, preferences_changeset)
|> assign(:is_external_user, oidc_accounts != [] or lti_accounts != [])
|> assign(:oidc_accounts, oidc_accounts)
|> assign(:lti_accounts, lti_accounts)
|> assign(
:allow_unlink_external_provider,
Application.get_env(:claper, :allow_unlink_external_provider)
)}
end end
@impl true @impl true
@@ -50,11 +63,59 @@ defmodule ClaperWeb.UserSettingsLive.Show do
) )
end end
defp apply_action(socket, :set_password, _params) do
socket
|> assign(:page_title, gettext("Set a new password"))
|> assign(
:page_description,
gettext("Set a new password for your account before unlinking it.")
)
end
defp apply_action(socket, :show, _params) do defp apply_action(socket, :show, _params) do
socket socket
|> assign(:page_title, gettext("Settings")) |> assign(:page_title, gettext("Settings"))
end end
@impl true
def handle_event(
"unlink",
_params,
socket
)
when length(socket.assigns.oidc_accounts) + length(socket.assigns.lti_accounts) == 1 and
socket.assigns.current_user.is_randomized_password do
{:noreply, socket |> redirect(to: ~p"/users/settings/set/password")}
end
@impl true
def handle_event(
"unlink",
%{"issuer" => issuer} = _params,
socket
) do
Claper.Accounts.remove_oidc_user(socket.assigns.current_user, issuer)
{:noreply,
socket
|> put_flash(:info, gettext("The account has been unlinked."))
|> push_navigate(to: ~p"/users/settings")}
end
@impl true
def handle_event(
"unlink",
%{"registration_id" => registration_id} = _params,
socket
) do
Lti13.Users.remove_user(socket.assigns.current_user, registration_id)
{:noreply,
socket
|> put_flash(:info, gettext("The account has been unlinked."))
|> push_navigate(to: ~p"/users/settings")}
end
@impl true @impl true
def handle_event("save", %{"action" => "update_email"} = params, socket) do def handle_event("save", %{"action" => "update_email"} = params, socket) do
%{"user" => user_params} = params %{"user" => user_params} = params
@@ -128,6 +189,27 @@ defmodule ClaperWeb.UserSettingsLive.Show do
end end
end end
@impl true
def handle_event("save", %{"action" => "set_password"} = params, socket) do
%{"user" => user_params} = params
user = socket.assigns.current_user
case Accounts.set_user_password(user, user_params) do
{:ok, _applied_user} ->
{:noreply,
socket
|> put_flash(
:info,
gettext("Your password has been set, you can now unlink your account.")
)
|> redirect(to: ~p"/users/settings")}
{:error, changeset} ->
{:noreply, assign(socket, :password_changeset, changeset)}
end
end
@impl true @impl true
def handle_event("delete_account", _params, %{assigns: %{current_user: user}} = socket) do def handle_event("delete_account", _params, %{assigns: %{current_user: user}} = socket) do
Accounts.delete(user) Accounts.delete(user)

View File

@@ -87,6 +87,49 @@
</.live_component> </.live_component>
<% end %> <% end %>
<%= if @live_action in [:set_password] do %>
<.live_component
module={ClaperWeb.ModalComponent}
class="hidden"
id="modal-wrapper"
title={@page_title}
description={@page_description}
return_to={~p"/users/settings"}
>
<div>
<.form
:let={f}
for={@password_changeset}
phx-submit="save"
id="set_password"
class="mt-5 md:flex md:items-end gap-x-2"
>
<%= hidden_input(f, :action, name: "action", value: "set_password") %>
<ClaperWeb.Component.Input.password
form={f}
key={:password}
name={gettext("New password")}
required="true"
/>
<ClaperWeb.Component.Input.password
form={f}
key={:password_confirmation}
name={gettext("Confirm password")}
required="true"
/>
<%= submit(gettext("Save"),
phx_disable_with: "Saving...",
class:
"mt-2 w-full h-14 inline-flex transition-all items-center justify-center px-4 py-2 shadow-sm font-medium rounded-md text-white bg-black hover:bg-primary-500 md:mt-0 md:ml-3 md:w-auto md:text-sm"
) %>
</.form>
</div>
</.live_component>
<% end %>
<div class="shadow overflow-hidden sm:rounded-lg"> <div class="shadow overflow-hidden sm:rounded-lg">
<div class="py-5"> <div class="py-5">
<h3 class="text-lg leading-6 font-medium text-gray-900"> <h3 class="text-lg leading-6 font-medium text-gray-900">
@@ -104,7 +147,7 @@
</dt> </dt>
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"> <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2">
<span class="flex-grow"><%= @current_user.email %></span> <span class="flex-grow"><%= @current_user.email %></span>
<span class="ml-4 flex-shrink-0"> <span :if={!@is_external_user} class="ml-4 flex-shrink-0">
<.link <.link
patch={~p"/users/settings/edit/email"} patch={~p"/users/settings/edit/email"}
class="rounded-md font-medium text-purple-600 hover:text-purple-500" class="rounded-md font-medium text-purple-600 hover:text-purple-500"
@@ -114,10 +157,10 @@
</span> </span>
</dd> </dd>
<dt class="text-sm font-medium text-gray-500"> <dt :if={!@is_external_user} class="text-sm font-medium text-gray-500">
<%= gettext("Password") %> <%= gettext("Password") %>
</dt> </dt>
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"> <dd :if={!@is_external_user} class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2">
<span class="flex-grow">********</span> <span class="flex-grow">********</span>
<span class="ml-4 flex-shrink-0"> <span class="ml-4 flex-shrink-0">
<.link <.link
@@ -128,6 +171,67 @@
</.link> </.link>
</span> </span>
</dd> </dd>
<dt :if={@is_external_user} class="text-sm font-medium text-gray-500">
<%= gettext("Accounts linked") %>
</dt>
<dd class="text-sm text-gray-900 sm:col-span-2">
<%= for account <- @oidc_accounts do %>
<div class="text-sm text-gray-900 bg-white rounded-md py-2 px-4 shadow-base flex gap-x-2 items-center justify-start mt-2 sm:mt-0 mb-2">
<img src="/images/icons/openid.png" class="w-5" />
<span class="flex-grow flex items-center gap-x-2">
<span><%= account.provider %></span>
<div
:if={account.organization}
class="text-gray-500 text-xs flex items-center gap-x-1"
>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 16 16"
fill="currentColor"
class="h-3"
>
<path
fill-rule="evenodd"
d="M1.75 2a.75.75 0 0 0 0 1.5H2v9h-.25a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 .75-.75v-1.5a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 .75.75v1.5c0 .414.336.75.75.75h.5a.75.75 0 0 0 .75-.75V3.5h.25a.75.75 0 0 0 0-1.5h-7.5ZM3.5 5.5A.5.5 0 0 1 4 5h.5a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5v-.5Zm.5 2a.5.5 0 0 0-.5.5v.5A.5.5 0 0 0 4 9h.5a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H4Zm2-2a.5.5 0 0 1 .5-.5H7a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-.5.5h-.5A.5.5 0 0 1 6 6v-.5Zm.5 2A.5.5 0 0 0 6 8v.5a.5.5 0 0 0 .5.5H7a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-.5ZM11.5 6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.75a.75.75 0 0 0 0-1.5H14v-5h.25a.75.75 0 0 0 0-1.5H11.5Zm.5 1.5h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 0 1-.5.5H12a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5Zm0 2.5a.5.5 0 0 0-.5.5v.5a.5.5 0 0 0 .5.5h.5a.5.5 0 0 0 .5-.5v-.5a.5.5 0 0 0-.5-.5H12Z"
clip-rule="evenodd"
/>
</svg>
<span><%= account.organization %></span>
</div>
</span>
<span :if={@allow_unlink_external_provider}>
<button
phx-click="unlink"
phx-value-issuer={account.issuer}
data-confirm={gettext("Are you sure you want to unlink this account?")}
class="font-medium text-red-600 hover:text-red-500"
>
<%= gettext("Unlink") %>
</button>
</span>
</div>
<% end %>
<%= for account <- @lti_accounts do %>
<div class="text-sm text-gray-900 bg-white rounded-md py-2 px-4 shadow-base flex gap-x-2 items-center justify-start mb-2">
<img src="/images/icons/lms.png" class="w-8" />
<span class="flex-grow">
LMS <span class="text-gray-500 text-xs">#<%= account.registration_id %></span>
</span>
<span :if={@allow_unlink_external_provider} class="ml-4 flex-shrink-0">
<button
phx-click="unlink"
phx-value-registration_id={account.registration_id}
data-confirm={gettext("Are you sure you want to unlink this account?")}
class="font-medium text-red-600 hover:text-red-500"
>
<%= gettext("Unlink") %>
</button>
</span>
</div>
<% end %>
</dd>
</div> </div>
</dl> </dl>
</div> </div>
@@ -148,6 +252,7 @@
<ClaperWeb.Component.Input.select <ClaperWeb.Component.Input.select
form={f} form={f}
fieldClass="!w-auto" fieldClass="!w-auto"
labelClass="text-sm font-medium text-gray-500"
array={[ array={[
{"Deutsch", "de"}, {"Deutsch", "de"},
{"English", "en"}, {"English", "en"},
@@ -163,7 +268,7 @@
</dl> </dl>
</div> </div>
</div> </div>
<div> <div :if={!@is_external_user}>
<div class="py-5"> <div class="py-5">
<h3 class="text-lg leading-6 font-medium text-gray-900"> <h3 class="text-lg leading-6 font-medium text-gray-900">
<%= gettext("Danger zone") %> <%= gettext("Danger zone") %>

View File

@@ -61,8 +61,7 @@ defmodule ClaperWeb.Router do
live("/users/settings", UserSettingsLive.Show, :show) live("/users/settings", UserSettingsLive.Show, :show)
live("/users/settings/edit/password", UserSettingsLive.Show, :edit_password) live("/users/settings/edit/password", UserSettingsLive.Show, :edit_password)
live("/users/settings/edit/email", UserSettingsLive.Show, :edit_email) live("/users/settings/edit/email", UserSettingsLive.Show, :edit_email)
live("/users/settings/edit/avatar", UserSettingsLive.Show, :edit_avatar) live("/users/settings/set/password", UserSettingsLive.Show, :set_password)
live("/users/settings/edit/fullname", UserSettingsLive.Show, :edit_full_name)
end end
end end
@@ -124,6 +123,9 @@ defmodule ClaperWeb.Router do
post("/users/reset_password", UserResetPasswordController, :create) post("/users/reset_password", UserResetPasswordController, :create)
get("/users/reset_password/:token", UserResetPasswordController, :edit) get("/users/reset_password/:token", UserResetPasswordController, :edit)
post("/users/reset_password/:token", UserResetPasswordController, :update) post("/users/reset_password/:token", UserResetPasswordController, :update)
get("/users/oidc", UserOidcAuth, :new)
get("/users/oidc/callback", UserOidcAuth, :callback)
end end
scope "/", ClaperWeb do scope "/", ClaperWeb do

View File

@@ -27,30 +27,32 @@
</div> </div>
<div class="flex flex-row justify-center items-center space-x-3"></div> <div class="flex flex-row justify-center items-center space-x-3"></div>
<.form :let={f} for={@conn} action={~p"/users/log_in"} as={:user} class="mt-12 mb-4"> <.form :let={f} for={@conn} action={~p"/users/log_in"} as={:user} class="mt-12">
<%= if @error_message do %> <%= if @error_message do %>
<ClaperWeb.Component.Alert.error message={@error_message} stick={true} /> <ClaperWeb.Component.Alert.error message={@error_message} stick={true} />
<% end %> <% end %>
<input type="hidden" name="remember" value="true" /> <input type="hidden" name="remember" value="true" />
<ClaperWeb.Component.Input.email <div class="grid grid-cols-1 sm:grid-cols-2 gap-2">
form={f} <ClaperWeb.Component.Input.email
key={:email} form={f}
labelClass="text-white sr-only" key={:email}
placeholder={gettext("Your email address")} labelClass="text-white sr-only"
fieldClass="bg-gray-700 text-white" placeholder={gettext("Email address")}
name={gettext("Email")} fieldClass="bg-gray-700 text-white"
autofocus="true" name={gettext("Email")}
required="true" autofocus="true"
/> required="true"
<ClaperWeb.Component.Input.password />
form={f} <ClaperWeb.Component.Input.password
key={:password} form={f}
labelClass="text-white sr-only" key={:password}
placeholder={gettext("Your password")} labelClass="text-white sr-only"
fieldClass="bg-gray-700 text-white" placeholder={gettext("Password")}
name={gettext("Password")} fieldClass="bg-gray-700 text-white"
required="true" name={gettext("Password")}
/> required="true"
/>
</div>
<div class="pt-5"> <div class="pt-5">
<button <button
@@ -62,13 +64,24 @@
</div> </div>
</.form> </.form>
<div class="mt-4 text-center flex gap-x-2 justify-center"> <div :if={@oidc_enabled}>
<%= link(
to: ~p"/users/oidc",
class:
"w-full flex justify-center items-center gap-x-2 py-2 px-4 rounded-md shadow-sm text-sm font-medium text-white border-2 border-secondary-500 hover:bg-secondary-500 hover:bg-opacity-40"
) do %>
<img width="24" src={@oidc_logo_url} />
<span><%= gettext("Login with %{provider}", provider: @oidc_provider_name) %></span>
<% end %>
</div>
<div class="mt-4 text-center justify-center">
<%= link(gettext("Forgot your password?"), <%= link(gettext("Forgot your password?"),
to: ~p"/users/reset_password", to: ~p"/users/reset_password",
class: "text-white text-sm text-center" class: "text-white text-sm text-center"
) %> ) %>
<%= if Application.get_env(:claper, :enable_account_creation) do %> <%= if Application.get_env(:claper, :enable_account_creation) do %>
<%= link(gettext("Create account"), <span class="text-white">•</span> <%= link(gettext("Create account"),
to: ~p"/users/register", to: ~p"/users/register",
class: "text-white text-sm text-center" class: "text-white text-sm text-center"
) %> ) %>

View File

@@ -27,7 +27,7 @@ defmodule ClaperWeb.Component.Input do
autocomplete: @key, autocomplete: @key,
value: @value, value: @value,
class: 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" "#{@fieldClass} read-only:opacity-50 outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 focus:ring-2 block w-full text-lg border-gray-300 rounded-md py-2 px-3"
) %> ) %>
</div> </div>
<%= if Keyword.has_key?(@form.errors, @key) do %> <%= if Keyword.has_key?(@form.errors, @key) do %>
@@ -60,7 +60,7 @@ defmodule ClaperWeb.Component.Input do
autocomplete: @key, autocomplete: @key,
value: @value, value: @value,
class: 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" "#{@fieldClass} read-only:opacity-50 outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 focus:ring-2 block w-full text-lg border-gray-300 rounded-md py-2 px-3"
) %> ) %>
</div> </div>
<%= if Keyword.has_key?(@form.errors, @key) do %> <%= if Keyword.has_key?(@form.errors, @key) do %>
@@ -89,7 +89,7 @@ defmodule ClaperWeb.Component.Input do
placeholder: @placeholder, placeholder: @placeholder,
autocomplete: @key, autocomplete: @key,
class: class:
"#{@fieldClass} outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-4 px-3" "#{@fieldClass} outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-2 px-3"
) %> ) %>
</div> </div>
<%= if Keyword.has_key?(@form.errors, @key) do %> <%= if Keyword.has_key?(@form.errors, @key) do %>
@@ -121,11 +121,11 @@ defmodule ClaperWeb.Component.Input do
</span> </span>
<span <span
aria-hidden="true" aria-hidden="true"
class={"#{if @checked, do: 'bg-primary-500', else: 'bg-gray-200'} pointer-events-none absolute mx-auto h-4 w-9 rounded-full transition-colors duration-200 ease-in-out"} class={"#{if @checked, do: "bg-primary-500", else: "bg-gray-200"} pointer-events-none absolute mx-auto h-4 w-9 rounded-full transition-colors duration-200 ease-in-out"}
> >
</span> </span>
<span <span
class={"#{if @checked, do: 'translate-x-5', else: 'translate-x-0'} pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow ring-0 transition-transform duration-200 ease-in-out"} class={"#{if @checked, do: "translate-x-5", else: "translate-x-0"} pointer-events-none absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow ring-0 transition-transform duration-200 ease-in-out"}
aria-hidden="true" aria-hidden="true"
> >
</span> </span>
@@ -176,7 +176,7 @@ defmodule ClaperWeb.Component.Input do
<%= label(@form, @key, @name, class: "block text-sm font-medium text-gray-700") %> <%= label(@form, @key, @name, class: "block text-sm font-medium text-gray-700") %>
<div class="mt-1 relative"> <div class="mt-1 relative">
<img <img
class="icon absolute transition-all top-3 left-2 duration-100" class="icon absolute transition-all top-2.5 left-2 duration-100 h-6"
src="/images/icons/hashtag.svg" src="/images/icons/hashtag.svg"
alt="code" alt="code"
/> />
@@ -187,7 +187,7 @@ defmodule ClaperWeb.Component.Input do
autofocus: @autofocus, autofocus: @autofocus,
autocomplete: @key, autocomplete: @key,
class: class:
"read-only:opacity-50 outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-4 pr-3 pl-12 uppercase" "read-only:opacity-50 outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-2 pr-3 pl-9 uppercase"
) %> ) %>
</div> </div>
<%= if Keyword.has_key?(@form.errors, @key) do %> <%= if Keyword.has_key?(@form.errors, @key) do %>
@@ -216,7 +216,7 @@ defmodule ClaperWeb.Component.Input do
placeholder: @placeholder, placeholder: @placeholder,
autocomplete: false, autocomplete: false,
class: class:
"outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-4 px-3 read-only:opacity-50" "outline-none shadow-base focus:ring-primary-500 focus:border-primary-500 block w-full text-lg border-gray-300 rounded-md py-2 px-3 read-only:opacity-50"
) %> ) %>
</div> </div>
@@ -251,7 +251,7 @@ defmodule ClaperWeb.Component.Input do
autocomplete: @key, autocomplete: @key,
value: @value, value: @value,
class: class:
"#{@fieldClass} read-only:opacity-50 shadow-base block w-full text-lg focus:ring-primary-500 focus:ring-2 outline-none rounded-md py-4 px-3", "#{@fieldClass} read-only:opacity-50 shadow-base block w-full text-lg focus:ring-primary-500 focus:ring-2 outline-none rounded-md py-2 px-3",
"x-model": "input", "x-model": "input",
"x-ref": "input" "x-ref": "input"
) %> ) %>
@@ -282,7 +282,7 @@ defmodule ClaperWeb.Component.Input do
autofocus: @autofocus, autofocus: @autofocus,
placeholder: @placeholder, placeholder: @placeholder,
class: class:
"#{@fieldClass} shadow-base block w-full text-lg focus:ring-primary-500 focus:ring-2 outline-none rounded-md py-4 px-3", "#{@fieldClass} shadow-base block w-full text-lg focus:ring-primary-500 focus:ring-2 outline-none rounded-md py-2 px-3",
"x-model": "input", "x-model": "input",
"x-ref": "input" "x-ref": "input"
) %> ) %>

View File

@@ -16,7 +16,6 @@ defmodule Lti13.Tool.Services.AGS.LineItem do
def parse_resource_id(%__MODULE__{} = line_item) do def parse_resource_id(%__MODULE__{} = line_item) do
case line_item.resourceId do case line_item.resourceId do
resource_id -> resource_id resource_id -> resource_id
_ -> nil
end end
end end

View File

@@ -14,6 +14,17 @@ defmodule Lti13.Users do
Repo.get_by(User, sub: sub, registration_id: registration_id) Repo.get_by(User, sub: sub, registration_id: registration_id)
end end
def get_all_users_by_email(email) do
Repo.all(from u in User, where: u.email == ^email)
end
def remove_user(claper_user, registration_id) do
Repo.delete_all(
from u in User,
where: u.registration_id == ^registration_id and u.user_id == ^claper_user.id
)
end
def get_or_create_user( def get_or_create_user(
%{ %{
sub: sub, sub: sub,

View File

@@ -113,7 +113,8 @@ defmodule Claper.MixProject do
{:joken, "~> 2.6.1"}, {:joken, "~> 2.6.1"},
{:jose, "~> 1.11"}, {:jose, "~> 1.11"},
{:req, "~> 0.5.0"}, {:req, "~> 0.5.0"},
{:uuid, "~> 1.1"} {:uuid, "~> 1.1"},
{:oidcc, "~> 3.2"}
] ]
end end

View File

@@ -9,7 +9,7 @@
"cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"},
"cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
"cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"},
"credo": {:hex, :credo, "1.7.5", "643213503b1c766ec0496d828c90c424471ea54da77c8a168c725686377b9545", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f799e9b5cd1891577d8c773d245668aa74a2fcd15eb277f51a0131690ebfb3fd"}, "credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"},
"csv": {:hex, :csv, "3.0.5", "3c1455127e92de8845806db89554ad7d45e0212974be41dd9c38a5c881861713", [:mix], [], "hexpm", "cbbe5455c93df5f3f2943e995e28b7a8808361ba34cf3e44267d77a01eaf1609"}, "csv": {:hex, :csv, "3.0.5", "3c1455127e92de8845806db89554ad7d45e0212974be41dd9c38a5c881861713", [:mix], [], "hexpm", "cbbe5455c93df5f3f2943e995e28b7a8808361ba34cf3e44267d77a01eaf1609"},
"dart_sass": {:hex, :dart_sass, "0.7.0", "7979e056cb74fd6843e1c72db763cffc7726a9192a657735b7d24c0d9c26a1ce", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "4a8e70bca41aa00846398abdf5ad8a64d7907a0f7bf40145cd2e40d5971629f2"}, "dart_sass": {:hex, :dart_sass, "0.7.0", "7979e056cb74fd6843e1c72db763cffc7726a9192a657735b7d24c0d9c26a1ce", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "4a8e70bca41aa00846398abdf5ad8a64d7907a0f7bf40145cd2e40d5971629f2"},
"db_connection": {:hex, :db_connection, "2.6.0", "77d835c472b5b67fc4f29556dee74bf511bbafecdcaf98c27d27fa5918152086", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"}, "db_connection": {:hex, :db_connection, "2.6.0", "77d835c472b5b67fc4f29556dee74bf511bbafecdcaf98c27d27fa5918152086", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"},
@@ -35,7 +35,7 @@
"html_entities": {:hex, :html_entities, "0.5.2", "9e47e70598da7de2a9ff6af8758399251db6dbb7eebe2b013f2bbd2515895c3c", [:mix], [], "hexpm", "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"}, "html_entities": {:hex, :html_entities, "0.5.2", "9e47e70598da7de2a9ff6af8758399251db6dbb7eebe2b013f2bbd2515895c3c", [:mix], [], "hexpm", "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"},
"httpoison": {:hex, :httpoison, "2.2.1", "87b7ed6d95db0389f7df02779644171d7319d319178f6680438167d7b69b1f3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "51364e6d2f429d80e14fe4b5f8e39719cacd03eb3f9a9286e61e216feac2d2df"}, "httpoison": {:hex, :httpoison, "2.2.1", "87b7ed6d95db0389f7df02779644171d7319d319178f6680438167d7b69b1f3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "51364e6d2f429d80e14fe4b5f8e39719cacd03eb3f9a9286e61e216feac2d2df"},
"idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"},
"jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "jason": {:hex, :jason, "1.4.3", "d3f984eeb96fe53b85d20e0b049f03e57d075b5acda3ac8d465c969a2536c17b", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "9a90e868927f7c777689baa16d86f4d0e086d968db5c05d917ccff6d443e58a3"},
"joken": {:hex, :joken, "2.6.1", "2ca3d8d7f83bf7196296a3d9b2ecda421a404634bfc618159981a960020480a1", [:mix], [{:jose, "~> 1.11.9", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "ab26122c400b3d254ce7d86ed066d6afad27e70416df947cdcb01e13a7382e68"}, "joken": {:hex, :joken, "2.6.1", "2ca3d8d7f83bf7196296a3d9b2ecda421a404634bfc618159981a960020480a1", [:mix], [{:jose, "~> 1.11.9", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "ab26122c400b3d254ce7d86ed066d6afad27e70416df947cdcb01e13a7382e68"},
"jose": {:hex, :jose, "1.11.10", "a903f5227417bd2a08c8a00a0cbcc458118be84480955e8d251297a425723f83", [:mix, :rebar3], [], "hexpm", "0d6cd36ff8ba174db29148fc112b5842186b68a90ce9fc2b3ec3afe76593e614"}, "jose": {:hex, :jose, "1.11.10", "a903f5227417bd2a08c8a00a0cbcc458118be84480955e8d251297a425723f83", [:mix, :rebar3], [], "hexpm", "0d6cd36ff8ba174db29148fc112b5842186b68a90ce9fc2b3ec3afe76593e614"},
"libcluster": {:hex, :libcluster, "3.3.2", "84c6ebfdc72a03805955abfb5ff573f71921a3e299279cc3445445d5af619ad1", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8b691ce8185670fc8f3fc0b7ed59eff66c6889df890d13411f8f1a0e6871d8a5"}, "libcluster": {:hex, :libcluster, "3.3.2", "84c6ebfdc72a03805955abfb5ff573f71921a3e299279cc3445445d5af619ad1", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8b691ce8185670fc8f3fc0b7ed59eff66c6889df890d13411f8f1a0e6871d8a5"},
@@ -52,6 +52,7 @@
"nimble_options": {:hex, :nimble_options, "1.1.0", "3b31a57ede9cb1502071fade751ab0c7b8dbe75a9a4c2b5bbb0943a690b63172", [:mix], [], "hexpm", "8bbbb3941af3ca9acc7835f5655ea062111c9c27bcac53e004460dfd19008a99"}, "nimble_options": {:hex, :nimble_options, "1.1.0", "3b31a57ede9cb1502071fade751ab0c7b8dbe75a9a4c2b5bbb0943a690b63172", [:mix], [], "hexpm", "8bbbb3941af3ca9acc7835f5655ea062111c9c27bcac53e004460dfd19008a99"},
"nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"},
"nimble_pool": {:hex, :nimble_pool, "1.1.0", "bf9c29fbdcba3564a8b800d1eeb5a3c58f36e1e11d7b7fb2e084a643f645f06b", [:mix], [], "hexpm", "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a"}, "nimble_pool": {:hex, :nimble_pool, "1.1.0", "bf9c29fbdcba3564a8b800d1eeb5a3c58f36e1e11d7b7fb2e084a643f645f06b", [:mix], [], "hexpm", "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a"},
"oidcc": {:hex, :oidcc, "3.2.0", "f80a4826a946ce07dc8cbd8212392b4ff436ae3c4b4cd6680fa0d84d0ff2fec1", [:mix, :rebar3], [{:jose, "~> 1.11", [hex: :jose, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.2", [hex: :telemetry, repo: "hexpm", optional: false]}, {:telemetry_registry, "~> 0.3.1", [hex: :telemetry_registry, repo: "hexpm", optional: false]}], "hexpm", "38fd9092ab5d5d10c71b8011b019316411afe466bef07ba57f57ec3f919278c3"},
"parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"}, "parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"},
"phoenix": {:hex, :phoenix, "1.7.11", "1d88fc6b05ab0c735b250932c4e6e33bfa1c186f76dcf623d8dd52f07d6379c7", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"}, "phoenix": {:hex, :phoenix, "1.7.11", "1d88fc6b05ab0c735b250932c4e6e33bfa1c186f76dcf623d8dd52f07d6379c7", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"},
"phoenix_ecto": {:hex, :phoenix_ecto, "4.5.1", "6fdbc334ea53620e71655664df6f33f670747b3a7a6c4041cdda3e2c32df6257", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "ebe43aa580db129e54408e719fb9659b7f9e0d52b965c5be26cdca416ecead28"}, "phoenix_ecto": {:hex, :phoenix_ecto, "4.5.1", "6fdbc334ea53620e71655664df6f33f670747b3a7a6c4041cdda3e2c32df6257", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "ebe43aa580db129e54408e719fb9659b7f9e0d52b965c5be26cdca416ecead28"},
@@ -78,6 +79,7 @@
"telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},
"telemetry_metrics": {:hex, :telemetry_metrics, "0.6.2", "2caabe9344ec17eafe5403304771c3539f3b6e2f7fb6a6f602558c825d0d0bfb", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9b43db0dc33863930b9ef9d27137e78974756f5f198cae18409970ed6fa5b561"}, "telemetry_metrics": {:hex, :telemetry_metrics, "0.6.2", "2caabe9344ec17eafe5403304771c3539f3b6e2f7fb6a6f602558c825d0d0bfb", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9b43db0dc33863930b9ef9d27137e78974756f5f198cae18409970ed6fa5b561"},
"telemetry_poller": {:hex, :telemetry_poller, "1.0.0", "db91bb424e07f2bb6e73926fcafbfcbcb295f0193e0a00e825e589a0a47e8453", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"}, "telemetry_poller": {:hex, :telemetry_poller, "1.0.0", "db91bb424e07f2bb6e73926fcafbfcbcb295f0193e0a00e825e589a0a47e8453", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"},
"telemetry_registry": {:hex, :telemetry_registry, "0.3.2", "701576890320be6428189bff963e865e8f23e0ff3615eade8f78662be0fc003c", [:mix, :rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e7ed191eb1d115a3034af8e1e35e4e63d5348851d556646d46ca3d1b4e16bab9"},
"timex": {:hex, :timex, "3.7.11", "bb95cb4eb1d06e27346325de506bcc6c30f9c6dea40d1ebe390b262fad1862d1", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.20", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.1", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa"}, "timex": {:hex, :timex, "3.7.11", "bb95cb4eb1d06e27346325de506bcc6c30f9c6dea40d1ebe390b262fad1862d1", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.20", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.1", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa"},
"tzdata": {:hex, :tzdata, "1.1.1", "20c8043476dfda8504952d00adac41c6eda23912278add38edc140ae0c5bcc46", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "a69cec8352eafcd2e198dea28a34113b60fdc6cb57eb5ad65c10292a6ba89787"}, "tzdata": {:hex, :tzdata, "1.1.1", "20c8043476dfda8504952d00adac41c6eda23912278add38edc140ae0c5bcc46", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "a69cec8352eafcd2e198dea28a34113b60fdc6cb57eb5ad65c10292a6ba89787"},
"unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"},

View File

@@ -8,18 +8,18 @@ msgstr ""
"Language: de\n" "Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/claper_web/live/event_live/manage.html.heex:1293 #: lib/claper_web/live/event_live/manage.html.heex:1405
#: lib/claper_web/live/user_settings_live/show.ex:55 #: lib/claper_web/live/user_settings_live/show.ex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
#: lib/claper_web/live/event_live/manage.ex:746 #: lib/claper_web/live/event_live/manage.ex:727
#: 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:29 #: lib/claper_web/templates/user_registration/new.html.heex:29
#: lib/claper_web/templates/user_reset_password/new.html.heex:28 #: lib/claper_web/templates/user_reset_password/new.html.heex:28
#: lib/claper_web/templates/user_session/new.html.heex:41 #: lib/claper_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "E-Mail" msgstr "E-Mail"
@@ -36,8 +36,8 @@ msgstr "Werden Sie Teil der Claper Erfahrung"
msgid "Oops, check that all fields are filled in correctly." msgid "Oops, check that all fields are filled in correctly."
msgstr "Überprüfen Sie, ob alle Felder korrekt ausgefüllt sind." msgstr "Überprüfen Sie, ob alle Felder korrekt ausgefüllt sind."
#: lib/claper_web/live/user_settings_live/show.html.heex:112 #: lib/claper_web/live/user_settings_live/show.html.heex:155
#: lib/claper_web/live/user_settings_live/show.html.heex:127 #: lib/claper_web/live/user_settings_live/show.html.heex:170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change" msgid "Change"
msgstr "Ändern" msgstr "Ändern"
@@ -47,7 +47,8 @@ msgstr "Ändern"
msgid "Code" msgid "Code"
msgstr "Code" msgstr "Code"
#: lib/claper_web/live/user_settings_live/show.html.heex:103 #: lib/claper_web/live/user_settings_live/show.html.heex:146
#: lib/claper_web/templates/user_session/new.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email address" msgid "Email address"
msgstr "E-Mail Adresse" msgstr "E-Mail Adresse"
@@ -57,7 +58,7 @@ msgstr "E-Mail Adresse"
msgid "Logout" msgid "Logout"
msgstr "Ausloggen" msgstr "Ausloggen"
#: lib/claper_web/live/user_settings_live/show.html.heex:93 #: lib/claper_web/live/user_settings_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Personal informations" msgid "Personal informations"
msgstr "Persönliche Informationen" msgstr "Persönliche Informationen"
@@ -99,7 +100,7 @@ msgstr "Seien Sie der Erste, der reagiert!"
msgid "Join" msgid "Join"
msgstr "Teilnehmen" msgstr "Teilnehmen"
#: lib/claper_web/live/event_live/index.ex:156 #: lib/claper_web/live/event_live/index.ex:180
#: lib/claper_web/live/event_live/join.html.heex:31 #: lib/claper_web/live/event_live/join.html.heex:31
#: lib/claper_web/live/event_live/join.html.heex:54 #: lib/claper_web/live/event_live/join.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -171,60 +172,61 @@ msgstr "Zurück zur Startseite"
msgid "Created successfully" msgid "Created successfully"
msgstr "Erfolgreich erstellt" msgstr "Erfolgreich erstellt"
#: lib/claper_web/live/event_live/event_card_component.ex:186 #: lib/claper_web/live/event_live/event_card_component.ex:224
#: lib/claper_web/live/event_live/event_card_component.ex:207 #: lib/claper_web/live/event_live/event_card_component.ex:304
#: lib/claper_web/live/event_live/form_component.ex:97 #: lib/claper_web/live/event_live/form_component.ex:97
#: lib/claper_web/live/event_live/index.ex:139 #: lib/claper_web/live/event_live/index.ex:161
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "Ändern" msgstr "Ändern"
#: lib/claper_web/live/embed_live/form_component.html.heex:51 #: lib/claper_web/live/embed_live/form_component.html.heex:69
#: 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/event_form_component.html.heex:32 #: lib/claper_web/live/event_live/event_form_component.html.heex:32
#: lib/claper_web/live/event_live/index.ex:146 #: lib/claper_web/live/event_live/index.ex:170
#: lib/claper_web/live/event_live/index.html.heex:64 #: lib/claper_web/live/event_live/index.html.heex:64
#: lib/claper_web/live/form_live/form_component.html.heex:98 #: lib/claper_web/live/form_live/form_component.html.heex:98
#: lib/claper_web/live/poll_live/form_component.html.heex:94 #: lib/claper_web/live/poll_live/form_component.html.heex:106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create" msgid "Create"
msgstr "Erstellen" msgstr "Erstellen"
#: lib/claper_web/live/embed_live/form_component.html.heex:56 #: lib/claper_web/live/embed_live/form_component.html.heex:74
#: lib/claper_web/live/event_live/event_card_component.ex:249 #: lib/claper_web/live/event_live/event_card_component.ex:400
#: lib/claper_web/live/event_live/event_form_component.html.heex:37 #: lib/claper_web/live/event_live/event_form_component.html.heex:37
#: lib/claper_web/live/event_live/manage.html.heex:1241 #: lib/claper_web/live/event_live/manage.html.heex:1353
#: lib/claper_web/live/event_live/manageable_post_component.ex:92 #: lib/claper_web/live/event_live/manageable_post_component.ex:92
#: lib/claper_web/live/event_live/post_component.ex:70 #: lib/claper_web/live/event_live/post_component.ex:70
#: lib/claper_web/live/event_live/post_component.ex:142 #: lib/claper_web/live/event_live/post_component.ex:142
#: lib/claper_web/live/form_live/form_component.html.heex:103 #: lib/claper_web/live/form_live/form_component.html.heex:103
#: lib/claper_web/live/poll_live/form_component.html.heex:99 #: lib/claper_web/live/poll_live/form_component.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: lib/claper_web/live/embed_live/form_component.html.heex:52 #: lib/claper_web/live/embed_live/form_component.html.heex:70
#: 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/event_live/event_form_component.html.heex:31 #: lib/claper_web/live/event_live/event_form_component.html.heex:31
#: lib/claper_web/live/form_live/form_component.html.heex:99 #: lib/claper_web/live/form_live/form_component.html.heex:99
#: lib/claper_web/live/poll_live/form_component.html.heex:95 #: lib/claper_web/live/poll_live/form_component.html.heex:107
#: lib/claper_web/live/user_settings_live/show.html.heex:38 #: lib/claper_web/live/user_settings_live/show.html.heex:38
#: lib/claper_web/live/user_settings_live/show.html.heex:80 #: lib/claper_web/live/user_settings_live/show.html.heex:80
#: lib/claper_web/live/user_settings_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
#: lib/claper_web/live/user_settings_live/show.ex:76 #: lib/claper_web/live/user_settings_live/show.ex:137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "Ein Link zur Bestätigung Ihrer E-Mail-Änderung wurde an die neue Adresse gesendet." msgstr "Ein Link zur Bestätigung Ihrer E-Mail-Änderung wurde an die neue Adresse gesendet."
#: lib/claper_web/live/user_settings_live/show.ex:40 #: lib/claper_web/live/user_settings_live/show.ex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the email address you want associated with your account." msgid "Change the email address you want associated with your account."
msgstr "Ändern Sie die E-Mail-Adresse, die Sie mit Ihrem Konto verknüpfen möchten." msgstr "Ändern Sie die E-Mail-Adresse, die Sie mit Ihrem Konto verknüpfen möchten."
#: lib/claper_web/live/user_settings_live/show.ex:37 #: lib/claper_web/live/user_settings_live/show.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your email" msgid "Update your email"
msgstr "Ihre E-Mail ändern" msgstr "Ihre E-Mail ändern"
@@ -306,12 +308,12 @@ msgstr "Datei hochladen"
msgid "or drag and drop" msgid "or drag and drop"
msgstr "oder drag and drop" msgstr "oder drag and drop"
#: lib/claper_web/live/event_live/event_form_component.ex:308 #: lib/claper_web/live/event_live/event_form_component.ex:313
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have selected an incorrect file type" msgid "You have selected an incorrect file type"
msgstr "Sie haben einen falschen Dateityp ausgewählt" msgstr "Sie haben einen falschen Dateityp ausgewählt"
#: lib/claper_web/live/event_live/event_form_component.ex:307 #: lib/claper_web/live/event_live/event_form_component.ex:312
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your file is too large" msgid "Your file is too large"
msgstr "Ihre Datei ist zu groß" msgstr "Ihre Datei ist zu groß"
@@ -326,12 +328,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:280 #: lib/claper_web/live/event_live/manage.html.heex:274
#, 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:279 #: lib/claper_web/live/event_live/manage.html.heex:273
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New poll" msgid "New poll"
msgstr "Neue Umfrage" msgstr "Neue Umfrage"
@@ -341,7 +343,7 @@ msgstr "Neue Umfrage"
msgid "Title of your poll" msgid "Title of your poll"
msgstr "Titel Ihrer Umfrage" msgstr "Titel Ihrer Umfrage"
#: lib/claper_web/live/event_live/event_form_component.ex:309 #: lib/claper_web/live/event_live/event_form_component.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload failed" msgid "Upload failed"
msgstr "Hochladen fehlgeschlagen" msgstr "Hochladen fehlgeschlagen"
@@ -352,12 +354,12 @@ 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:165 #: lib/claper_web/live/event_live/manage.html.heex:165
#: lib/claper_web/live/event_live/manage.html.heex:730 #: lib/claper_web/live/event_live/manage.html.heex:779
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Poll" msgid "Poll"
msgstr "Umfrage" msgstr "Umfrage"
#: lib/claper_web/live/poll_live/form_component.html.heex:35 #: lib/claper_web/live/poll_live/form_component.html.heex:30
#, elixir-format, ex-autogen, elixir-autogen #, elixir-format, ex-autogen, elixir-autogen
msgid "Choice %{count}" msgid "Choice %{count}"
msgid_plural "Choice %{count}" msgid_plural "Choice %{count}"
@@ -391,22 +393,22 @@ msgstr "Benutzer Email-Adresse"
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:1058 #: lib/claper_web/live/event_live/manage.html.heex:1170
#, 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/event_card_component.ex:218 #: lib/claper_web/live/event_live/event_card_component.ex:318
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Processing your file..." msgid "Processing your file..."
msgstr "Verarbeitung der Datei..." msgstr "Verarbeitung der Datei..."
#: lib/claper_web/live/poll_live/form_component.html.heex:106 #: lib/claper_web/live/poll_live/form_component.html.heex:118
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all responses associated and the poll itself, are you sure?" msgid "This will delete all responses associated and the poll itself, are you sure?"
msgstr "Dadurch werden alle zugehörigen Antworten und die Umfrage selbst gelöscht, sind Sie sicher?" msgstr "Dadurch werden alle zugehörigen Antworten und die Umfrage selbst gelöscht, sind Sie sicher?"
#: lib/claper_web/live/event_live/manage.html.heex:450 #: lib/claper_web/live/event_live/manage.html.heex:444
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
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"
@@ -416,7 +418,7 @@ msgstr "Drücken Sie <strong>F</strong> im Präsentationsfenster, um den Vollbil
msgid "Ask, comment..." msgid "Ask, comment..."
msgstr "Fragen, kommentieren..." msgstr "Fragen, kommentieren..."
#: lib/claper_web/live/event_live/manage.html.heex:1004 #: lib/claper_web/live/event_live/manage.html.heex:1116
#: lib/claper_web/live/stat_live/index.html.heex:71 #: lib/claper_web/live/stat_live/index.html.heex:71
#: lib/claper_web/live/stat_live/index.html.heex:271 #: lib/claper_web/live/stat_live/index.html.heex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -455,7 +457,7 @@ 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:703 #: lib/claper_web/live/event_live/manage.html.heex:701
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add interaction" msgid "Add interaction"
msgstr "Interaktion hinzufügen" msgstr "Interaktion hinzufügen"
@@ -573,7 +575,7 @@ msgstr "Interaktionsgeschichte"
msgid "No messages has been sent" msgid "No messages has been sent"
msgstr "Es wurden keine Nachrichten gesendet" msgstr "Es wurden keine Nachrichten gesendet"
#: lib/claper_web/live/event_live/event_card_component.ex:255 #: lib/claper_web/live/event_live/event_card_component.ex:382
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all data related to your event, this cannot be undone. Confirm ?" msgid "This will delete all data related to your event, this cannot be undone. Confirm ?"
msgstr "Dadurch werden alle Daten im Zusammenhang mit Ihrer Veranstaltung gelöscht. Dies kann nicht rückgängig gemacht werden. Bestätigen?" msgstr "Dadurch werden alle Daten im Zusammenhang mit Ihrer Veranstaltung gelöscht. Dies kann nicht rückgängig gemacht werden. Bestätigen?"
@@ -595,7 +597,7 @@ msgstr "Max. Zuschauer"
msgid "Engagement rate" msgid "Engagement rate"
msgstr "Engagementquote" msgstr "Engagementquote"
#: lib/claper_web/live/event_live/event_card_component.ex:197 #: lib/claper_web/live/event_live/event_card_component.ex:256
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Error when processing the file" msgid "Error when processing the file"
msgstr "Fehler beim Verarbeiten der Datei" msgstr "Fehler beim Verarbeiten der Datei"
@@ -608,7 +610,7 @@ msgstr "Über"
#: lib/claper_web/live/event_live/join.html.heex:38 #: lib/claper_web/live/event_live/join.html.heex:38
#: lib/claper_web/live/event_live/join.html.heex:61 #: lib/claper_web/live/event_live/join.html.heex:61
#: lib/claper_web/templates/user_session/new.html.heex:60 #: lib/claper_web/templates/user_session/new.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Login" msgid "Login"
msgstr "Anmeldung" msgstr "Anmeldung"
@@ -624,30 +626,21 @@ msgid "Or use the code:"
msgstr "Oder verwenden Sie den Code:" msgstr "Oder verwenden Sie den Code:"
#: lib/claper_web/templates/user_registration/new.html.heex:46 #: lib/claper_web/templates/user_registration/new.html.heex:46
#: lib/claper_web/templates/user_session/new.html.heex:71 #: lib/claper_web/templates/user_session/new.html.heex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create account" msgid "Create account"
msgstr "Benutzerkonto erstellen" msgstr "Benutzerkonto erstellen"
#: lib/claper_web/live/user_settings_live/show.html.heex:118 #: lib/claper_web/live/user_settings_live/show.html.heex:161
#: lib/claper_web/templates/user_registration/new.html.heex:37 #: lib/claper_web/templates/user_registration/new.html.heex:37
#: lib/claper_web/templates/user_reset_password/edit.html.heex:34 #: lib/claper_web/templates/user_reset_password/edit.html.heex:34
#: lib/claper_web/templates/user_session/new.html.heex:51 #: lib/claper_web/templates/user_session/new.html.heex:50
#: lib/claper_web/templates/user_session/new.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
#: lib/claper_web/templates/user_session/new.html.heex:39 #: lib/claper_web/live/user_settings_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Your email address"
msgstr "Ihre E-Mail-Adresse"
#: lib/claper_web/templates/user_session/new.html.heex:49
#, elixir-autogen, elixir-format
msgid "Your password"
msgstr "Ihr Passwort"
#: lib/claper_web/live/user_settings_live/show.ex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the password used to access your account." msgid "Change the password used to access your account."
msgstr "Ändern Sie das Passwort, mit dem Sie auf Ihr Konto zugreifen." msgstr "Ändern Sie das Passwort, mit dem Sie auf Ihr Konto zugreifen."
@@ -658,16 +651,17 @@ msgid "Current password"
msgstr "Aktuelles Passwort" msgstr "Aktuelles Passwort"
#: lib/claper_web/live/user_settings_live/show.html.heex:76 #: lib/claper_web/live/user_settings_live/show.html.heex:76
#: lib/claper_web/live/user_settings_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New password" msgid "New password"
msgstr "Neues Kennwort" msgstr "Neues Kennwort"
#: lib/claper_web/live/user_settings_live/show.ex:46 #: lib/claper_web/live/user_settings_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your password" msgid "Update your password"
msgstr "Aktualisieren Sie Ihr Passwort" msgstr "Aktualisieren Sie Ihr Passwort"
#: lib/claper_web/live/user_settings_live/show.ex:98 #: lib/claper_web/live/user_settings_live/show.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has been updated." msgid "Your password has been updated."
msgstr "Dein Passwort wurde aktualisiert." msgstr "Dein Passwort wurde aktualisiert."
@@ -679,7 +673,7 @@ msgid_plural "Field %{count}"
msgstr[0] "Feld %{count}" msgstr[0] "Feld %{count}"
msgstr[1] "Feld %{count}" msgstr[1] "Feld %{count}"
#: lib/claper_web/live/event_live/manage.html.heex:207 #: lib/claper_web/live/event_live/manage.html.heex:201
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add form to collect data from your public." msgid "Add form to collect data from your public."
msgstr "Fügen Sie ein Formular hinzu, um Daten von Ihrem Publikum zu sammeln." msgstr "Fügen Sie ein Formular hinzu, um Daten von Ihrem Publikum zu sammeln."
@@ -689,35 +683,35 @@ 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:301 #: lib/claper_web/live/event_live/manage.html.heex:295
#, 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:204 #: lib/claper_web/live/event_live/manage.html.heex:198
#: lib/claper_web/live/event_live/manage.html.heex:774 #: lib/claper_web/live/event_live/manage.html.heex:823
#: lib/claper_web/live/event_live/manage.html.heex:1253 #: lib/claper_web/live/event_live/manage.html.heex:1365
#: lib/claper_web/live/stat_live/index.html.heex:217 #: lib/claper_web/live/stat_live/index.html.heex:217
#, 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:1028 #: lib/claper_web/live/event_live/manage.html.heex:1140
#, 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:1226 #: lib/claper_web/live/event_live/manage.html.heex:1338
#, 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:745 #: lib/claper_web/live/event_live/manage.ex:726
#, 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:300 #: lib/claper_web/live/event_live/manage.html.heex:294
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New form" msgid "New form"
msgstr "Neues Formular" msgstr "Neues Formular"
@@ -742,7 +736,7 @@ msgstr "Abschicken"
msgid "Text" msgid "Text"
msgstr "Text" msgstr "Text"
#: lib/claper_web/live/event_live/manage.html.heex:1246 #: lib/claper_web/live/event_live/manage.html.heex:1358
#, 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?"
@@ -777,12 +771,12 @@ msgstr "Wählen Sie eine Option aus"
msgid "Select one or multiple options" msgid "Select one or multiple options"
msgstr "Wählen Sie eine oder mehrere Optionen aus" msgstr "Wählen Sie eine oder mehrere Optionen aus"
#: lib/claper_web/live/poll_live/form_component.html.heex:24 #: lib/claper_web/live/poll_live/form_component.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Multiple answers" msgid "Multiple answers"
msgstr "Mehrere Antworten" msgstr "Mehrere Antworten"
#: lib/claper_web/live/event_live/manage.html.heex:269 #: lib/claper_web/live/event_live/manage.html.heex:263
#, 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"
@@ -797,7 +791,7 @@ msgstr "Der Import der Interaktionen ist fehlgeschlagen"
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:341 #: lib/claper_web/live/event_live/manage.html.heex:335
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select presentation" msgid "Select presentation"
msgstr "Präsentation auswählen" msgstr "Präsentation auswählen"
@@ -871,7 +865,7 @@ 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:238 #: lib/claper_web/live/event_live/manage.html.heex:232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add a Youtube video or any web content." msgid "Add a Youtube video or any web content."
msgstr "Fügen Sie ein YouTube-Video oder einen beliebigen Webinhalt hinzu." msgstr "Fügen Sie ein YouTube-Video oder einen beliebigen Webinhalt hinzu."
@@ -881,7 +875,7 @@ msgstr "Fügen Sie ein YouTube-Video oder einen beliebigen Webinhalt hinzu."
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Neues Passwort bestätigen" msgstr "Neues Passwort bestätigen"
#: lib/claper_web/templates/user_session/new.html.heex:66 #: lib/claper_web/templates/user_session/new.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "Passwort vergessen?" msgstr "Passwort vergessen?"
@@ -917,22 +911,17 @@ msgstr "Aktualisieren Sie Ihr Passwort"
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"
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Attendee can view the web content on their device"
msgstr "Der Teilnehmer kann die Webinhalte auf seinem Gerät anzeigen"
#: lib/claper_web/live/event_live/embed_component.ex:59 #: lib/claper_web/live/event_live/embed_component.ex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Current web content" msgid "Current web content"
msgstr "Aktuelle Einbettung" msgstr "Aktuelle Einbettung"
#: lib/claper_web/live/event_live/manage.html.heex:322 #: lib/claper_web/live/event_live/manage.html.heex:316
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit web content" msgid "Edit web content"
msgstr "Webinhalt bearbeiten" msgstr "Webinhalt bearbeiten"
#: lib/claper_web/live/event_live/manage.html.heex:321 #: lib/claper_web/live/event_live/manage.html.heex:315
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New web content" msgid "New web content"
msgstr "Neuer Webinhalt" msgstr "Neuer Webinhalt"
@@ -942,12 +931,7 @@ msgstr "Neuer Webinhalt"
msgid "See current web content" msgid "See current web content"
msgstr "Aktuellen Webinhalt anzeigen" msgstr "Aktuellen Webinhalt anzeigen"
#: lib/claper_web/live/embed_live/form_component.html.heex:25 #: lib/claper_web/live/embed_live/form_component.html.heex:80
#, elixir-autogen, elixir-format
msgid "The iframe component"
msgstr "Die iframe-Komponente"
#: lib/claper_web/live/embed_live/form_component.html.heex:62
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "This will delete the web content, are you sure?" msgid "This will delete the web content, are you sure?"
msgstr "Dies wird den Webinhalt löschen, sind Sie sicher?" msgstr "Dies wird den Webinhalt löschen, sind Sie sicher?"
@@ -957,18 +941,13 @@ msgstr "Dies wird den Webinhalt löschen, sind Sie sicher?"
msgid "Title" msgid "Title"
msgstr "Titel" msgstr "Titel"
#: lib/claper_web/live/event_live/manage.html.heex:236 #: lib/claper_web/live/event_live/manage.html.heex:230
#: lib/claper_web/live/event_live/manage.html.heex:817 #: lib/claper_web/live/event_live/manage.html.heex:867
#: lib/claper_web/live/stat_live/index.html.heex:259 #: lib/claper_web/live/stat_live/index.html.heex:259
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web content" msgid "Web content"
msgstr "Webinhalt" msgstr "Webinhalt"
#: lib/claper/embeds/embed.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Invalid embed format (should start with <iframe> and end with </iframe>)"
msgstr "Ungültiges Einbettungsformat (sollte mit <iframe> beginnen und mit </iframe> enden)"
#: lib/claper_web/live/event_live/manageable_post_component.ex:38 #: lib/claper_web/live/event_live/manageable_post_component.ex:38
#: lib/claper_web/live/event_live/manageable_post_component.ex:67 #: lib/claper_web/live/event_live/manageable_post_component.ex:67
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -981,12 +960,12 @@ msgstr "Anpinnen"
msgid "Pinned" msgid "Pinned"
msgstr "Angepinnt" msgstr "Angepinnt"
#: lib/claper_web/live/event_live/manage.html.heex:1020 #: lib/claper_web/live/event_live/manage.html.heex:1132
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Pinned messages" msgid "Pinned messages"
msgstr "Angepinnte Nachrichten" msgstr "Angepinnte Nachrichten"
#: lib/claper_web/live/event_live/manage.html.heex:1180 #: lib/claper_web/live/event_live/manage.html.heex:1292
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages will appear here." msgid "Pinned messages will appear here."
msgstr "Angepinnte Beiträge werden hier angezeigt." msgstr "Angepinnte Beiträge werden hier angezeigt."
@@ -1037,7 +1016,7 @@ msgstr "Gespeichert"
msgid "Access" msgid "Access"
msgstr "Zugriff" msgstr "Zugriff"
#: lib/claper_web/live/user_settings_live/show.html.heex:180 #: lib/claper_web/live/user_settings_live/show.html.heex:285
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All your events and files will be permanently deleted, are you sure?" msgid "All your events and files will be permanently deleted, are you sure?"
msgstr "Alle Ihre Veranstaltungen und Dateien werden dauerhaft gelöscht, sind Sie sicher?" msgstr "Alle Ihre Veranstaltungen und Dateien werden dauerhaft gelöscht, sind Sie sicher?"
@@ -1052,22 +1031,22 @@ msgstr "Sind Sie sicher, dass Sie diese Veranstaltung beenden möchten? Diese Ak
msgid "Attendees room" msgid "Attendees room"
msgstr "Teilnehmerraum" msgstr "Teilnehmerraum"
#: lib/claper_web/live/user_settings_live/show.html.heex:172 #: lib/claper_web/live/user_settings_live/show.html.heex:277
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Be careful, these actions are irreversible" msgid "Be careful, these actions are irreversible"
msgstr "Seien Sie vorsichtig, diese Aktionen sind unwiderruflich" msgstr "Seien Sie vorsichtig, diese Aktionen sind unwiderruflich"
#: lib/claper_web/live/user_settings_live/show.html.heex:169 #: lib/claper_web/live/user_settings_live/show.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Danger zone" msgid "Danger zone"
msgstr "Gefahrenzone" msgstr "Gefahrenzone"
#: lib/claper_web/live/user_settings_live/show.html.heex:185 #: lib/claper_web/live/user_settings_live/show.html.heex:290
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete account" msgid "Delete account"
msgstr "Konto löschen" msgstr "Konto löschen"
#: lib/claper_web/live/event_live/manage.html.heex:514 #: lib/claper_web/live/event_live/manage.html.heex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open presentation" msgid "Open presentation"
msgstr "Präsentation öffnen" msgstr "Präsentation öffnen"
@@ -1077,12 +1056,12 @@ msgstr "Präsentation öffnen"
msgid "Terminate" msgid "Terminate"
msgstr "Beenden" msgstr "Beenden"
#: lib/claper_web/live/event_live/event_card_component.ex:244 #: lib/claper_web/live/event_live/event_card_component.ex:344
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View report" msgid "View report"
msgstr "Bericht ansehen" msgstr "Bericht ansehen"
#: lib/claper_web/live/user_settings_live/show.ex:137 #: lib/claper_web/live/user_settings_live/show.ex:219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your account has been deleted." msgid "Your account has been deleted."
msgstr "Ihr Konto wurde gelöscht." msgstr "Ihr Konto wurde gelöscht."
@@ -1097,19 +1076,19 @@ msgstr "Zugriff"
msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly." msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly."
msgstr "Animationen in PPT/PPTX-Dateien werden nicht unterstützt, weshalb wir empfehlen, Ihre Präsentation in PDF zu exportieren, um eine korrekte Anzeige zu gewährleisten." msgstr "Animationen in PPT/PPTX-Dateien werden nicht unterstützt, weshalb wir empfehlen, Ihre Präsentation in PDF zu exportieren, um eine korrekte Anzeige zu gewährleisten."
#: lib/claper_web/live/event_live/manage.html.heex:992 #: lib/claper_web/live/event_live/manage.html.heex:1104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Attendees interactions" msgid "Attendees interactions"
msgstr "Interaktionen der Teilnehmer" msgstr "Interaktionen der Teilnehmer"
#: lib/claper_web/live/event_live/event_form_component.html.heex:5 #: lib/claper_web/live/event_live/event_form_component.html.heex:5
#: lib/claper_web/live/event_live/index.html.heex:76 #: lib/claper_web/live/event_live/index.html.heex:76
#: lib/claper_web/live/event_live/manage.html.heex:382 #: lib/claper_web/live/event_live/manage.html.heex:376
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Back" msgid "Back"
msgstr "Zurück" msgstr "Zurück"
#: lib/claper_web/live/event_live/manage.html.heex:496 #: lib/claper_web/live/event_live/manage.html.heex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click here to open the presentation window." msgid "Click here to open the presentation window."
msgstr "Klicken Sie hier, um das Präsentationsfenster zu öffnen." msgstr "Klicken Sie hier, um das Präsentationsfenster zu öffnen."
@@ -1121,25 +1100,25 @@ msgstr "Moderatoren"
#: lib/claper_web/live/event_live/event_form_component.html.heex:6 #: lib/claper_web/live/event_live/event_form_component.html.heex:6
#: lib/claper_web/live/event_live/index.html.heex:77 #: lib/claper_web/live/event_live/index.html.heex:77
#: lib/claper_web/live/event_live/manage.html.heex:383 #: lib/claper_web/live/event_live/manage.html.heex:377
#: lib/claper_web/templates/lti/registration/success.html.heex:26 #: lib/claper_web/templates/lti/registration/success.html.heex:26
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Finish" msgid "Finish"
msgstr "Abschließen" msgstr "Abschließen"
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms." msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms."
msgstr "Hier finden Sie alle Interaktionen Ihrer Teilnehmer. Sie können Nachrichten, angeheftete Nachrichten und eingereichte Formulare verwalten." msgstr "Hier finden Sie alle Interaktionen Ihrer Teilnehmer. Sie können Nachrichten, angeheftete Nachrichten und eingereichte Formulare verwalten."
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Identify users by their unique avatars." msgid "Identify users by their unique avatars."
msgstr "Identifizieren Sie Benutzer anhand ihrer einzigartigen Avatare." msgstr "Identifizieren Sie Benutzer anhand ihrer einzigartigen Avatare."
#: lib/claper_web/live/event_live/event_form_component.html.heex:4 #: lib/claper_web/live/event_live/event_form_component.html.heex:4
#: lib/claper_web/live/event_live/index.html.heex:75 #: lib/claper_web/live/event_live/index.html.heex:75
#: lib/claper_web/live/event_live/manage.html.heex:381 #: lib/claper_web/live/event_live/manage.html.heex:375
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Next" msgid "Next"
msgstr "Weiter" msgstr "Weiter"
@@ -1149,17 +1128,17 @@ msgstr "Weiter"
msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit." msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit."
msgstr "Wählen Sie Ihre Präsentationsdatei aus. Akzeptierte Formate sind PDF, PPT oder PPTX. Stellen Sie sicher, dass die Dateigröße das maximale Limit nicht überschreitet." msgstr "Wählen Sie Ihre Präsentationsdatei aus. Akzeptierte Formate sind PDF, PPT oder PPTX. Stellen Sie sicher, dass die Dateigröße das maximale Limit nicht überschreitet."
#: lib/claper_web/live/event_live/manage.html.heex:494 #: lib/claper_web/live/event_live/manage.html.heex:488
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Time to launch your presentation!" msgid "Time to launch your presentation!"
msgstr "Zeit, Ihre Präsentation zu starten!" msgstr "Zeit, Ihre Präsentation zu starten!"
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use the associated keyboard shortcuts for quick toggling of these settings." msgid "Use the associated keyboard shortcuts for quick toggling of these settings."
msgstr "Verwenden Sie die zugehörigen Tastaturkürzel, um diese Einstellungen schnell umzuschalten." msgstr "Verwenden Sie die zugehörigen Tastaturkürzel, um diese Einstellungen schnell umzuschalten."
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room." msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room."
msgstr "Sie können jede Einstellung für die Präsentation (Anzeige auf dem Großbildschirm) und im Raum der Teilnehmer steuern." msgstr "Sie können jede Einstellung für die Präsentation (Anzeige auf dem Großbildschirm) und im Raum der Teilnehmer steuern."
@@ -1194,11 +1173,6 @@ msgstr "Datum des Veranstaltungsbeginns"
msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here." msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here."
msgstr "Wenn Sie keine Zeit haben und nur Interaktionen ohne eine Präsentationsdatei wünschen, können Sie hier eine neue Veranstaltung erstellen." msgstr "Wenn Sie keine Zeit haben und nur Interaktionen ohne eine Präsentationsdatei wünschen, können Sie hier eine neue Veranstaltung erstellen."
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "If you have slides, you can navigate through the slides with ease using the arrow keys on your keyboard."
msgstr "Wenn Sie Folien haben, können Sie mit den Pfeiltasten auf Ihrer Tastatur leicht durch die Folien navigieren."
#: lib/claper_web/live/event_live/event_form_component.html.heex:299 #: lib/claper_web/live/event_live/event_form_component.html.heex:299
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event." msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event."
@@ -1250,7 +1224,7 @@ msgstr "Präsentationseinstellungen"
msgid "Quick event" msgid "Quick event"
msgstr "Schnellveranstaltung" msgstr "Schnellveranstaltung"
#: lib/claper_web/live/event_live/index.ex:73 #: lib/claper_web/live/event_live/index.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Quick event created successfully" msgid "Quick event created successfully"
msgstr "Schnellveranstaltung erfolgreich erstellt" msgstr "Schnellveranstaltung erfolgreich erstellt"
@@ -1280,11 +1254,6 @@ msgstr "Dieser Code wird von Ihren Teilnehmern verwendet, um auf die Veranstaltu
msgid "This event has been terminated" msgid "This event has been terminated"
msgstr "Diese Veranstaltung wurde beendet" msgstr "Diese Veranstaltung wurde beendet"
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format, fuzzy
msgid "This section contains all your presentation slides (if you have upload one). You have the option to add interactions to each slide."
msgstr "Dieser Abschnitt enthält alle Ihre Präsentationsfolien (falls Sie eine hochgeladen haben). Sie haben die Möglichkeit, jeder Folie Interaktionen hinzuzufügen."
#: lib/claper_web/live/event_live/index.html.heex:117 #: lib/claper_web/live/event_live/index.html.heex:117
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Welcome to Claper! You can create a new event here." msgid "Welcome to Claper! You can create a new event here."
@@ -1295,11 +1264,6 @@ msgstr "Willkommen bei Claper! Hier können Sie eine neue Veranstaltung erstelle
msgid "When your event will start?" msgid "When your event will start?"
msgstr "Wann beginnt Ihre Veranstaltung?" msgstr "Wann beginnt Ihre Veranstaltung?"
#: lib/claper_web/live/event_live/manage.html.heex:659
#, elixir-autogen, elixir-format, fuzzy
msgid "Your slides and/or interactions"
msgstr "Ihre Folien und/oder Interaktionen"
#: lib/claper_web/live/event_live/show.html.heex:38 #: lib/claper_web/live/event_live/show.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create your next presentation with" msgid "Create your next presentation with"
@@ -1312,22 +1276,22 @@ msgstr "Erstellen Sie Ihre nächste Präsentation mit"
msgid "Event doesn't exist" msgid "Event doesn't exist"
msgstr "Veranstaltung existiert nicht" msgstr "Veranstaltung existiert nicht"
#: lib/claper_web/live/user_settings_live/show.html.heex:140 #: lib/claper_web/live/user_settings_live/show.html.heex:244
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Customize your account" msgid "Customize your account"
msgstr "Passen Sie Ihr Konto an" msgstr "Passen Sie Ihr Konto an"
#: lib/claper_web/live/user_settings_live/show.html.heex:159 #: lib/claper_web/live/user_settings_live/show.html.heex:264
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "Sprache" msgstr "Sprache"
#: lib/claper_web/live/user_settings_live/show.html.heex:137 #: lib/claper_web/live/user_settings_live/show.html.heex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preferences" msgid "Preferences"
msgstr "Einstellungen" msgstr "Einstellungen"
#: lib/claper_web/live/user_settings_live/show.ex:119 #: lib/claper_web/live/user_settings_live/show.ex:180
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your preferences have been updated." msgid "Your preferences have been updated."
msgstr "Ihre Einstellungen wurden aktualisiert." msgstr "Ihre Einstellungen wurden aktualisiert."
@@ -1337,22 +1301,22 @@ msgstr "Ihre Einstellungen wurden aktualisiert."
msgid "Question" msgid "Question"
msgstr "Frage" msgstr "Frage"
#: lib/claper_web/live/event_live/manage.html.heex:1012 #: lib/claper_web/live/event_live/manage.html.heex:1124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions" msgid "Questions"
msgstr "Fragen" msgstr "Fragen"
#: lib/claper_web/live/event_live/manage.html.heex:1099 #: lib/claper_web/live/event_live/manage.html.heex:1211
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions will appear here." msgid "Questions will appear here."
msgstr "Fragen werden hier erscheinen." msgstr "Fragen werden hier erscheinen."
#: lib/claper_web/live/event_live/manage.html.heex:1141 #: lib/claper_web/live/event_live/manage.html.heex:1253
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by date" msgid "Sort by date"
msgstr "Nach Datum sortieren" msgstr "Nach Datum sortieren"
#: lib/claper_web/live/event_live/manage.html.heex:1120 #: lib/claper_web/live/event_live/manage.html.heex:1232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by popularity" msgid "Sort by popularity"
msgstr "Nach Beliebtheit sortieren" msgstr "Nach Beliebtheit sortieren"
@@ -1373,7 +1337,7 @@ msgstr "Dokumentation"
msgid "My account" msgid "My account"
msgstr "Mein Konto" msgstr "Mein Konto"
#: lib/claper_web/live/user_settings_live/show.html.heex:96 #: lib/claper_web/live/user_settings_live/show.html.heex:139
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Your personal informations to access your account" msgid "Your personal informations to access your account"
msgstr "Ihre persnlichen Informationen zum Zugreifen auf Ihr Konto" msgstr "Ihre persnlichen Informationen zum Zugreifen auf Ihr Konto"
@@ -1434,22 +1398,22 @@ msgid "Add Claper"
msgstr "Claper hinzufügen" msgstr "Claper hinzufügen"
#: lib/claper_web/live/event_live/manage.html.heex:94 #: lib/claper_web/live/event_live/manage.html.heex:94
#: lib/claper_web/live/event_live/manage.html.heex:487 #: lib/claper_web/live/event_live/manage.html.heex:481
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Close preview" msgid "Close preview"
msgstr "Vorschau schließen" msgstr "Vorschau schließen"
#: lib/claper_web/live/event_live/manage.html.heex:687 #: lib/claper_web/live/event_live/manage.html.heex:685
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Create your first interaction." msgid "Create your first interaction."
msgstr "Erstellen Sie Ihre erste Interaktion." msgstr "Erstellen Sie Ihre erste Interaktion."
#: lib/claper_web/live/event_live/manage.html.heex:875 #: lib/claper_web/live/event_live/manage.html.heex:1025
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Disable" msgid "Disable"
msgstr "Deaktivieren" msgstr "Deaktivieren"
#: lib/claper_web/live/event_live/manage.html.heex:957 #: lib/claper_web/live/event_live/manage.html.heex:1069
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "Aktivieren" msgstr "Aktivieren"
@@ -1459,18 +1423,13 @@ msgstr "Aktivieren"
msgid "Enable messages to change this option" msgid "Enable messages to change this option"
msgstr "Aktivieren Sie Nachrichten, um diese Option zu ändern" msgstr "Aktivieren Sie Nachrichten, um diese Option zu ändern"
#: lib/claper_web/live/event_live/manage.html.heex:918 #: lib/claper_web/live/event_live/manage.html.heex:749
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Hide on presentation" msgid "Hide on presentation"
msgstr "In Präsentation ausblenden" msgstr "In Präsentation ausblenden"
#: lib/claper_web/live/event_live/manage.html.heex:933
#, elixir-autogen, elixir-format
msgid "Hide results for attendees"
msgstr "Ergebnisse für Teilnehmer ausblenden"
#: lib/claper_web/live/event_live/manage.html.heex:93 #: lib/claper_web/live/event_live/manage.html.heex:93
#: lib/claper_web/live/event_live/manage.html.heex:486 #: lib/claper_web/live/event_live/manage.html.heex:480
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open preview" msgid "Open preview"
msgstr "Vorschau öffnen" msgstr "Vorschau öffnen"
@@ -1485,17 +1444,137 @@ msgstr "Anweisungen anzeigen (QR-Code)"
msgid "Show messages to change this option" msgid "Show messages to change this option"
msgstr "Nachrichten anzeigen, um diese Option zu ändern" msgstr "Nachrichten anzeigen, um diese Option zu ändern"
#: lib/claper_web/live/event_live/manage.html.heex:921 #: lib/claper_web/live/event_live/manage.html.heex:752
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show on presentation" msgid "Show on presentation"
msgstr "In Präsentation anzeigen" msgstr "In Präsentation anzeigen"
#: lib/claper_web/live/event_live/manage.html.heex:936 #: lib/claper_web/live/event_live/manage.html.heex:682
#, elixir-autogen, elixir-format
msgid "Show results for attendees"
msgstr "Ergebnisse für Teilnehmer anzeigen"
#: lib/claper_web/live/event_live/manage.html.heex:684
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This slide does not have any interactions." msgid "This slide does not have any interactions."
msgstr "Diese Folie hat keine Interaktionen." msgstr "Diese Folie hat keine Interaktionen."
#: lib/claper_web/live/user_settings_live/show.html.heex:176
#, elixir-autogen, elixir-format
msgid "Accounts linked"
msgstr "Verknüpfte Konten"
#: lib/claper_web/live/user_settings_live/show.html.heex:208
#: lib/claper_web/live/user_settings_live/show.html.heex:226
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unlink this account?"
msgstr "Sind Sie sicher, dass Sie dieses Konto trennen möchten?"
#: lib/claper_web/templates/user_session/new.html.heex:74
#, elixir-autogen, elixir-format
msgid "Login with %{provider}"
msgstr "Anmelden mit %{provider}"
#: lib/claper_web/live/user_settings_live/show.ex:101
#: lib/claper_web/live/user_settings_live/show.ex:115
#, elixir-autogen, elixir-format
msgid "The account has been unlinked."
msgstr "Das Konto wurde getrennt."
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "This section contains all your interactions."
msgstr "Dieser Abschnitt enthält alle Ihre Interaktionen."
#: lib/claper_web/live/user_settings_live/show.html.heex:211
#: lib/claper_web/live/user_settings_live/show.html.heex:229
#, elixir-autogen, elixir-format, fuzzy
msgid "Unlink"
msgstr "Trennen"
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "You can add interactions to your presentation slides."
msgstr "Sie können Ihren Präsentationsfolien Interaktionen hinzufügen."
#: lib/claper_web/live/event_live/manage.html.heex:657
#, elixir-autogen, elixir-format
msgid "Your interactions"
msgstr "Ihre Interaktionen"
#: lib/claper_web/live/user_settings_live/show.html.heex:119
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm password"
msgstr "Neues Passwort bestätigen"
#: lib/claper_web/live/user_settings_live/show.ex:68
#, elixir-autogen, elixir-format
msgid "Set a new password"
msgstr "Neues Passwort festlegen"
#: lib/claper_web/live/user_settings_live/show.ex:71
#, elixir-autogen, elixir-format
msgid "Set a new password for your account before unlinking it."
msgstr "Legen Sie ein neues Passwort für Ihr Konto fest, bevor Sie es trennen."
#: lib/claper_web/live/user_settings_live/show.ex:204
#, elixir-autogen, elixir-format
msgid "Your password has been set, you can now unlink your account."
msgstr "Ihr Passwort wurde festgelegt. Sie können jetzt Ihr Konto trennen."
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Iframe code"
msgstr "Iframe-Code"
#: lib/claper_web/live/embed_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Link to the content"
msgstr "Link zum Inhalt"
#: lib/claper/embeds/embed.ex:65
#: lib/claper/embeds/embed.ex:74
#: lib/claper/embeds/embed.ex:83
#, elixir-autogen, elixir-format
msgid "Please enter a valid %{provider} link"
msgstr "Bitte geben Sie einen gültigen %{provider}-Link ein"
#: lib/claper/embeds/embed.ex:62
#: lib/claper/embeds/embed.ex:71
#: lib/claper/embeds/embed.ex:80
#, elixir-autogen, elixir-format
msgid "Please enter a valid link starting with http:// or https://"
msgstr "Bitte geben Sie einen gültigen Link ein, der mit http:// oder https:// beginnt"
#: lib/claper/embeds/embed.ex:89
#, elixir-autogen, elixir-format
msgid "Please enter valid HTML content with an iframe tag"
msgstr "Bitte geben Sie gültigen HTML-Inhalt mit einem iframe-Tag ein"
#: lib/claper_web/live/embed_live/form_component.html.heex:25
#, elixir-autogen, elixir-format
msgid "Provider"
msgstr "Anbieter"
#: lib/claper_web/live/poll_live/form_component.html.heex:89
#, elixir-autogen, elixir-format
msgid "Attendees can see the results on their device"
msgstr "Teilnehmer können die Ergebnisse auf ihrem Gerät sehen"
#: lib/claper_web/live/embed_live/form_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Attendees can view the web content on their device"
msgstr "Teilnehmer können die Webinhalte auf ihrem Gerät anzeigen"
#: lib/claper_web/live/embed_live/form_component.html.heex:49
#: lib/claper_web/live/poll_live/form_component.html.heex:82
#, elixir-autogen, elixir-format
msgid "Options"
msgstr "Optionen"
#: lib/claper_web/live/event_live/event_card_component.ex:186
#: lib/claper_web/live/event_live/event_card_component.ex:266
#: lib/claper_web/live/event_live/event_card_component.ex:355
#, elixir-autogen, elixir-format
msgid "Action"
msgstr "Aktion"
#: lib/claper_web/live/event_live/event_card_component.ex:242
#, elixir-autogen, elixir-format
msgid "Duplicate"
msgstr "Duplizieren"

View File

@@ -10,18 +10,18 @@
msgid "" msgid ""
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1293 #: lib/claper_web/live/event_live/manage.html.heex:1405
#: lib/claper_web/live/user_settings_live/show.ex:55 #: lib/claper_web/live/user_settings_live/show.ex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.ex:746 #: lib/claper_web/live/event_live/manage.ex:727
#: 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:29 #: lib/claper_web/templates/user_registration/new.html.heex:29
#: lib/claper_web/templates/user_reset_password/new.html.heex:28 #: lib/claper_web/templates/user_reset_password/new.html.heex:28
#: lib/claper_web/templates/user_session/new.html.heex:41 #: lib/claper_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "" msgstr ""
@@ -38,8 +38,8 @@ msgstr ""
msgid "Oops, check that all fields are filled in correctly." msgid "Oops, check that all fields are filled in correctly."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:112 #: lib/claper_web/live/user_settings_live/show.html.heex:155
#: lib/claper_web/live/user_settings_live/show.html.heex:127 #: lib/claper_web/live/user_settings_live/show.html.heex:170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change" msgid "Change"
msgstr "" msgstr ""
@@ -49,7 +49,8 @@ msgstr ""
msgid "Code" msgid "Code"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:103 #: lib/claper_web/live/user_settings_live/show.html.heex:146
#: lib/claper_web/templates/user_session/new.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email address" msgid "Email address"
msgstr "" msgstr ""
@@ -59,7 +60,7 @@ msgstr ""
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:93 #: lib/claper_web/live/user_settings_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Personal informations" msgid "Personal informations"
msgstr "" msgstr ""
@@ -101,7 +102,7 @@ msgstr ""
msgid "Join" msgid "Join"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/index.ex:156 #: lib/claper_web/live/event_live/index.ex:180
#: lib/claper_web/live/event_live/join.html.heex:31 #: lib/claper_web/live/event_live/join.html.heex:31
#: lib/claper_web/live/event_live/join.html.heex:54 #: lib/claper_web/live/event_live/join.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -173,60 +174,61 @@ msgstr ""
msgid "Created successfully" msgid "Created successfully"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:186 #: lib/claper_web/live/event_live/event_card_component.ex:224
#: lib/claper_web/live/event_live/event_card_component.ex:207 #: lib/claper_web/live/event_live/event_card_component.ex:304
#: lib/claper_web/live/event_live/form_component.ex:97 #: lib/claper_web/live/event_live/form_component.ex:97
#: lib/claper_web/live/event_live/index.ex:139 #: lib/claper_web/live/event_live/index.ex:161
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:51 #: lib/claper_web/live/embed_live/form_component.html.heex:69
#: 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/event_form_component.html.heex:32 #: lib/claper_web/live/event_live/event_form_component.html.heex:32
#: lib/claper_web/live/event_live/index.ex:146 #: lib/claper_web/live/event_live/index.ex:170
#: lib/claper_web/live/event_live/index.html.heex:64 #: lib/claper_web/live/event_live/index.html.heex:64
#: lib/claper_web/live/form_live/form_component.html.heex:98 #: lib/claper_web/live/form_live/form_component.html.heex:98
#: lib/claper_web/live/poll_live/form_component.html.heex:94 #: lib/claper_web/live/poll_live/form_component.html.heex:106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create" msgid "Create"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:56 #: lib/claper_web/live/embed_live/form_component.html.heex:74
#: lib/claper_web/live/event_live/event_card_component.ex:249 #: lib/claper_web/live/event_live/event_card_component.ex:400
#: lib/claper_web/live/event_live/event_form_component.html.heex:37 #: lib/claper_web/live/event_live/event_form_component.html.heex:37
#: lib/claper_web/live/event_live/manage.html.heex:1241 #: lib/claper_web/live/event_live/manage.html.heex:1353
#: lib/claper_web/live/event_live/manageable_post_component.ex:92 #: lib/claper_web/live/event_live/manageable_post_component.ex:92
#: lib/claper_web/live/event_live/post_component.ex:70 #: lib/claper_web/live/event_live/post_component.ex:70
#: lib/claper_web/live/event_live/post_component.ex:142 #: lib/claper_web/live/event_live/post_component.ex:142
#: lib/claper_web/live/form_live/form_component.html.heex:103 #: lib/claper_web/live/form_live/form_component.html.heex:103
#: lib/claper_web/live/poll_live/form_component.html.heex:99 #: lib/claper_web/live/poll_live/form_component.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:52 #: lib/claper_web/live/embed_live/form_component.html.heex:70
#: 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/event_live/event_form_component.html.heex:31 #: lib/claper_web/live/event_live/event_form_component.html.heex:31
#: lib/claper_web/live/form_live/form_component.html.heex:99 #: lib/claper_web/live/form_live/form_component.html.heex:99
#: lib/claper_web/live/poll_live/form_component.html.heex:95 #: lib/claper_web/live/poll_live/form_component.html.heex:107
#: lib/claper_web/live/user_settings_live/show.html.heex:38 #: lib/claper_web/live/user_settings_live/show.html.heex:38
#: lib/claper_web/live/user_settings_live/show.html.heex:80 #: lib/claper_web/live/user_settings_live/show.html.heex:80
#: lib/claper_web/live/user_settings_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:76 #: lib/claper_web/live/user_settings_live/show.ex:137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:40 #: lib/claper_web/live/user_settings_live/show.ex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the email address you want associated with your account." msgid "Change the email address you want associated with your account."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:37 #: lib/claper_web/live/user_settings_live/show.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your email" msgid "Update your email"
msgstr "" msgstr ""
@@ -308,12 +310,12 @@ msgstr ""
msgid "or drag and drop" msgid "or drag and drop"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.ex:308 #: lib/claper_web/live/event_live/event_form_component.ex:313
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have selected an incorrect file type" msgid "You have selected an incorrect file type"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.ex:307 #: lib/claper_web/live/event_live/event_form_component.ex:312
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your file is too large" msgid "Your file is too large"
msgstr "" msgstr ""
@@ -328,12 +330,12 @@ msgstr ""
msgid "Presentation replaced" msgid "Presentation replaced"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:280 #: lib/claper_web/live/event_live/manage.html.heex:274
#, 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:279 #: lib/claper_web/live/event_live/manage.html.heex:273
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New poll" msgid "New poll"
msgstr "" msgstr ""
@@ -343,7 +345,7 @@ msgstr ""
msgid "Title of your poll" msgid "Title of your poll"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.ex:309 #: lib/claper_web/live/event_live/event_form_component.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload failed" msgid "Upload failed"
msgstr "" msgstr ""
@@ -354,12 +356,12 @@ msgid "Add poll to know opinion of your public."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:165 #: lib/claper_web/live/event_live/manage.html.heex:165
#: lib/claper_web/live/event_live/manage.html.heex:730 #: lib/claper_web/live/event_live/manage.html.heex:779
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Poll" msgid "Poll"
msgstr "" msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:35 #: lib/claper_web/live/poll_live/form_component.html.heex:30
#, elixir-format, ex-autogen, elixir-autogen #, elixir-format, ex-autogen, elixir-autogen
msgid "Choice %{count}" msgid "Choice %{count}"
msgid_plural "Choice %{count}" msgid_plural "Choice %{count}"
@@ -393,22 +395,22 @@ 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:1058 #: lib/claper_web/live/event_live/manage.html.heex:1170
#, 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/event_card_component.ex:218 #: lib/claper_web/live/event_live/event_card_component.ex:318
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Processing your file..." msgid "Processing your file..."
msgstr "" msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:106 #: lib/claper_web/live/poll_live/form_component.html.heex:118
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all responses associated and the poll itself, are you sure?" msgid "This will delete all responses associated and the poll itself, are you sure?"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:450 #: lib/claper_web/live/event_live/manage.html.heex:444
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
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 ""
@@ -418,7 +420,7 @@ msgstr ""
msgid "Ask, comment..." msgid "Ask, comment..."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1004 #: lib/claper_web/live/event_live/manage.html.heex:1116
#: lib/claper_web/live/stat_live/index.html.heex:71 #: lib/claper_web/live/stat_live/index.html.heex:71
#: lib/claper_web/live/stat_live/index.html.heex:271 #: lib/claper_web/live/stat_live/index.html.heex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -457,7 +459,7 @@ 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:703 #: lib/claper_web/live/event_live/manage.html.heex:701
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add interaction" msgid "Add interaction"
msgstr "" msgstr ""
@@ -575,7 +577,7 @@ msgstr ""
msgid "No messages has been sent" msgid "No messages has been sent"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:255 #: lib/claper_web/live/event_live/event_card_component.ex:382
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all data related to your event, this cannot be undone. Confirm ?" msgid "This will delete all data related to your event, this cannot be undone. Confirm ?"
msgstr "" msgstr ""
@@ -597,7 +599,7 @@ msgstr ""
msgid "Engagement rate" msgid "Engagement rate"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:197 #: lib/claper_web/live/event_live/event_card_component.ex:256
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Error when processing the file" msgid "Error when processing the file"
msgstr "" msgstr ""
@@ -610,7 +612,7 @@ msgstr ""
#: lib/claper_web/live/event_live/join.html.heex:38 #: lib/claper_web/live/event_live/join.html.heex:38
#: lib/claper_web/live/event_live/join.html.heex:61 #: lib/claper_web/live/event_live/join.html.heex:61
#: lib/claper_web/templates/user_session/new.html.heex:60 #: lib/claper_web/templates/user_session/new.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Login" msgid "Login"
msgstr "" msgstr ""
@@ -626,30 +628,21 @@ msgid "Or use the code:"
msgstr "" msgstr ""
#: lib/claper_web/templates/user_registration/new.html.heex:46 #: lib/claper_web/templates/user_registration/new.html.heex:46
#: lib/claper_web/templates/user_session/new.html.heex:71 #: lib/claper_web/templates/user_session/new.html.heex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create account" msgid "Create account"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:118 #: lib/claper_web/live/user_settings_live/show.html.heex:161
#: lib/claper_web/templates/user_registration/new.html.heex:37 #: lib/claper_web/templates/user_registration/new.html.heex:37
#: lib/claper_web/templates/user_reset_password/edit.html.heex:34 #: lib/claper_web/templates/user_reset_password/edit.html.heex:34
#: lib/claper_web/templates/user_session/new.html.heex:51 #: lib/claper_web/templates/user_session/new.html.heex:50
#: lib/claper_web/templates/user_session/new.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:39 #: lib/claper_web/live/user_settings_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Your email address"
msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:49
#, elixir-autogen, elixir-format
msgid "Your password"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the password used to access your account." msgid "Change the password used to access your account."
msgstr "" msgstr ""
@@ -660,16 +653,17 @@ msgid "Current password"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:76 #: lib/claper_web/live/user_settings_live/show.html.heex:76
#: lib/claper_web/live/user_settings_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:46 #: lib/claper_web/live/user_settings_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your password" msgid "Update your password"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:98 #: lib/claper_web/live/user_settings_live/show.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has been updated." msgid "Your password has been updated."
msgstr "" msgstr ""
@@ -681,7 +675,7 @@ msgid_plural "Field %{count}"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: lib/claper_web/live/event_live/manage.html.heex:207 #: lib/claper_web/live/event_live/manage.html.heex:201
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add form to collect data from your public." msgid "Add form to collect data from your public."
msgstr "" msgstr ""
@@ -691,35 +685,35 @@ msgstr ""
msgid "Current form" msgid "Current form"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:301 #: lib/claper_web/live/event_live/manage.html.heex:295
#, 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:204 #: lib/claper_web/live/event_live/manage.html.heex:198
#: lib/claper_web/live/event_live/manage.html.heex:774 #: lib/claper_web/live/event_live/manage.html.heex:823
#: lib/claper_web/live/event_live/manage.html.heex:1253 #: lib/claper_web/live/event_live/manage.html.heex:1365
#: lib/claper_web/live/stat_live/index.html.heex:217 #: lib/claper_web/live/stat_live/index.html.heex:217
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Form" msgid "Form"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1028 #: lib/claper_web/live/event_live/manage.html.heex:1140
#, 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:1226 #: lib/claper_web/live/event_live/manage.html.heex:1338
#, 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:745 #: lib/claper_web/live/event_live/manage.ex:726
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:300 #: lib/claper_web/live/event_live/manage.html.heex:294
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New form" msgid "New form"
msgstr "" msgstr ""
@@ -744,7 +738,7 @@ msgstr ""
msgid "Text" msgid "Text"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1246 #: lib/claper_web/live/event_live/manage.html.heex:1358
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This cannot be undone, confirm ?" msgid "This cannot be undone, confirm ?"
msgstr "" msgstr ""
@@ -779,12 +773,12 @@ msgstr ""
msgid "Select one or multiple options" msgid "Select one or multiple options"
msgstr "" msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:24 #: lib/claper_web/live/poll_live/form_component.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Multiple answers" msgid "Multiple answers"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:269 #: lib/claper_web/live/event_live/manage.html.heex:263
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Import all interactions from another presentation" msgid "Import all interactions from another presentation"
msgstr "" msgstr ""
@@ -799,7 +793,7 @@ msgstr ""
msgid "Interactions imported successfully" msgid "Interactions imported successfully"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:341 #: lib/claper_web/live/event_live/manage.html.heex:335
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select presentation" msgid "Select presentation"
msgstr "" msgstr ""
@@ -873,7 +867,7 @@ msgstr ""
msgid "Account creation is disabled" msgid "Account creation is disabled"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:238 #: lib/claper_web/live/event_live/manage.html.heex:232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add a Youtube video or any web content." msgid "Add a Youtube video or any web content."
msgstr "" msgstr ""
@@ -883,7 +877,7 @@ msgstr ""
msgid "Confirm new password" msgid "Confirm new password"
msgstr "" msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:66 #: lib/claper_web/templates/user_session/new.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "" msgstr ""
@@ -919,22 +913,17 @@ msgstr ""
msgid "Send link to reset password" msgid "Send link to reset password"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Attendee can view the web content on their device"
msgstr ""
#: lib/claper_web/live/event_live/embed_component.ex:59 #: lib/claper_web/live/event_live/embed_component.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Current web content" msgid "Current web content"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:322 #: lib/claper_web/live/event_live/manage.html.heex:316
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit web content" msgid "Edit web content"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:321 #: lib/claper_web/live/event_live/manage.html.heex:315
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New web content" msgid "New web content"
msgstr "" msgstr ""
@@ -944,12 +933,7 @@ msgstr ""
msgid "See current web content" msgid "See current web content"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:25 #: lib/claper_web/live/embed_live/form_component.html.heex:80
#, elixir-autogen, elixir-format
msgid "The iframe component"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete the web content, are you sure?" msgid "This will delete the web content, are you sure?"
msgstr "" msgstr ""
@@ -959,18 +943,13 @@ msgstr ""
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:236 #: lib/claper_web/live/event_live/manage.html.heex:230
#: lib/claper_web/live/event_live/manage.html.heex:817 #: lib/claper_web/live/event_live/manage.html.heex:867
#: lib/claper_web/live/stat_live/index.html.heex:259 #: lib/claper_web/live/stat_live/index.html.heex:259
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web content" msgid "Web content"
msgstr "" msgstr ""
#: lib/claper/embeds/embed.ex:50
#, elixir-autogen, elixir-format
msgid "Invalid embed format (should start with <iframe> and end with </iframe>)"
msgstr ""
#: lib/claper_web/live/event_live/manageable_post_component.ex:38 #: lib/claper_web/live/event_live/manageable_post_component.ex:38
#: lib/claper_web/live/event_live/manageable_post_component.ex:67 #: lib/claper_web/live/event_live/manageable_post_component.ex:67
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -983,12 +962,12 @@ msgstr ""
msgid "Pinned" msgid "Pinned"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1020 #: lib/claper_web/live/event_live/manage.html.heex:1132
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages" msgid "Pinned messages"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1180 #: lib/claper_web/live/event_live/manage.html.heex:1292
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages will appear here." msgid "Pinned messages will appear here."
msgstr "" msgstr ""
@@ -1039,7 +1018,7 @@ msgstr ""
msgid "Access" msgid "Access"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:180 #: lib/claper_web/live/user_settings_live/show.html.heex:285
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All your events and files will be permanently deleted, are you sure?" msgid "All your events and files will be permanently deleted, are you sure?"
msgstr "" msgstr ""
@@ -1054,22 +1033,22 @@ msgstr ""
msgid "Attendees room" msgid "Attendees room"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:172 #: lib/claper_web/live/user_settings_live/show.html.heex:277
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Be careful, these actions are irreversible" msgid "Be careful, these actions are irreversible"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:169 #: lib/claper_web/live/user_settings_live/show.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Danger zone" msgid "Danger zone"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:185 #: lib/claper_web/live/user_settings_live/show.html.heex:290
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete account" msgid "Delete account"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:514 #: lib/claper_web/live/event_live/manage.html.heex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open presentation" msgid "Open presentation"
msgstr "" msgstr ""
@@ -1079,12 +1058,12 @@ msgstr ""
msgid "Terminate" msgid "Terminate"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:244 #: lib/claper_web/live/event_live/event_card_component.ex:344
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View report" msgid "View report"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:137 #: lib/claper_web/live/user_settings_live/show.ex:219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your account has been deleted." msgid "Your account has been deleted."
msgstr "" msgstr ""
@@ -1099,19 +1078,19 @@ msgstr ""
msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly." msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:992 #: lib/claper_web/live/event_live/manage.html.heex:1104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Attendees interactions" msgid "Attendees interactions"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:5 #: lib/claper_web/live/event_live/event_form_component.html.heex:5
#: lib/claper_web/live/event_live/index.html.heex:76 #: lib/claper_web/live/event_live/index.html.heex:76
#: lib/claper_web/live/event_live/manage.html.heex:382 #: lib/claper_web/live/event_live/manage.html.heex:376
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Back" msgid "Back"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:496 #: lib/claper_web/live/event_live/manage.html.heex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click here to open the presentation window." msgid "Click here to open the presentation window."
msgstr "" msgstr ""
@@ -1123,25 +1102,25 @@ msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:6 #: lib/claper_web/live/event_live/event_form_component.html.heex:6
#: lib/claper_web/live/event_live/index.html.heex:77 #: lib/claper_web/live/event_live/index.html.heex:77
#: lib/claper_web/live/event_live/manage.html.heex:383 #: lib/claper_web/live/event_live/manage.html.heex:377
#: lib/claper_web/templates/lti/registration/success.html.heex:26 #: lib/claper_web/templates/lti/registration/success.html.heex:26
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms." msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Identify users by their unique avatars." msgid "Identify users by their unique avatars."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:4 #: lib/claper_web/live/event_live/event_form_component.html.heex:4
#: lib/claper_web/live/event_live/index.html.heex:75 #: lib/claper_web/live/event_live/index.html.heex:75
#: lib/claper_web/live/event_live/manage.html.heex:381 #: lib/claper_web/live/event_live/manage.html.heex:375
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Next" msgid "Next"
msgstr "" msgstr ""
@@ -1151,17 +1130,17 @@ msgstr ""
msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit." msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:494 #: lib/claper_web/live/event_live/manage.html.heex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Time to launch your presentation!" msgid "Time to launch your presentation!"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use the associated keyboard shortcuts for quick toggling of these settings." msgid "Use the associated keyboard shortcuts for quick toggling of these settings."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room." msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room."
msgstr "" msgstr ""
@@ -1196,11 +1175,6 @@ msgstr ""
msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here." msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "If you have slides, you can navigate through the slides with ease using the arrow keys on your keyboard."
msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:299 #: lib/claper_web/live/event_live/event_form_component.html.heex:299
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event." msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event."
@@ -1252,7 +1226,7 @@ msgstr ""
msgid "Quick event" msgid "Quick event"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/index.ex:73 #: lib/claper_web/live/event_live/index.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Quick event created successfully" msgid "Quick event created successfully"
msgstr "" msgstr ""
@@ -1282,11 +1256,6 @@ msgstr ""
msgid "This event has been terminated" msgid "This event has been terminated"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "This section contains all your presentation slides (if you have upload one). You have the option to add interactions to each slide."
msgstr ""
#: lib/claper_web/live/event_live/index.html.heex:117 #: lib/claper_web/live/event_live/index.html.heex:117
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Welcome to Claper! You can create a new event here." msgid "Welcome to Claper! You can create a new event here."
@@ -1297,11 +1266,6 @@ msgstr ""
msgid "When your event will start?" msgid "When your event will start?"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:659
#, elixir-autogen, elixir-format
msgid "Your slides and/or interactions"
msgstr ""
#: lib/claper_web/live/event_live/show.html.heex:38 #: lib/claper_web/live/event_live/show.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create your next presentation with" msgid "Create your next presentation with"
@@ -1314,22 +1278,22 @@ msgstr ""
msgid "Event doesn't exist" msgid "Event doesn't exist"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:140 #: lib/claper_web/live/user_settings_live/show.html.heex:244
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Customize your account" msgid "Customize your account"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:159 #: lib/claper_web/live/user_settings_live/show.html.heex:264
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:137 #: lib/claper_web/live/user_settings_live/show.html.heex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preferences" msgid "Preferences"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:119 #: lib/claper_web/live/user_settings_live/show.ex:180
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your preferences have been updated." msgid "Your preferences have been updated."
msgstr "" msgstr ""
@@ -1339,22 +1303,22 @@ msgstr ""
msgid "Question" msgid "Question"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1012 #: lib/claper_web/live/event_live/manage.html.heex:1124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions" msgid "Questions"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1099 #: lib/claper_web/live/event_live/manage.html.heex:1211
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions will appear here." msgid "Questions will appear here."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1141 #: lib/claper_web/live/event_live/manage.html.heex:1253
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by date" msgid "Sort by date"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1120 #: lib/claper_web/live/event_live/manage.html.heex:1232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by popularity" msgid "Sort by popularity"
msgstr "" msgstr ""
@@ -1375,7 +1339,7 @@ msgstr ""
msgid "My account" msgid "My account"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:96 #: lib/claper_web/live/user_settings_live/show.html.heex:139
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your personal informations to access your account" msgid "Your personal informations to access your account"
msgstr "" msgstr ""
@@ -1436,22 +1400,22 @@ msgid "Add Claper"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:94 #: lib/claper_web/live/event_live/manage.html.heex:94
#: lib/claper_web/live/event_live/manage.html.heex:487 #: lib/claper_web/live/event_live/manage.html.heex:481
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Close preview" msgid "Close preview"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:687 #: lib/claper_web/live/event_live/manage.html.heex:685
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create your first interaction." msgid "Create your first interaction."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:875 #: lib/claper_web/live/event_live/manage.html.heex:1025
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:957 #: lib/claper_web/live/event_live/manage.html.heex:1069
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
@@ -1461,18 +1425,13 @@ msgstr ""
msgid "Enable messages to change this option" msgid "Enable messages to change this option"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:918 #: lib/claper_web/live/event_live/manage.html.heex:749
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hide on presentation" msgid "Hide on presentation"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:933
#, elixir-autogen, elixir-format
msgid "Hide results for attendees"
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:93 #: lib/claper_web/live/event_live/manage.html.heex:93
#: lib/claper_web/live/event_live/manage.html.heex:486 #: lib/claper_web/live/event_live/manage.html.heex:480
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open preview" msgid "Open preview"
msgstr "" msgstr ""
@@ -1487,17 +1446,137 @@ msgstr ""
msgid "Show messages to change this option" msgid "Show messages to change this option"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:921 #: lib/claper_web/live/event_live/manage.html.heex:752
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show on presentation" msgid "Show on presentation"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:936 #: lib/claper_web/live/event_live/manage.html.heex:682
#, elixir-autogen, elixir-format
msgid "Show results for attendees"
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:684
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This slide does not have any interactions." msgid "This slide does not have any interactions."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:176
#, elixir-autogen, elixir-format
msgid "Accounts linked"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:208
#: lib/claper_web/live/user_settings_live/show.html.heex:226
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unlink this account?"
msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:74
#, elixir-autogen, elixir-format
msgid "Login with %{provider}"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:101
#: lib/claper_web/live/user_settings_live/show.ex:115
#, elixir-autogen, elixir-format
msgid "The account has been unlinked."
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "This section contains all your interactions."
msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:211
#: lib/claper_web/live/user_settings_live/show.html.heex:229
#, elixir-autogen, elixir-format
msgid "Unlink"
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "You can add interactions to your presentation slides."
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:657
#, elixir-autogen, elixir-format
msgid "Your interactions"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:119
#, elixir-autogen, elixir-format
msgid "Confirm password"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:68
#, elixir-autogen, elixir-format
msgid "Set a new password"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:71
#, elixir-autogen, elixir-format
msgid "Set a new password for your account before unlinking it."
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:204
#, elixir-autogen, elixir-format
msgid "Your password has been set, you can now unlink your account."
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Iframe code"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Link to the content"
msgstr ""
#: lib/claper/embeds/embed.ex:65
#: lib/claper/embeds/embed.ex:74
#: lib/claper/embeds/embed.ex:83
#, elixir-autogen, elixir-format
msgid "Please enter a valid %{provider} link"
msgstr ""
#: lib/claper/embeds/embed.ex:62
#: lib/claper/embeds/embed.ex:71
#: lib/claper/embeds/embed.ex:80
#, elixir-autogen, elixir-format
msgid "Please enter a valid link starting with http:// or https://"
msgstr ""
#: lib/claper/embeds/embed.ex:89
#, elixir-autogen, elixir-format
msgid "Please enter valid HTML content with an iframe tag"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:25
#, elixir-autogen, elixir-format
msgid "Provider"
msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:89
#, elixir-autogen, elixir-format
msgid "Attendees can see the results on their device"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Attendees can view the web content on their device"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:49
#: lib/claper_web/live/poll_live/form_component.html.heex:82
#, elixir-autogen, elixir-format
msgid "Options"
msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:186
#: lib/claper_web/live/event_live/event_card_component.ex:266
#: lib/claper_web/live/event_live/event_card_component.ex:355
#, elixir-autogen, elixir-format
msgid "Action"
msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:242
#, elixir-autogen, elixir-format
msgid "Duplicate"
msgstr ""

View File

@@ -8,18 +8,18 @@ msgstr ""
"Language: en\n" "Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/claper_web/live/event_live/manage.html.heex:1293 #: lib/claper_web/live/event_live/manage.html.heex:1405
#: lib/claper_web/live/user_settings_live/show.ex:55 #: lib/claper_web/live/user_settings_live/show.ex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.ex:746 #: lib/claper_web/live/event_live/manage.ex:727
#: 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:29 #: lib/claper_web/templates/user_registration/new.html.heex:29
#: lib/claper_web/templates/user_reset_password/new.html.heex:28 #: lib/claper_web/templates/user_reset_password/new.html.heex:28
#: lib/claper_web/templates/user_session/new.html.heex:41 #: lib/claper_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "" msgstr ""
@@ -36,8 +36,8 @@ msgstr ""
msgid "Oops, check that all fields are filled in correctly." msgid "Oops, check that all fields are filled in correctly."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:112 #: lib/claper_web/live/user_settings_live/show.html.heex:155
#: lib/claper_web/live/user_settings_live/show.html.heex:127 #: lib/claper_web/live/user_settings_live/show.html.heex:170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change" msgid "Change"
msgstr "" msgstr ""
@@ -47,7 +47,8 @@ msgstr ""
msgid "Code" msgid "Code"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:103 #: lib/claper_web/live/user_settings_live/show.html.heex:146
#: lib/claper_web/templates/user_session/new.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email address" msgid "Email address"
msgstr "" msgstr ""
@@ -57,7 +58,7 @@ msgstr ""
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:93 #: lib/claper_web/live/user_settings_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Personal informations" msgid "Personal informations"
msgstr "" msgstr ""
@@ -99,7 +100,7 @@ msgstr ""
msgid "Join" msgid "Join"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/index.ex:156 #: lib/claper_web/live/event_live/index.ex:180
#: lib/claper_web/live/event_live/join.html.heex:31 #: lib/claper_web/live/event_live/join.html.heex:31
#: lib/claper_web/live/event_live/join.html.heex:54 #: lib/claper_web/live/event_live/join.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -171,60 +172,61 @@ msgstr ""
msgid "Created successfully" msgid "Created successfully"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:186 #: lib/claper_web/live/event_live/event_card_component.ex:224
#: lib/claper_web/live/event_live/event_card_component.ex:207 #: lib/claper_web/live/event_live/event_card_component.ex:304
#: lib/claper_web/live/event_live/form_component.ex:97 #: lib/claper_web/live/event_live/form_component.ex:97
#: lib/claper_web/live/event_live/index.ex:139 #: lib/claper_web/live/event_live/index.ex:161
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:51 #: lib/claper_web/live/embed_live/form_component.html.heex:69
#: 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/event_form_component.html.heex:32 #: lib/claper_web/live/event_live/event_form_component.html.heex:32
#: lib/claper_web/live/event_live/index.ex:146 #: lib/claper_web/live/event_live/index.ex:170
#: lib/claper_web/live/event_live/index.html.heex:64 #: lib/claper_web/live/event_live/index.html.heex:64
#: lib/claper_web/live/form_live/form_component.html.heex:98 #: lib/claper_web/live/form_live/form_component.html.heex:98
#: lib/claper_web/live/poll_live/form_component.html.heex:94 #: lib/claper_web/live/poll_live/form_component.html.heex:106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create" msgid "Create"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:56 #: lib/claper_web/live/embed_live/form_component.html.heex:74
#: lib/claper_web/live/event_live/event_card_component.ex:249 #: lib/claper_web/live/event_live/event_card_component.ex:400
#: lib/claper_web/live/event_live/event_form_component.html.heex:37 #: lib/claper_web/live/event_live/event_form_component.html.heex:37
#: lib/claper_web/live/event_live/manage.html.heex:1241 #: lib/claper_web/live/event_live/manage.html.heex:1353
#: lib/claper_web/live/event_live/manageable_post_component.ex:92 #: lib/claper_web/live/event_live/manageable_post_component.ex:92
#: lib/claper_web/live/event_live/post_component.ex:70 #: lib/claper_web/live/event_live/post_component.ex:70
#: lib/claper_web/live/event_live/post_component.ex:142 #: lib/claper_web/live/event_live/post_component.ex:142
#: lib/claper_web/live/form_live/form_component.html.heex:103 #: lib/claper_web/live/form_live/form_component.html.heex:103
#: lib/claper_web/live/poll_live/form_component.html.heex:99 #: lib/claper_web/live/poll_live/form_component.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:52 #: lib/claper_web/live/embed_live/form_component.html.heex:70
#: 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/event_live/event_form_component.html.heex:31 #: lib/claper_web/live/event_live/event_form_component.html.heex:31
#: lib/claper_web/live/form_live/form_component.html.heex:99 #: lib/claper_web/live/form_live/form_component.html.heex:99
#: lib/claper_web/live/poll_live/form_component.html.heex:95 #: lib/claper_web/live/poll_live/form_component.html.heex:107
#: lib/claper_web/live/user_settings_live/show.html.heex:38 #: lib/claper_web/live/user_settings_live/show.html.heex:38
#: lib/claper_web/live/user_settings_live/show.html.heex:80 #: lib/claper_web/live/user_settings_live/show.html.heex:80
#: lib/claper_web/live/user_settings_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:76 #: lib/claper_web/live/user_settings_live/show.ex:137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:40 #: lib/claper_web/live/user_settings_live/show.ex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the email address you want associated with your account." msgid "Change the email address you want associated with your account."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:37 #: lib/claper_web/live/user_settings_live/show.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your email" msgid "Update your email"
msgstr "" msgstr ""
@@ -306,12 +308,12 @@ msgstr ""
msgid "or drag and drop" msgid "or drag and drop"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.ex:308 #: lib/claper_web/live/event_live/event_form_component.ex:313
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have selected an incorrect file type" msgid "You have selected an incorrect file type"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.ex:307 #: lib/claper_web/live/event_live/event_form_component.ex:312
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your file is too large" msgid "Your file is too large"
msgstr "" msgstr ""
@@ -326,12 +328,12 @@ msgstr ""
msgid "Presentation replaced" msgid "Presentation replaced"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:280 #: lib/claper_web/live/event_live/manage.html.heex:274
#, 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:279 #: lib/claper_web/live/event_live/manage.html.heex:273
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New poll" msgid "New poll"
msgstr "" msgstr ""
@@ -341,7 +343,7 @@ msgstr ""
msgid "Title of your poll" msgid "Title of your poll"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.ex:309 #: lib/claper_web/live/event_live/event_form_component.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload failed" msgid "Upload failed"
msgstr "" msgstr ""
@@ -352,12 +354,12 @@ msgid "Add poll to know opinion of your public."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:165 #: lib/claper_web/live/event_live/manage.html.heex:165
#: lib/claper_web/live/event_live/manage.html.heex:730 #: lib/claper_web/live/event_live/manage.html.heex:779
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Poll" msgid "Poll"
msgstr "" msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:35 #: lib/claper_web/live/poll_live/form_component.html.heex:30
#, elixir-format, ex-autogen, elixir-autogen #, elixir-format, ex-autogen, elixir-autogen
msgid "Choice %{count}" msgid "Choice %{count}"
msgid_plural "Choice %{count}" msgid_plural "Choice %{count}"
@@ -391,22 +393,22 @@ 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:1058 #: lib/claper_web/live/event_live/manage.html.heex:1170
#, 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/event_card_component.ex:218 #: lib/claper_web/live/event_live/event_card_component.ex:318
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Processing your file..." msgid "Processing your file..."
msgstr "" msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:106 #: lib/claper_web/live/poll_live/form_component.html.heex:118
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all responses associated and the poll itself, are you sure?" msgid "This will delete all responses associated and the poll itself, are you sure?"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:450 #: lib/claper_web/live/event_live/manage.html.heex:444
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
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 ""
@@ -416,7 +418,7 @@ msgstr ""
msgid "Ask, comment..." msgid "Ask, comment..."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1004 #: lib/claper_web/live/event_live/manage.html.heex:1116
#: lib/claper_web/live/stat_live/index.html.heex:71 #: lib/claper_web/live/stat_live/index.html.heex:71
#: lib/claper_web/live/stat_live/index.html.heex:271 #: lib/claper_web/live/stat_live/index.html.heex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -455,7 +457,7 @@ 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:703 #: lib/claper_web/live/event_live/manage.html.heex:701
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add interaction" msgid "Add interaction"
msgstr "" msgstr ""
@@ -573,7 +575,7 @@ msgstr ""
msgid "No messages has been sent" msgid "No messages has been sent"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:255 #: lib/claper_web/live/event_live/event_card_component.ex:382
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all data related to your event, this cannot be undone. Confirm ?" msgid "This will delete all data related to your event, this cannot be undone. Confirm ?"
msgstr "" msgstr ""
@@ -595,7 +597,7 @@ msgstr ""
msgid "Engagement rate" msgid "Engagement rate"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:197 #: lib/claper_web/live/event_live/event_card_component.ex:256
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Error when processing the file" msgid "Error when processing the file"
msgstr "" msgstr ""
@@ -608,7 +610,7 @@ msgstr ""
#: lib/claper_web/live/event_live/join.html.heex:38 #: lib/claper_web/live/event_live/join.html.heex:38
#: lib/claper_web/live/event_live/join.html.heex:61 #: lib/claper_web/live/event_live/join.html.heex:61
#: lib/claper_web/templates/user_session/new.html.heex:60 #: lib/claper_web/templates/user_session/new.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Login" msgid "Login"
msgstr "" msgstr ""
@@ -624,30 +626,21 @@ msgid "Or use the code:"
msgstr "" msgstr ""
#: lib/claper_web/templates/user_registration/new.html.heex:46 #: lib/claper_web/templates/user_registration/new.html.heex:46
#: lib/claper_web/templates/user_session/new.html.heex:71 #: lib/claper_web/templates/user_session/new.html.heex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create account" msgid "Create account"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:118 #: lib/claper_web/live/user_settings_live/show.html.heex:161
#: lib/claper_web/templates/user_registration/new.html.heex:37 #: lib/claper_web/templates/user_registration/new.html.heex:37
#: lib/claper_web/templates/user_reset_password/edit.html.heex:34 #: lib/claper_web/templates/user_reset_password/edit.html.heex:34
#: lib/claper_web/templates/user_session/new.html.heex:51 #: lib/claper_web/templates/user_session/new.html.heex:50
#: lib/claper_web/templates/user_session/new.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:39 #: lib/claper_web/live/user_settings_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Your email address"
msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:49
#, elixir-autogen, elixir-format
msgid "Your password"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the password used to access your account." msgid "Change the password used to access your account."
msgstr "" msgstr ""
@@ -658,16 +651,17 @@ msgid "Current password"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:76 #: lib/claper_web/live/user_settings_live/show.html.heex:76
#: lib/claper_web/live/user_settings_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:46 #: lib/claper_web/live/user_settings_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your password" msgid "Update your password"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:98 #: lib/claper_web/live/user_settings_live/show.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has been updated." msgid "Your password has been updated."
msgstr "" msgstr ""
@@ -679,7 +673,7 @@ msgid_plural "Field %{count}"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: lib/claper_web/live/event_live/manage.html.heex:207 #: lib/claper_web/live/event_live/manage.html.heex:201
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add form to collect data from your public." msgid "Add form to collect data from your public."
msgstr "" msgstr ""
@@ -689,35 +683,35 @@ msgstr ""
msgid "Current form" msgid "Current form"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:301 #: lib/claper_web/live/event_live/manage.html.heex:295
#, 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:204 #: lib/claper_web/live/event_live/manage.html.heex:198
#: lib/claper_web/live/event_live/manage.html.heex:774 #: lib/claper_web/live/event_live/manage.html.heex:823
#: lib/claper_web/live/event_live/manage.html.heex:1253 #: lib/claper_web/live/event_live/manage.html.heex:1365
#: lib/claper_web/live/stat_live/index.html.heex:217 #: lib/claper_web/live/stat_live/index.html.heex:217
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Form" msgid "Form"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1028 #: lib/claper_web/live/event_live/manage.html.heex:1140
#, 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:1226 #: lib/claper_web/live/event_live/manage.html.heex:1338
#, 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:745 #: lib/claper_web/live/event_live/manage.ex:726
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:300 #: lib/claper_web/live/event_live/manage.html.heex:294
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New form" msgid "New form"
msgstr "" msgstr ""
@@ -742,7 +736,7 @@ msgstr ""
msgid "Text" msgid "Text"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1246 #: lib/claper_web/live/event_live/manage.html.heex:1358
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This cannot be undone, confirm ?" msgid "This cannot be undone, confirm ?"
msgstr "" msgstr ""
@@ -777,12 +771,12 @@ msgstr ""
msgid "Select one or multiple options" msgid "Select one or multiple options"
msgstr "" msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:24 #: lib/claper_web/live/poll_live/form_component.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Multiple answers" msgid "Multiple answers"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:269 #: lib/claper_web/live/event_live/manage.html.heex:263
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Import all interactions from another presentation" msgid "Import all interactions from another presentation"
msgstr "" msgstr ""
@@ -797,7 +791,7 @@ msgstr ""
msgid "Interactions imported successfully" msgid "Interactions imported successfully"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:341 #: lib/claper_web/live/event_live/manage.html.heex:335
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select presentation" msgid "Select presentation"
msgstr "" msgstr ""
@@ -871,7 +865,7 @@ msgstr ""
msgid "Account creation is disabled" msgid "Account creation is disabled"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:238 #: lib/claper_web/live/event_live/manage.html.heex:232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add a Youtube video or any web content." msgid "Add a Youtube video or any web content."
msgstr "" msgstr ""
@@ -881,7 +875,7 @@ msgstr ""
msgid "Confirm new password" msgid "Confirm new password"
msgstr "" msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:66 #: lib/claper_web/templates/user_session/new.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "" msgstr ""
@@ -917,22 +911,17 @@ msgstr ""
msgid "Send link to reset password" msgid "Send link to reset password"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Attendee can view the web content on their device"
msgstr ""
#: lib/claper_web/live/event_live/embed_component.ex:59 #: lib/claper_web/live/event_live/embed_component.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Current web content" msgid "Current web content"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:322 #: lib/claper_web/live/event_live/manage.html.heex:316
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit web content" msgid "Edit web content"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:321 #: lib/claper_web/live/event_live/manage.html.heex:315
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New web content" msgid "New web content"
msgstr "" msgstr ""
@@ -942,12 +931,7 @@ msgstr ""
msgid "See current web content" msgid "See current web content"
msgstr "" msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:25 #: lib/claper_web/live/embed_live/form_component.html.heex:80
#, elixir-autogen, elixir-format
msgid "The iframe component"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete the web content, are you sure?" msgid "This will delete the web content, are you sure?"
msgstr "" msgstr ""
@@ -957,18 +941,13 @@ msgstr ""
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:236 #: lib/claper_web/live/event_live/manage.html.heex:230
#: lib/claper_web/live/event_live/manage.html.heex:817 #: lib/claper_web/live/event_live/manage.html.heex:867
#: lib/claper_web/live/stat_live/index.html.heex:259 #: lib/claper_web/live/stat_live/index.html.heex:259
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web content" msgid "Web content"
msgstr "" msgstr ""
#: lib/claper/embeds/embed.ex:50
#, elixir-autogen, elixir-format
msgid "Invalid embed format (should start with <iframe> and end with </iframe>)"
msgstr ""
#: lib/claper_web/live/event_live/manageable_post_component.ex:38 #: lib/claper_web/live/event_live/manageable_post_component.ex:38
#: lib/claper_web/live/event_live/manageable_post_component.ex:67 #: lib/claper_web/live/event_live/manageable_post_component.ex:67
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -981,12 +960,12 @@ msgstr ""
msgid "Pinned" msgid "Pinned"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1020 #: lib/claper_web/live/event_live/manage.html.heex:1132
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages" msgid "Pinned messages"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1180 #: lib/claper_web/live/event_live/manage.html.heex:1292
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages will appear here." msgid "Pinned messages will appear here."
msgstr "" msgstr ""
@@ -1037,7 +1016,7 @@ msgstr ""
msgid "Access" msgid "Access"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:180 #: lib/claper_web/live/user_settings_live/show.html.heex:285
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All your events and files will be permanently deleted, are you sure?" msgid "All your events and files will be permanently deleted, are you sure?"
msgstr "" msgstr ""
@@ -1052,22 +1031,22 @@ msgstr ""
msgid "Attendees room" msgid "Attendees room"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:172 #: lib/claper_web/live/user_settings_live/show.html.heex:277
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Be careful, these actions are irreversible" msgid "Be careful, these actions are irreversible"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:169 #: lib/claper_web/live/user_settings_live/show.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Danger zone" msgid "Danger zone"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:185 #: lib/claper_web/live/user_settings_live/show.html.heex:290
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete account" msgid "Delete account"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:514 #: lib/claper_web/live/event_live/manage.html.heex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open presentation" msgid "Open presentation"
msgstr "" msgstr ""
@@ -1077,12 +1056,12 @@ msgstr ""
msgid "Terminate" msgid "Terminate"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:244 #: lib/claper_web/live/event_live/event_card_component.ex:344
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View report" msgid "View report"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:137 #: lib/claper_web/live/user_settings_live/show.ex:219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your account has been deleted." msgid "Your account has been deleted."
msgstr "" msgstr ""
@@ -1097,19 +1076,19 @@ msgstr ""
msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly." msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:992 #: lib/claper_web/live/event_live/manage.html.heex:1104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Attendees interactions" msgid "Attendees interactions"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:5 #: lib/claper_web/live/event_live/event_form_component.html.heex:5
#: lib/claper_web/live/event_live/index.html.heex:76 #: lib/claper_web/live/event_live/index.html.heex:76
#: lib/claper_web/live/event_live/manage.html.heex:382 #: lib/claper_web/live/event_live/manage.html.heex:376
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Back" msgid "Back"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:496 #: lib/claper_web/live/event_live/manage.html.heex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click here to open the presentation window." msgid "Click here to open the presentation window."
msgstr "" msgstr ""
@@ -1121,25 +1100,25 @@ msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:6 #: lib/claper_web/live/event_live/event_form_component.html.heex:6
#: lib/claper_web/live/event_live/index.html.heex:77 #: lib/claper_web/live/event_live/index.html.heex:77
#: lib/claper_web/live/event_live/manage.html.heex:383 #: lib/claper_web/live/event_live/manage.html.heex:377
#: lib/claper_web/templates/lti/registration/success.html.heex:26 #: lib/claper_web/templates/lti/registration/success.html.heex:26
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms." msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Identify users by their unique avatars." msgid "Identify users by their unique avatars."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:4 #: lib/claper_web/live/event_live/event_form_component.html.heex:4
#: lib/claper_web/live/event_live/index.html.heex:75 #: lib/claper_web/live/event_live/index.html.heex:75
#: lib/claper_web/live/event_live/manage.html.heex:381 #: lib/claper_web/live/event_live/manage.html.heex:375
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Next" msgid "Next"
msgstr "" msgstr ""
@@ -1149,17 +1128,17 @@ msgstr ""
msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit." msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:494 #: lib/claper_web/live/event_live/manage.html.heex:488
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Time to launch your presentation!" msgid "Time to launch your presentation!"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use the associated keyboard shortcuts for quick toggling of these settings." msgid "Use the associated keyboard shortcuts for quick toggling of these settings."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room." msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room."
msgstr "" msgstr ""
@@ -1194,11 +1173,6 @@ msgstr ""
msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here." msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "If you have slides, you can navigate through the slides with ease using the arrow keys on your keyboard."
msgstr ""
#: lib/claper_web/live/event_live/event_form_component.html.heex:299 #: lib/claper_web/live/event_live/event_form_component.html.heex:299
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event." msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event."
@@ -1250,7 +1224,7 @@ msgstr ""
msgid "Quick event" msgid "Quick event"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/index.ex:73 #: lib/claper_web/live/event_live/index.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Quick event created successfully" msgid "Quick event created successfully"
msgstr "" msgstr ""
@@ -1280,11 +1254,6 @@ msgstr ""
msgid "This event has been terminated" msgid "This event has been terminated"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format, fuzzy
msgid "This section contains all your presentation slides (if you have upload one). You have the option to add interactions to each slide."
msgstr ""
#: lib/claper_web/live/event_live/index.html.heex:117 #: lib/claper_web/live/event_live/index.html.heex:117
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Welcome to Claper! You can create a new event here." msgid "Welcome to Claper! You can create a new event here."
@@ -1295,11 +1264,6 @@ msgstr ""
msgid "When your event will start?" msgid "When your event will start?"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:659
#, elixir-autogen, elixir-format, fuzzy
msgid "Your slides and/or interactions"
msgstr ""
#: lib/claper_web/live/event_live/show.html.heex:38 #: lib/claper_web/live/event_live/show.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create your next presentation with" msgid "Create your next presentation with"
@@ -1312,22 +1276,22 @@ msgstr ""
msgid "Event doesn't exist" msgid "Event doesn't exist"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:140 #: lib/claper_web/live/user_settings_live/show.html.heex:244
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Customize your account" msgid "Customize your account"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:159 #: lib/claper_web/live/user_settings_live/show.html.heex:264
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:137 #: lib/claper_web/live/user_settings_live/show.html.heex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preferences" msgid "Preferences"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:119 #: lib/claper_web/live/user_settings_live/show.ex:180
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your preferences have been updated." msgid "Your preferences have been updated."
msgstr "" msgstr ""
@@ -1337,22 +1301,22 @@ msgstr ""
msgid "Question" msgid "Question"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1012 #: lib/claper_web/live/event_live/manage.html.heex:1124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions" msgid "Questions"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1099 #: lib/claper_web/live/event_live/manage.html.heex:1211
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions will appear here." msgid "Questions will appear here."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1141 #: lib/claper_web/live/event_live/manage.html.heex:1253
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by date" msgid "Sort by date"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:1120 #: lib/claper_web/live/event_live/manage.html.heex:1232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by popularity" msgid "Sort by popularity"
msgstr "" msgstr ""
@@ -1373,7 +1337,7 @@ msgstr ""
msgid "My account" msgid "My account"
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:96 #: lib/claper_web/live/user_settings_live/show.html.heex:139
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Your personal informations to access your account" msgid "Your personal informations to access your account"
msgstr "" msgstr ""
@@ -1434,22 +1398,22 @@ msgid "Add Claper"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:94 #: lib/claper_web/live/event_live/manage.html.heex:94
#: lib/claper_web/live/event_live/manage.html.heex:487 #: lib/claper_web/live/event_live/manage.html.heex:481
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Close preview" msgid "Close preview"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:687 #: lib/claper_web/live/event_live/manage.html.heex:685
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Create your first interaction." msgid "Create your first interaction."
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:875 #: lib/claper_web/live/event_live/manage.html.heex:1025
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:957 #: lib/claper_web/live/event_live/manage.html.heex:1069
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
@@ -1459,18 +1423,13 @@ msgstr ""
msgid "Enable messages to change this option" msgid "Enable messages to change this option"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:918 #: lib/claper_web/live/event_live/manage.html.heex:749
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Hide on presentation" msgid "Hide on presentation"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:933
#, elixir-autogen, elixir-format
msgid "Hide results for attendees"
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:93 #: lib/claper_web/live/event_live/manage.html.heex:93
#: lib/claper_web/live/event_live/manage.html.heex:486 #: lib/claper_web/live/event_live/manage.html.heex:480
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open preview" msgid "Open preview"
msgstr "" msgstr ""
@@ -1485,17 +1444,137 @@ msgstr ""
msgid "Show messages to change this option" msgid "Show messages to change this option"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:921 #: lib/claper_web/live/event_live/manage.html.heex:752
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show on presentation" msgid "Show on presentation"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:936 #: lib/claper_web/live/event_live/manage.html.heex:682
#, elixir-autogen, elixir-format
msgid "Show results for attendees"
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:684
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This slide does not have any interactions." msgid "This slide does not have any interactions."
msgstr "" msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:176
#, elixir-autogen, elixir-format
msgid "Accounts linked"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:208
#: lib/claper_web/live/user_settings_live/show.html.heex:226
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unlink this account?"
msgstr ""
#: lib/claper_web/templates/user_session/new.html.heex:74
#, elixir-autogen, elixir-format
msgid "Login with %{provider}"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:101
#: lib/claper_web/live/user_settings_live/show.ex:115
#, elixir-autogen, elixir-format
msgid "The account has been unlinked."
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "This section contains all your interactions."
msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:211
#: lib/claper_web/live/user_settings_live/show.html.heex:229
#, elixir-autogen, elixir-format, fuzzy
msgid "Unlink"
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "You can add interactions to your presentation slides."
msgstr ""
#: lib/claper_web/live/event_live/manage.html.heex:657
#, elixir-autogen, elixir-format
msgid "Your interactions"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.html.heex:119
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm password"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:68
#, elixir-autogen, elixir-format
msgid "Set a new password"
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:71
#, elixir-autogen, elixir-format
msgid "Set a new password for your account before unlinking it."
msgstr ""
#: lib/claper_web/live/user_settings_live/show.ex:204
#, elixir-autogen, elixir-format
msgid "Your password has been set, you can now unlink your account."
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Iframe code"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Link to the content"
msgstr ""
#: lib/claper/embeds/embed.ex:65
#: lib/claper/embeds/embed.ex:74
#: lib/claper/embeds/embed.ex:83
#, elixir-autogen, elixir-format
msgid "Please enter a valid %{provider} link"
msgstr ""
#: lib/claper/embeds/embed.ex:62
#: lib/claper/embeds/embed.ex:71
#: lib/claper/embeds/embed.ex:80
#, elixir-autogen, elixir-format
msgid "Please enter a valid link starting with http:// or https://"
msgstr ""
#: lib/claper/embeds/embed.ex:89
#, elixir-autogen, elixir-format
msgid "Please enter valid HTML content with an iframe tag"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:25
#, elixir-autogen, elixir-format
msgid "Provider"
msgstr ""
#: lib/claper_web/live/poll_live/form_component.html.heex:89
#, elixir-autogen, elixir-format
msgid "Attendees can see the results on their device"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:56
#, elixir-autogen, elixir-format, fuzzy
msgid "Attendees can view the web content on their device"
msgstr ""
#: lib/claper_web/live/embed_live/form_component.html.heex:49
#: lib/claper_web/live/poll_live/form_component.html.heex:82
#, elixir-autogen, elixir-format
msgid "Options"
msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:186
#: lib/claper_web/live/event_live/event_card_component.ex:266
#: lib/claper_web/live/event_live/event_card_component.ex:355
#, elixir-autogen, elixir-format
msgid "Action"
msgstr ""
#: lib/claper_web/live/event_live/event_card_component.ex:242
#, elixir-autogen, elixir-format
msgid "Duplicate"
msgstr ""

View File

@@ -8,18 +8,18 @@ msgstr ""
"Language: es\n" "Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/claper_web/live/event_live/manage.html.heex:1293 #: lib/claper_web/live/event_live/manage.html.heex:1405
#: lib/claper_web/live/user_settings_live/show.ex:55 #: lib/claper_web/live/user_settings_live/show.ex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Settings" msgid "Settings"
msgstr "Configuración" msgstr "Configuración"
#: lib/claper_web/live/event_live/manage.ex:746 #: lib/claper_web/live/event_live/manage.ex:727
#: 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:29 #: lib/claper_web/templates/user_registration/new.html.heex:29
#: lib/claper_web/templates/user_reset_password/new.html.heex:28 #: lib/claper_web/templates/user_reset_password/new.html.heex:28
#: lib/claper_web/templates/user_session/new.html.heex:41 #: lib/claper_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "Email" msgstr "Email"
@@ -36,8 +36,8 @@ msgstr "Únete a la experiencia Claper"
msgid "Oops, check that all fields are filled in correctly." msgid "Oops, check that all fields are filled in correctly."
msgstr "Uy, comprueba que todos los campos estén correctamente rellenados." msgstr "Uy, comprueba que todos los campos estén correctamente rellenados."
#: lib/claper_web/live/user_settings_live/show.html.heex:112 #: lib/claper_web/live/user_settings_live/show.html.heex:155
#: lib/claper_web/live/user_settings_live/show.html.heex:127 #: lib/claper_web/live/user_settings_live/show.html.heex:170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change" msgid "Change"
msgstr "Cambiar" msgstr "Cambiar"
@@ -47,7 +47,8 @@ msgstr "Cambiar"
msgid "Code" msgid "Code"
msgstr "Código" msgstr "Código"
#: lib/claper_web/live/user_settings_live/show.html.heex:103 #: lib/claper_web/live/user_settings_live/show.html.heex:146
#: lib/claper_web/templates/user_session/new.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email address" msgid "Email address"
msgstr "Dirección email" msgstr "Dirección email"
@@ -57,7 +58,7 @@ msgstr "Dirección email"
msgid "Logout" msgid "Logout"
msgstr "Salir" msgstr "Salir"
#: lib/claper_web/live/user_settings_live/show.html.heex:93 #: lib/claper_web/live/user_settings_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Personal informations" msgid "Personal informations"
msgstr "Información personal" msgstr "Información personal"
@@ -99,7 +100,7 @@ msgstr "¡Sé el primero en reaccionar!"
msgid "Join" msgid "Join"
msgstr "Unirse" msgstr "Unirse"
#: lib/claper_web/live/event_live/index.ex:156 #: lib/claper_web/live/event_live/index.ex:180
#: lib/claper_web/live/event_live/join.html.heex:31 #: lib/claper_web/live/event_live/join.html.heex:31
#: lib/claper_web/live/event_live/join.html.heex:54 #: lib/claper_web/live/event_live/join.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -171,60 +172,61 @@ msgstr "Volver a principal"
msgid "Created successfully" msgid "Created successfully"
msgstr "Creado exitosamente" msgstr "Creado exitosamente"
#: lib/claper_web/live/event_live/event_card_component.ex:186 #: lib/claper_web/live/event_live/event_card_component.ex:224
#: lib/claper_web/live/event_live/event_card_component.ex:207 #: lib/claper_web/live/event_live/event_card_component.ex:304
#: lib/claper_web/live/event_live/form_component.ex:97 #: lib/claper_web/live/event_live/form_component.ex:97
#: lib/claper_web/live/event_live/index.ex:139 #: lib/claper_web/live/event_live/index.ex:161
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "Editar" msgstr "Editar"
#: lib/claper_web/live/embed_live/form_component.html.heex:51 #: lib/claper_web/live/embed_live/form_component.html.heex:69
#: 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/event_form_component.html.heex:32 #: lib/claper_web/live/event_live/event_form_component.html.heex:32
#: lib/claper_web/live/event_live/index.ex:146 #: lib/claper_web/live/event_live/index.ex:170
#: lib/claper_web/live/event_live/index.html.heex:64 #: lib/claper_web/live/event_live/index.html.heex:64
#: lib/claper_web/live/form_live/form_component.html.heex:98 #: lib/claper_web/live/form_live/form_component.html.heex:98
#: lib/claper_web/live/poll_live/form_component.html.heex:94 #: lib/claper_web/live/poll_live/form_component.html.heex:106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create" msgid "Create"
msgstr "Crear" msgstr "Crear"
#: lib/claper_web/live/embed_live/form_component.html.heex:56 #: lib/claper_web/live/embed_live/form_component.html.heex:74
#: lib/claper_web/live/event_live/event_card_component.ex:249 #: lib/claper_web/live/event_live/event_card_component.ex:400
#: lib/claper_web/live/event_live/event_form_component.html.heex:37 #: lib/claper_web/live/event_live/event_form_component.html.heex:37
#: lib/claper_web/live/event_live/manage.html.heex:1241 #: lib/claper_web/live/event_live/manage.html.heex:1353
#: lib/claper_web/live/event_live/manageable_post_component.ex:92 #: lib/claper_web/live/event_live/manageable_post_component.ex:92
#: lib/claper_web/live/event_live/post_component.ex:70 #: lib/claper_web/live/event_live/post_component.ex:70
#: lib/claper_web/live/event_live/post_component.ex:142 #: lib/claper_web/live/event_live/post_component.ex:142
#: lib/claper_web/live/form_live/form_component.html.heex:103 #: lib/claper_web/live/form_live/form_component.html.heex:103
#: lib/claper_web/live/poll_live/form_component.html.heex:99 #: lib/claper_web/live/poll_live/form_component.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Borrar" msgstr "Borrar"
#: lib/claper_web/live/embed_live/form_component.html.heex:52 #: lib/claper_web/live/embed_live/form_component.html.heex:70
#: 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/event_live/event_form_component.html.heex:31 #: lib/claper_web/live/event_live/event_form_component.html.heex:31
#: lib/claper_web/live/form_live/form_component.html.heex:99 #: lib/claper_web/live/form_live/form_component.html.heex:99
#: lib/claper_web/live/poll_live/form_component.html.heex:95 #: lib/claper_web/live/poll_live/form_component.html.heex:107
#: lib/claper_web/live/user_settings_live/show.html.heex:38 #: lib/claper_web/live/user_settings_live/show.html.heex:38
#: lib/claper_web/live/user_settings_live/show.html.heex:80 #: lib/claper_web/live/user_settings_live/show.html.heex:80
#: lib/claper_web/live/user_settings_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: lib/claper_web/live/user_settings_live/show.ex:76 #: lib/claper_web/live/user_settings_live/show.ex:137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "Se ha enviado un enlace a tu buzón para confirmar el cambio de email." msgstr "Se ha enviado un enlace a tu buzón para confirmar el cambio de email."
#: lib/claper_web/live/user_settings_live/show.ex:40 #: lib/claper_web/live/user_settings_live/show.ex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the email address you want associated with your account." msgid "Change the email address you want associated with your account."
msgstr "Cambiar la dirección email asociada a tu cuenta." msgstr "Cambiar la dirección email asociada a tu cuenta."
#: lib/claper_web/live/user_settings_live/show.ex:37 #: lib/claper_web/live/user_settings_live/show.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your email" msgid "Update your email"
msgstr "Actualizar tu email" msgstr "Actualizar tu email"
@@ -306,12 +308,12 @@ msgstr "Subir un fichero"
msgid "or drag and drop" msgid "or drag and drop"
msgstr "o arrastra" msgstr "o arrastra"
#: lib/claper_web/live/event_live/event_form_component.ex:308 #: lib/claper_web/live/event_live/event_form_component.ex:313
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have selected an incorrect file type" msgid "You have selected an incorrect file type"
msgstr "Has seleccionado un tipo de fichero incorrecto" msgstr "Has seleccionado un tipo de fichero incorrecto"
#: lib/claper_web/live/event_live/event_form_component.ex:307 #: lib/claper_web/live/event_live/event_form_component.ex:312
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your file is too large" msgid "Your file is too large"
msgstr "Tu fichero es demasiado grande" msgstr "Tu fichero es demasiado grande"
@@ -326,12 +328,12 @@ msgstr "Cambiar fichero"
msgid "Presentation replaced" msgid "Presentation replaced"
msgstr "Presentación sustituida" msgstr "Presentación sustituida"
#: lib/claper_web/live/event_live/manage.html.heex:280 #: lib/claper_web/live/event_live/manage.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit poll" msgid "Edit poll"
msgstr "Editar votación" msgstr "Editar votación"
#: lib/claper_web/live/event_live/manage.html.heex:279 #: lib/claper_web/live/event_live/manage.html.heex:273
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New poll" msgid "New poll"
msgstr "Nueva votación" msgstr "Nueva votación"
@@ -341,7 +343,7 @@ msgstr "Nueva votación"
msgid "Title of your poll" msgid "Title of your poll"
msgstr "Título de tu votación" msgstr "Título de tu votación"
#: lib/claper_web/live/event_live/event_form_component.ex:309 #: lib/claper_web/live/event_live/event_form_component.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload failed" msgid "Upload failed"
msgstr "Subida fallida" msgstr "Subida fallida"
@@ -352,12 +354,12 @@ msgid "Add poll to know opinion of your public."
msgstr "Añadir una votación para conocer la opinión del público." msgstr "Añadir una votación para conocer la opinión del público."
#: lib/claper_web/live/event_live/manage.html.heex:165 #: lib/claper_web/live/event_live/manage.html.heex:165
#: lib/claper_web/live/event_live/manage.html.heex:730 #: lib/claper_web/live/event_live/manage.html.heex:779
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Poll" msgid "Poll"
msgstr "Votación" msgstr "Votación"
#: lib/claper_web/live/poll_live/form_component.html.heex:35 #: lib/claper_web/live/poll_live/form_component.html.heex:30
#, elixir-format, ex-autogen, elixir-autogen #, elixir-format, ex-autogen, elixir-autogen
msgid "Choice %{count}" msgid "Choice %{count}"
msgid_plural "Choice %{count}" msgid_plural "Choice %{count}"
@@ -391,22 +393,22 @@ msgstr "Dirección email del usuario"
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 "Hacer cambios en tu fichero borrará todos los elementos de interacción asociados, incluyendo votaciones" msgstr "Hacer cambios en tu fichero borrará todos los elementos de interacción asociados, incluyendo votaciones"
#: lib/claper_web/live/event_live/manage.html.heex:1058 #: lib/claper_web/live/event_live/manage.html.heex:1170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Messages from attendees will appear here." msgid "Messages from attendees will appear here."
msgstr "Los mensajes de los asistentes aparecerán aquí." msgstr "Los mensajes de los asistentes aparecerán aquí."
#: lib/claper_web/live/event_live/event_card_component.ex:218 #: lib/claper_web/live/event_live/event_card_component.ex:318
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Processing your file..." msgid "Processing your file..."
msgstr "Procesando tu fichero..." msgstr "Procesando tu fichero..."
#: lib/claper_web/live/poll_live/form_component.html.heex:106 #: lib/claper_web/live/poll_live/form_component.html.heex:118
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all responses associated and the poll itself, are you sure?" msgid "This will delete all responses associated and the poll itself, are you sure?"
msgstr "Esto borrará todas las respuestas asociadas y la propia votación, ¿estás seguro/a?" msgstr "Esto borrará todas las respuestas asociadas y la propia votación, ¿estás seguro/a?"
#: lib/claper_web/live/event_live/manage.html.heex:450 #: lib/claper_web/live/event_live/manage.html.heex:444
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
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 "Pulsa <strong>F</strong> en la ventana de presentación para activar el modo pantalla completa" msgstr "Pulsa <strong>F</strong> en la ventana de presentación para activar el modo pantalla completa"
@@ -416,7 +418,7 @@ msgstr "Pulsa <strong>F</strong> en la ventana de presentación para activar el
msgid "Ask, comment..." msgid "Ask, comment..."
msgstr "Pregunta, deja comentarios..." msgstr "Pregunta, deja comentarios..."
#: lib/claper_web/live/event_live/manage.html.heex:1004 #: lib/claper_web/live/event_live/manage.html.heex:1116
#: lib/claper_web/live/stat_live/index.html.heex:71 #: lib/claper_web/live/stat_live/index.html.heex:71
#: lib/claper_web/live/stat_live/index.html.heex:271 #: lib/claper_web/live/stat_live/index.html.heex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -455,7 +457,7 @@ msgstr "Si tienes problemas con el botón superior, copia y pega la URL de debaj
msgid "You can change your email by visiting the URL below" msgid "You can change your email by visiting the URL below"
msgstr "Puedes cambiar tu correo visitando la URL de debajo" msgstr "Puedes cambiar tu correo visitando la URL de debajo"
#: lib/claper_web/live/event_live/manage.html.heex:703 #: lib/claper_web/live/event_live/manage.html.heex:701
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add interaction" msgid "Add interaction"
msgstr "Añadir interacción" msgstr "Añadir interacción"
@@ -573,7 +575,7 @@ msgstr "Historial de interacciones"
msgid "No messages has been sent" msgid "No messages has been sent"
msgstr "No se han enviado mensajes" msgstr "No se han enviado mensajes"
#: lib/claper_web/live/event_live/event_card_component.ex:255 #: lib/claper_web/live/event_live/event_card_component.ex:382
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all data related to your event, this cannot be undone. Confirm ?" msgid "This will delete all data related to your event, this cannot be undone. Confirm ?"
msgstr "Esto borrará todos los datos relativos a tu evento, y no se puede deshacer. ¿Estás seguro/a?" msgstr "Esto borrará todos los datos relativos a tu evento, y no se puede deshacer. ¿Estás seguro/a?"
@@ -595,7 +597,7 @@ msgstr "Pico de audiencia"
msgid "Engagement rate" msgid "Engagement rate"
msgstr "Nivel de participación" msgstr "Nivel de participación"
#: lib/claper_web/live/event_live/event_card_component.ex:197 #: lib/claper_web/live/event_live/event_card_component.ex:256
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Error when processing the file" msgid "Error when processing the file"
msgstr "" msgstr ""
@@ -608,7 +610,7 @@ msgstr "Acerca de"
#: lib/claper_web/live/event_live/join.html.heex:38 #: lib/claper_web/live/event_live/join.html.heex:38
#: lib/claper_web/live/event_live/join.html.heex:61 #: lib/claper_web/live/event_live/join.html.heex:61
#: lib/claper_web/templates/user_session/new.html.heex:60 #: lib/claper_web/templates/user_session/new.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Login" msgid "Login"
msgstr "Iniciar sesión" msgstr "Iniciar sesión"
@@ -624,30 +626,21 @@ msgid "Or use the code:"
msgstr "O usa el código:" msgstr "O usa el código:"
#: lib/claper_web/templates/user_registration/new.html.heex:46 #: lib/claper_web/templates/user_registration/new.html.heex:46
#: lib/claper_web/templates/user_session/new.html.heex:71 #: lib/claper_web/templates/user_session/new.html.heex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create account" msgid "Create account"
msgstr "Crear cuenta" msgstr "Crear cuenta"
#: lib/claper_web/live/user_settings_live/show.html.heex:118 #: lib/claper_web/live/user_settings_live/show.html.heex:161
#: lib/claper_web/templates/user_registration/new.html.heex:37 #: lib/claper_web/templates/user_registration/new.html.heex:37
#: lib/claper_web/templates/user_reset_password/edit.html.heex:34 #: lib/claper_web/templates/user_reset_password/edit.html.heex:34
#: lib/claper_web/templates/user_session/new.html.heex:51 #: lib/claper_web/templates/user_session/new.html.heex:50
#: lib/claper_web/templates/user_session/new.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: lib/claper_web/templates/user_session/new.html.heex:39 #: lib/claper_web/live/user_settings_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Your email address"
msgstr "Tu dirección email"
#: lib/claper_web/templates/user_session/new.html.heex:49
#, elixir-autogen, elixir-format
msgid "Your password"
msgstr "Tu contraseña"
#: lib/claper_web/live/user_settings_live/show.ex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the password used to access your account." msgid "Change the password used to access your account."
msgstr "Cambiar la contraseña usada para acceder a tu cuenta." msgstr "Cambiar la contraseña usada para acceder a tu cuenta."
@@ -658,16 +651,17 @@ msgid "Current password"
msgstr "Contraseña actual" msgstr "Contraseña actual"
#: lib/claper_web/live/user_settings_live/show.html.heex:76 #: lib/claper_web/live/user_settings_live/show.html.heex:76
#: lib/claper_web/live/user_settings_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New password" msgid "New password"
msgstr "Contraseña nueva" msgstr "Contraseña nueva"
#: lib/claper_web/live/user_settings_live/show.ex:46 #: lib/claper_web/live/user_settings_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your password" msgid "Update your password"
msgstr "Actualizar tu contraseña" msgstr "Actualizar tu contraseña"
#: lib/claper_web/live/user_settings_live/show.ex:98 #: lib/claper_web/live/user_settings_live/show.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has been updated." msgid "Your password has been updated."
msgstr "Tu contraseña ha sido actualizada." msgstr "Tu contraseña ha sido actualizada."
@@ -679,7 +673,7 @@ msgid_plural "Field %{count}"
msgstr[0] "Campo %{count}" msgstr[0] "Campo %{count}"
msgstr[1] "Campos %{count}" msgstr[1] "Campos %{count}"
#: lib/claper_web/live/event_live/manage.html.heex:207 #: lib/claper_web/live/event_live/manage.html.heex:201
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add form to collect data from your public." msgid "Add form to collect data from your public."
msgstr "Añadir formulario para recopilar datos del público." msgstr "Añadir formulario para recopilar datos del público."
@@ -689,35 +683,35 @@ msgstr "Añadir formulario para recopilar datos del público."
msgid "Current form" msgid "Current form"
msgstr "Formulario actual" msgstr "Formulario actual"
#: lib/claper_web/live/event_live/manage.html.heex:301 #: lib/claper_web/live/event_live/manage.html.heex:295
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit form" msgid "Edit form"
msgstr "Editar formulario" msgstr "Editar formulario"
#: lib/claper_web/live/event_live/manage.html.heex:204 #: lib/claper_web/live/event_live/manage.html.heex:198
#: lib/claper_web/live/event_live/manage.html.heex:774 #: lib/claper_web/live/event_live/manage.html.heex:823
#: lib/claper_web/live/event_live/manage.html.heex:1253 #: lib/claper_web/live/event_live/manage.html.heex:1365
#: lib/claper_web/live/stat_live/index.html.heex:217 #: lib/claper_web/live/stat_live/index.html.heex:217
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Form" msgid "Form"
msgstr "Formulario" msgstr "Formulario"
#: lib/claper_web/live/event_live/manage.html.heex:1028 #: lib/claper_web/live/event_live/manage.html.heex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Form submissions" msgid "Form submissions"
msgstr "Envíos de formulario" msgstr "Envíos de formulario"
#: lib/claper_web/live/event_live/manage.html.heex:1226 #: lib/claper_web/live/event_live/manage.html.heex:1338
#, 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 "Los envíos de formulario de los asistentes aparecerán aquí." msgstr "Los envíos de formulario de los asistentes aparecerán aquí."
#: lib/claper_web/live/event_live/manage.ex:745 #: lib/claper_web/live/event_live/manage.ex:726
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: lib/claper_web/live/event_live/manage.html.heex:300 #: lib/claper_web/live/event_live/manage.html.heex:294
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New form" msgid "New form"
msgstr "Nuevo formulario" msgstr "Nuevo formulario"
@@ -742,7 +736,7 @@ msgstr "Enviar"
msgid "Text" msgid "Text"
msgstr "Texto" msgstr "Texto"
#: lib/claper_web/live/event_live/manage.html.heex:1246 #: lib/claper_web/live/event_live/manage.html.heex:1358
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This cannot be undone, confirm ?" msgid "This cannot be undone, confirm ?"
msgstr "Esto no se puede deshacer, ¿estás seguro/a?" msgstr "Esto no se puede deshacer, ¿estás seguro/a?"
@@ -777,12 +771,12 @@ msgstr "Seleccione una opción"
msgid "Select one or multiple options" msgid "Select one or multiple options"
msgstr "Seleccione una o varias opciones" msgstr "Seleccione una o varias opciones"
#: lib/claper_web/live/poll_live/form_component.html.heex:24 #: lib/claper_web/live/poll_live/form_component.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Multiple answers" msgid "Multiple answers"
msgstr "Respuestas múltiples" msgstr "Respuestas múltiples"
#: lib/claper_web/live/event_live/manage.html.heex:269 #: lib/claper_web/live/event_live/manage.html.heex:263
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Import all interactions from another presentation" msgid "Import all interactions from another presentation"
msgstr "Importar todas las interacciones de otra presentación" msgstr "Importar todas las interacciones de otra presentación"
@@ -797,7 +791,7 @@ msgstr "La importación de interacciones ha fallado"
msgid "Interactions imported successfully" msgid "Interactions imported successfully"
msgstr "Interacciones importadas con éxito" msgstr "Interacciones importadas con éxito"
#: lib/claper_web/live/event_live/manage.html.heex:341 #: lib/claper_web/live/event_live/manage.html.heex:335
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select presentation" msgid "Select presentation"
msgstr "Seleccionar presentación" msgstr "Seleccionar presentación"
@@ -871,7 +865,7 @@ msgstr "desactivada"
msgid "Account creation is disabled" msgid "Account creation is disabled"
msgstr "La creación de cuentas está desactivada" msgstr "La creación de cuentas está desactivada"
#: lib/claper_web/live/event_live/manage.html.heex:238 #: lib/claper_web/live/event_live/manage.html.heex:232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add a Youtube video or any web content." msgid "Add a Youtube video or any web content."
msgstr "Agregar vídeo de Youtube o cualquier contenido web." msgstr "Agregar vídeo de Youtube o cualquier contenido web."
@@ -881,7 +875,7 @@ msgstr "Agregar vídeo de Youtube o cualquier contenido web."
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Confirmar nueva contraseña" msgstr "Confirmar nueva contraseña"
#: lib/claper_web/templates/user_session/new.html.heex:66 #: lib/claper_web/templates/user_session/new.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "¿Contraseña olvidada?" msgstr "¿Contraseña olvidada?"
@@ -917,22 +911,17 @@ msgstr "Restablecer tu contraseña"
msgid "Send link to reset password" msgid "Send link to reset password"
msgstr "Enviar enlace para restablecer contraseña" msgstr "Enviar enlace para restablecer contraseña"
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Attendee can view the web content on their device"
msgstr "Los asistentes puede ver el contenido web en su dispositivo"
#: lib/claper_web/live/event_live/embed_component.ex:59 #: lib/claper_web/live/event_live/embed_component.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Current web content" msgid "Current web content"
msgstr "Contenido actual" msgstr "Contenido actual"
#: lib/claper_web/live/event_live/manage.html.heex:322 #: lib/claper_web/live/event_live/manage.html.heex:316
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit web content" msgid "Edit web content"
msgstr "Editar contenido web" msgstr "Editar contenido web"
#: lib/claper_web/live/event_live/manage.html.heex:321 #: lib/claper_web/live/event_live/manage.html.heex:315
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New web content" msgid "New web content"
msgstr "Nuevo contenido web" msgstr "Nuevo contenido web"
@@ -942,12 +931,7 @@ msgstr "Nuevo contenido web"
msgid "See current web content" msgid "See current web content"
msgstr "Ver contenido" msgstr "Ver contenido"
#: lib/claper_web/live/embed_live/form_component.html.heex:25 #: lib/claper_web/live/embed_live/form_component.html.heex:80
#, elixir-autogen, elixir-format
msgid "The iframe component"
msgstr "El componente iframe"
#: lib/claper_web/live/embed_live/form_component.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete the web content, are you sure?" msgid "This will delete the web content, are you sure?"
msgstr "Esto borrará el contenido web, ¿estás seguro/a?" msgstr "Esto borrará el contenido web, ¿estás seguro/a?"
@@ -957,18 +941,13 @@ msgstr "Esto borrará el contenido web, ¿estás seguro/a?"
msgid "Title" msgid "Title"
msgstr "Título" msgstr "Título"
#: lib/claper_web/live/event_live/manage.html.heex:236 #: lib/claper_web/live/event_live/manage.html.heex:230
#: lib/claper_web/live/event_live/manage.html.heex:817 #: lib/claper_web/live/event_live/manage.html.heex:867
#: lib/claper_web/live/stat_live/index.html.heex:259 #: lib/claper_web/live/stat_live/index.html.heex:259
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web content" msgid "Web content"
msgstr "Contenido" msgstr "Contenido"
#: lib/claper/embeds/embed.ex:50
#, elixir-autogen, elixir-format
msgid "Invalid embed format (should start with <iframe> and end with </iframe>)"
msgstr "Formato embebido inválido (debe comenzar con <iframe> y acabar con </iframe>)"
#: lib/claper_web/live/event_live/manageable_post_component.ex:38 #: lib/claper_web/live/event_live/manageable_post_component.ex:38
#: lib/claper_web/live/event_live/manageable_post_component.ex:67 #: lib/claper_web/live/event_live/manageable_post_component.ex:67
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -981,12 +960,12 @@ msgstr "Anclar"
msgid "Pinned" msgid "Pinned"
msgstr "Anclado" msgstr "Anclado"
#: lib/claper_web/live/event_live/manage.html.heex:1020 #: lib/claper_web/live/event_live/manage.html.heex:1132
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages" msgid "Pinned messages"
msgstr "Mensajes anclados" msgstr "Mensajes anclados"
#: lib/claper_web/live/event_live/manage.html.heex:1180 #: lib/claper_web/live/event_live/manage.html.heex:1292
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages will appear here." msgid "Pinned messages will appear here."
msgstr "Los mensajes anclados aparecerán aquí." msgstr "Los mensajes anclados aparecerán aquí."
@@ -1037,7 +1016,7 @@ msgstr "Guardado"
msgid "Access" msgid "Access"
msgstr "Acceso" msgstr "Acceso"
#: lib/claper_web/live/user_settings_live/show.html.heex:180 #: lib/claper_web/live/user_settings_live/show.html.heex:285
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All your events and files will be permanently deleted, are you sure?" msgid "All your events and files will be permanently deleted, are you sure?"
msgstr "Todos tus eventos y ficheros serán borrados para siempre, ¿estás seguro/a?" msgstr "Todos tus eventos y ficheros serán borrados para siempre, ¿estás seguro/a?"
@@ -1052,22 +1031,22 @@ msgstr "¿Estás seguro de que quieres finalizar este evento? Esta acción no pu
msgid "Attendees room" msgid "Attendees room"
msgstr "Sala de asistentes" msgstr "Sala de asistentes"
#: lib/claper_web/live/user_settings_live/show.html.heex:172 #: lib/claper_web/live/user_settings_live/show.html.heex:277
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Be careful, these actions are irreversible" msgid "Be careful, these actions are irreversible"
msgstr "Ten cuidado, estas acciones son irreversibles" msgstr "Ten cuidado, estas acciones son irreversibles"
#: lib/claper_web/live/user_settings_live/show.html.heex:169 #: lib/claper_web/live/user_settings_live/show.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Danger zone" msgid "Danger zone"
msgstr "Zona de peligro" msgstr "Zona de peligro"
#: lib/claper_web/live/user_settings_live/show.html.heex:185 #: lib/claper_web/live/user_settings_live/show.html.heex:290
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete account" msgid "Delete account"
msgstr "Borrar cuenta" msgstr "Borrar cuenta"
#: lib/claper_web/live/event_live/manage.html.heex:514 #: lib/claper_web/live/event_live/manage.html.heex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open presentation" msgid "Open presentation"
msgstr "Abrir presentación" msgstr "Abrir presentación"
@@ -1077,12 +1056,12 @@ msgstr "Abrir presentación"
msgid "Terminate" msgid "Terminate"
msgstr "Terminar" msgstr "Terminar"
#: lib/claper_web/live/event_live/event_card_component.ex:244 #: lib/claper_web/live/event_live/event_card_component.ex:344
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View report" msgid "View report"
msgstr "Informe de visualización" msgstr "Informe de visualización"
#: lib/claper_web/live/user_settings_live/show.ex:137 #: lib/claper_web/live/user_settings_live/show.ex:219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your account has been deleted." msgid "Your account has been deleted."
msgstr "Tu cuenta ha sido borrada" msgstr "Tu cuenta ha sido borrada"
@@ -1097,19 +1076,19 @@ msgstr "Código de acceso"
msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly." msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly."
msgstr "No se soportan las animaciones de los ficheros PPT/PPTX, por lo que te recomendamos exportar tus presentaciones a formato PDF para tener la seguridad de que se mostrarán correctamente." msgstr "No se soportan las animaciones de los ficheros PPT/PPTX, por lo que te recomendamos exportar tus presentaciones a formato PDF para tener la seguridad de que se mostrarán correctamente."
#: lib/claper_web/live/event_live/manage.html.heex:992 #: lib/claper_web/live/event_live/manage.html.heex:1104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Attendees interactions" msgid "Attendees interactions"
msgstr "Interacciones de asistentes" msgstr "Interacciones de asistentes"
#: lib/claper_web/live/event_live/event_form_component.html.heex:5 #: lib/claper_web/live/event_live/event_form_component.html.heex:5
#: lib/claper_web/live/event_live/index.html.heex:76 #: lib/claper_web/live/event_live/index.html.heex:76
#: lib/claper_web/live/event_live/manage.html.heex:382 #: lib/claper_web/live/event_live/manage.html.heex:376
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Back" msgid "Back"
msgstr "Atrás" msgstr "Atrás"
#: lib/claper_web/live/event_live/manage.html.heex:496 #: lib/claper_web/live/event_live/manage.html.heex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click here to open the presentation window." msgid "Click here to open the presentation window."
msgstr "Pulsa aquí para abrir la ventana de presentación." msgstr "Pulsa aquí para abrir la ventana de presentación."
@@ -1121,25 +1100,25 @@ msgstr "Colaboradores"
#: lib/claper_web/live/event_live/event_form_component.html.heex:6 #: lib/claper_web/live/event_live/event_form_component.html.heex:6
#: lib/claper_web/live/event_live/index.html.heex:77 #: lib/claper_web/live/event_live/index.html.heex:77
#: lib/claper_web/live/event_live/manage.html.heex:383 #: lib/claper_web/live/event_live/manage.html.heex:377
#: lib/claper_web/templates/lti/registration/success.html.heex:26 #: lib/claper_web/templates/lti/registration/success.html.heex:26
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Finish" msgid "Finish"
msgstr "Finalizar" msgstr "Finalizar"
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms." msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms."
msgstr "Aquí encontrarás todas las interacciones de tus asistentes. Puedes gestionar mensajes, mensajes anclados y formularios enviados." msgstr "Aquí encontrarás todas las interacciones de tus asistentes. Puedes gestionar mensajes, mensajes anclados y formularios enviados."
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Identify users by their unique avatars." msgid "Identify users by their unique avatars."
msgstr "Identificar usuarios por sus avatares únicos." msgstr "Identificar usuarios por sus avatares únicos."
#: lib/claper_web/live/event_live/event_form_component.html.heex:4 #: lib/claper_web/live/event_live/event_form_component.html.heex:4
#: lib/claper_web/live/event_live/index.html.heex:75 #: lib/claper_web/live/event_live/index.html.heex:75
#: lib/claper_web/live/event_live/manage.html.heex:381 #: lib/claper_web/live/event_live/manage.html.heex:375
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Next" msgid "Next"
msgstr "Siguiente" msgstr "Siguiente"
@@ -1149,17 +1128,17 @@ msgstr "Siguiente"
msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit." msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit."
msgstr "Selecciona tu fichero de presentación. Los formatos aceptados son PDF, PPT, o PPTX. Asegúrate de que el tamaño del fichero no excede el límite máximo." msgstr "Selecciona tu fichero de presentación. Los formatos aceptados son PDF, PPT, o PPTX. Asegúrate de que el tamaño del fichero no excede el límite máximo."
#: lib/claper_web/live/event_live/manage.html.heex:494 #: lib/claper_web/live/event_live/manage.html.heex:488
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Time to launch your presentation!" msgid "Time to launch your presentation!"
msgstr "¡Es el momento de lanzar tu presentación!" msgstr "¡Es el momento de lanzar tu presentación!"
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use the associated keyboard shortcuts for quick toggling of these settings." msgid "Use the associated keyboard shortcuts for quick toggling of these settings."
msgstr "Usa los atajos de teclado asociados para conmutar estos ajustes." msgstr "Usa los atajos de teclado asociados para conmutar estos ajustes."
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room." msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room."
msgstr "Puedes controlar cada ajuste para la presentación (lo que se muestra en la pantalla grande) y en la sala de asistentes." msgstr "Puedes controlar cada ajuste para la presentación (lo que se muestra en la pantalla grande) y en la sala de asistentes."
@@ -1194,11 +1173,6 @@ msgstr "Fecha de inicio del evento"
msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here." msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here."
msgstr "Si no tienes tiempo y sólo quieres interactuar sin ningún fichero de presentación, puedes crear un evento nuevo aquí." msgstr "Si no tienes tiempo y sólo quieres interactuar sin ningún fichero de presentación, puedes crear un evento nuevo aquí."
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "If you have slides, you can navigate through the slides with ease using the arrow keys on your keyboard."
msgstr "Si tienes diapositivas, puedes navegar a través de ellas fácilmente usando las teclas de flecha de tu teclado."
#: lib/claper_web/live/event_live/event_form_component.html.heex:299 #: lib/claper_web/live/event_live/event_form_component.html.heex:299
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event." msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event."
@@ -1250,7 +1224,7 @@ msgstr "Ajustes de presentación"
msgid "Quick event" msgid "Quick event"
msgstr "Evento rápido" msgstr "Evento rápido"
#: lib/claper_web/live/event_live/index.ex:73 #: lib/claper_web/live/event_live/index.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Quick event created successfully" msgid "Quick event created successfully"
msgstr "Evento rápido creado con éxito" msgstr "Evento rápido creado con éxito"
@@ -1280,11 +1254,6 @@ msgstr "Este código será usado por tus asistentes para acceder al evento. Tien
msgid "This event has been terminated" msgid "This event has been terminated"
msgstr "Este evento ha sido terminado" msgstr "Este evento ha sido terminado"
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format, fuzzy
msgid "This section contains all your presentation slides (if you have upload one). You have the option to add interactions to each slide."
msgstr "Esta sección contiene todas las diapositivas de tu presentación (si has subido una). Tienes la opción de añadir interacciones a cada diapositiva."
#: lib/claper_web/live/event_live/index.html.heex:117 #: lib/claper_web/live/event_live/index.html.heex:117
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Welcome to Claper! You can create a new event here." msgid "Welcome to Claper! You can create a new event here."
@@ -1295,11 +1264,6 @@ msgstr "¡Bienvenido/a a Claper! Aquí puedes crear un nuevo evento."
msgid "When your event will start?" msgid "When your event will start?"
msgstr "¿Cuándo empezará tu evento?" msgstr "¿Cuándo empezará tu evento?"
#: lib/claper_web/live/event_live/manage.html.heex:659
#, elixir-autogen, elixir-format, fuzzy
msgid "Your slides and/or interactions"
msgstr "Tus diapositivas y/o interacciones"
#: lib/claper_web/live/event_live/show.html.heex:38 #: lib/claper_web/live/event_live/show.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create your next presentation with" msgid "Create your next presentation with"
@@ -1312,22 +1276,22 @@ msgstr "Crea tu siguiente presentación con"
msgid "Event doesn't exist" msgid "Event doesn't exist"
msgstr "El evento no existe" msgstr "El evento no existe"
#: lib/claper_web/live/user_settings_live/show.html.heex:140 #: lib/claper_web/live/user_settings_live/show.html.heex:244
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Customize your account" msgid "Customize your account"
msgstr "Personaliza tu cuenta" msgstr "Personaliza tu cuenta"
#: lib/claper_web/live/user_settings_live/show.html.heex:159 #: lib/claper_web/live/user_settings_live/show.html.heex:264
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "Idioma" msgstr "Idioma"
#: lib/claper_web/live/user_settings_live/show.html.heex:137 #: lib/claper_web/live/user_settings_live/show.html.heex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preferences" msgid "Preferences"
msgstr "Preferencias" msgstr "Preferencias"
#: lib/claper_web/live/user_settings_live/show.ex:119 #: lib/claper_web/live/user_settings_live/show.ex:180
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your preferences have been updated." msgid "Your preferences have been updated."
msgstr "Tus preferencias han sido actualizadas." msgstr "Tus preferencias han sido actualizadas."
@@ -1337,22 +1301,22 @@ msgstr "Tus preferencias han sido actualizadas."
msgid "Question" msgid "Question"
msgstr "Pregunta" msgstr "Pregunta"
#: lib/claper_web/live/event_live/manage.html.heex:1012 #: lib/claper_web/live/event_live/manage.html.heex:1124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions" msgid "Questions"
msgstr "Preguntas" msgstr "Preguntas"
#: lib/claper_web/live/event_live/manage.html.heex:1099 #: lib/claper_web/live/event_live/manage.html.heex:1211
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions will appear here." msgid "Questions will appear here."
msgstr "Las preguntas aparecerán aquí." msgstr "Las preguntas aparecerán aquí."
#: lib/claper_web/live/event_live/manage.html.heex:1141 #: lib/claper_web/live/event_live/manage.html.heex:1253
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by date" msgid "Sort by date"
msgstr "Ordenar por fecha" msgstr "Ordenar por fecha"
#: lib/claper_web/live/event_live/manage.html.heex:1120 #: lib/claper_web/live/event_live/manage.html.heex:1232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by popularity" msgid "Sort by popularity"
msgstr "Ordenar por popularidad" msgstr "Ordenar por popularidad"
@@ -1373,7 +1337,7 @@ msgstr "Documentación"
msgid "My account" msgid "My account"
msgstr "Mi cuenta" msgstr "Mi cuenta"
#: lib/claper_web/live/user_settings_live/show.html.heex:96 #: lib/claper_web/live/user_settings_live/show.html.heex:139
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Your personal informations to access your account" msgid "Your personal informations to access your account"
msgstr "Tus información personal para acceder a tu cuenta" msgstr "Tus información personal para acceder a tu cuenta"
@@ -1434,22 +1398,22 @@ msgid "Add Claper"
msgstr "Agregar Claper" msgstr "Agregar Claper"
#: lib/claper_web/live/event_live/manage.html.heex:94 #: lib/claper_web/live/event_live/manage.html.heex:94
#: lib/claper_web/live/event_live/manage.html.heex:487 #: lib/claper_web/live/event_live/manage.html.heex:481
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Close preview" msgid "Close preview"
msgstr "Cerrar vista previa" msgstr "Cerrar vista previa"
#: lib/claper_web/live/event_live/manage.html.heex:687 #: lib/claper_web/live/event_live/manage.html.heex:685
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Create your first interaction." msgid "Create your first interaction."
msgstr "Crea tu primera interacción." msgstr "Crea tu primera interacción."
#: lib/claper_web/live/event_live/manage.html.heex:875 #: lib/claper_web/live/event_live/manage.html.heex:1025
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Disable" msgid "Disable"
msgstr "Desactivar" msgstr "Desactivar"
#: lib/claper_web/live/event_live/manage.html.heex:957 #: lib/claper_web/live/event_live/manage.html.heex:1069
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "Activar" msgstr "Activar"
@@ -1459,18 +1423,13 @@ msgstr "Activar"
msgid "Enable messages to change this option" msgid "Enable messages to change this option"
msgstr "Activar mensajes para cambiar esta opción" msgstr "Activar mensajes para cambiar esta opción"
#: lib/claper_web/live/event_live/manage.html.heex:918 #: lib/claper_web/live/event_live/manage.html.heex:749
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Hide on presentation" msgid "Hide on presentation"
msgstr "Ocultar en la presentación" msgstr "Ocultar en la presentación"
#: lib/claper_web/live/event_live/manage.html.heex:933
#, elixir-autogen, elixir-format
msgid "Hide results for attendees"
msgstr "Ocultar resultados para los asistentes"
#: lib/claper_web/live/event_live/manage.html.heex:93 #: lib/claper_web/live/event_live/manage.html.heex:93
#: lib/claper_web/live/event_live/manage.html.heex:486 #: lib/claper_web/live/event_live/manage.html.heex:480
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open preview" msgid "Open preview"
msgstr "Abrir vista previa" msgstr "Abrir vista previa"
@@ -1485,17 +1444,137 @@ msgstr "Mostrar instrucciones (Código QR)"
msgid "Show messages to change this option" msgid "Show messages to change this option"
msgstr "Mostrar mensajes para cambiar esta opción" msgstr "Mostrar mensajes para cambiar esta opción"
#: lib/claper_web/live/event_live/manage.html.heex:921 #: lib/claper_web/live/event_live/manage.html.heex:752
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show on presentation" msgid "Show on presentation"
msgstr "Mostrar en la presentación" msgstr "Mostrar en la presentación"
#: lib/claper_web/live/event_live/manage.html.heex:936 #: lib/claper_web/live/event_live/manage.html.heex:682
#, elixir-autogen, elixir-format
msgid "Show results for attendees"
msgstr "Mostrar resultados para los asistentes"
#: lib/claper_web/live/event_live/manage.html.heex:684
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This slide does not have any interactions." msgid "This slide does not have any interactions."
msgstr "Esta diapositiva no tiene interacciones." msgstr "Esta diapositiva no tiene interacciones."
#: lib/claper_web/live/user_settings_live/show.html.heex:176
#, elixir-autogen, elixir-format
msgid "Accounts linked"
msgstr "Cuentas vinculadas"
#: lib/claper_web/live/user_settings_live/show.html.heex:208
#: lib/claper_web/live/user_settings_live/show.html.heex:226
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unlink this account?"
msgstr "¿Estás seguro de que quieres desvincular esta cuenta?"
#: lib/claper_web/templates/user_session/new.html.heex:74
#, elixir-autogen, elixir-format
msgid "Login with %{provider}"
msgstr "Iniciar sesión con %{provider}"
#: lib/claper_web/live/user_settings_live/show.ex:101
#: lib/claper_web/live/user_settings_live/show.ex:115
#, elixir-autogen, elixir-format
msgid "The account has been unlinked."
msgstr "La cuenta ha sido desvinculada."
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "This section contains all your interactions."
msgstr "Esta sección contiene todas tus interacciones."
#: lib/claper_web/live/user_settings_live/show.html.heex:211
#: lib/claper_web/live/user_settings_live/show.html.heex:229
#, elixir-autogen, elixir-format, fuzzy
msgid "Unlink"
msgstr "Desvincular"
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "You can add interactions to your presentation slides."
msgstr "Puedes añadir interacciones a tus diapositivas de presentación."
#: lib/claper_web/live/event_live/manage.html.heex:657
#, elixir-autogen, elixir-format
msgid "Your interactions"
msgstr "Tus interacciones"
#: lib/claper_web/live/user_settings_live/show.html.heex:119
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm password"
msgstr "Confirmar nueva contraseña"
#: lib/claper_web/live/user_settings_live/show.ex:68
#, elixir-autogen, elixir-format
msgid "Set a new password"
msgstr "Establecer una nueva contraseña"
#: lib/claper_web/live/user_settings_live/show.ex:71
#, elixir-autogen, elixir-format
msgid "Set a new password for your account before unlinking it."
msgstr "Establece una nueva contraseña para tu cuenta antes de desvincularla."
#: lib/claper_web/live/user_settings_live/show.ex:204
#, elixir-autogen, elixir-format
msgid "Your password has been set, you can now unlink your account."
msgstr "Tu contraseña ha sido establecida, ahora puedes desvincular tu cuenta."
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Iframe code"
msgstr "Código Iframe"
#: lib/claper_web/live/embed_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Link to the content"
msgstr "Enlace al contenido"
#: lib/claper/embeds/embed.ex:65
#: lib/claper/embeds/embed.ex:74
#: lib/claper/embeds/embed.ex:83
#, elixir-autogen, elixir-format
msgid "Please enter a valid %{provider} link"
msgstr "Por favor, introduce un enlace válido de %{provider}"
#: lib/claper/embeds/embed.ex:62
#: lib/claper/embeds/embed.ex:71
#: lib/claper/embeds/embed.ex:80
#, elixir-autogen, elixir-format
msgid "Please enter a valid link starting with http:// or https://"
msgstr "Por favor, introduce un enlace válido que comience con http:// o https://"
#: lib/claper/embeds/embed.ex:89
#, elixir-autogen, elixir-format
msgid "Please enter valid HTML content with an iframe tag"
msgstr "Por favor, introduce contenido HTML válido con una etiqueta iframe"
#: lib/claper_web/live/embed_live/form_component.html.heex:25
#, elixir-autogen, elixir-format
msgid "Provider"
msgstr "Proveedor"
#: lib/claper_web/live/poll_live/form_component.html.heex:89
#, elixir-autogen, elixir-format
msgid "Attendees can see the results on their device"
msgstr "Los asistentes pueden ver los resultados en su dispositivo"
#: lib/claper_web/live/embed_live/form_component.html.heex:56
#, elixir-autogen, elixir-format, fuzzy
msgid "Attendees can view the web content on their device"
msgstr "Los asistentes pueden ver el contenido web en su dispositivo"
#: lib/claper_web/live/embed_live/form_component.html.heex:49
#: lib/claper_web/live/poll_live/form_component.html.heex:82
#, elixir-autogen, elixir-format
msgid "Options"
msgstr "Opciones"
#: lib/claper_web/live/event_live/event_card_component.ex:186
#: lib/claper_web/live/event_live/event_card_component.ex:266
#: lib/claper_web/live/event_live/event_card_component.ex:355
#, elixir-autogen, elixir-format
msgid "Action"
msgstr "Acción"
#: lib/claper_web/live/event_live/event_card_component.ex:242
#, elixir-autogen, elixir-format
msgid "Duplicate"
msgstr "Duplicar"

View File

@@ -8,18 +8,18 @@ msgstr ""
"Language: fr\n" "Language: fr\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: lib/claper_web/live/event_live/manage.html.heex:1293 #: lib/claper_web/live/event_live/manage.html.heex:1405
#: lib/claper_web/live/user_settings_live/show.ex:55 #: lib/claper_web/live/user_settings_live/show.ex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Settings" msgid "Settings"
msgstr "Paramètres" msgstr "Paramètres"
#: lib/claper_web/live/event_live/manage.ex:746 #: lib/claper_web/live/event_live/manage.ex:727
#: 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:29 #: lib/claper_web/templates/user_registration/new.html.heex:29
#: lib/claper_web/templates/user_reset_password/new.html.heex:28 #: lib/claper_web/templates/user_reset_password/new.html.heex:28
#: lib/claper_web/templates/user_session/new.html.heex:41 #: lib/claper_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "Email" msgstr "Email"
@@ -36,8 +36,8 @@ msgstr "Rejoignez l'expérience Claper"
msgid "Oops, check that all fields are filled in correctly." msgid "Oops, check that all fields are filled in correctly."
msgstr "Oups, vérifiez que tous les champs sont remplis correctement." msgstr "Oups, vérifiez que tous les champs sont remplis correctement."
#: lib/claper_web/live/user_settings_live/show.html.heex:112 #: lib/claper_web/live/user_settings_live/show.html.heex:155
#: lib/claper_web/live/user_settings_live/show.html.heex:127 #: lib/claper_web/live/user_settings_live/show.html.heex:170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change" msgid "Change"
msgstr "Changer" msgstr "Changer"
@@ -47,7 +47,8 @@ msgstr "Changer"
msgid "Code" msgid "Code"
msgstr "Code" msgstr "Code"
#: lib/claper_web/live/user_settings_live/show.html.heex:103 #: lib/claper_web/live/user_settings_live/show.html.heex:146
#: lib/claper_web/templates/user_session/new.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email address" msgid "Email address"
msgstr "Adresse email" msgstr "Adresse email"
@@ -57,7 +58,7 @@ msgstr "Adresse email"
msgid "Logout" msgid "Logout"
msgstr "Déconnexion" msgstr "Déconnexion"
#: lib/claper_web/live/user_settings_live/show.html.heex:93 #: lib/claper_web/live/user_settings_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Personal informations" msgid "Personal informations"
msgstr "Informations personnelles" msgstr "Informations personnelles"
@@ -99,7 +100,7 @@ msgstr "Soyez le premier à réagir !"
msgid "Join" msgid "Join"
msgstr "Rejoindre" msgstr "Rejoindre"
#: lib/claper_web/live/event_live/index.ex:156 #: lib/claper_web/live/event_live/index.ex:180
#: lib/claper_web/live/event_live/join.html.heex:31 #: lib/claper_web/live/event_live/join.html.heex:31
#: lib/claper_web/live/event_live/join.html.heex:54 #: lib/claper_web/live/event_live/join.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -171,60 +172,61 @@ 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/event_card_component.ex:186 #: lib/claper_web/live/event_live/event_card_component.ex:224
#: lib/claper_web/live/event_live/event_card_component.ex:207 #: lib/claper_web/live/event_live/event_card_component.ex:304
#: lib/claper_web/live/event_live/form_component.ex:97 #: lib/claper_web/live/event_live/form_component.ex:97
#: lib/claper_web/live/event_live/index.ex:139 #: lib/claper_web/live/event_live/index.ex:161
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "Modifier" msgstr "Modifier"
#: lib/claper_web/live/embed_live/form_component.html.heex:51 #: lib/claper_web/live/embed_live/form_component.html.heex:69
#: 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/event_form_component.html.heex:32 #: lib/claper_web/live/event_live/event_form_component.html.heex:32
#: lib/claper_web/live/event_live/index.ex:146 #: lib/claper_web/live/event_live/index.ex:170
#: lib/claper_web/live/event_live/index.html.heex:64 #: lib/claper_web/live/event_live/index.html.heex:64
#: lib/claper_web/live/form_live/form_component.html.heex:98 #: lib/claper_web/live/form_live/form_component.html.heex:98
#: lib/claper_web/live/poll_live/form_component.html.heex:94 #: lib/claper_web/live/poll_live/form_component.html.heex:106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create" msgid "Create"
msgstr "Créer" msgstr "Créer"
#: lib/claper_web/live/embed_live/form_component.html.heex:56 #: lib/claper_web/live/embed_live/form_component.html.heex:74
#: lib/claper_web/live/event_live/event_card_component.ex:249 #: lib/claper_web/live/event_live/event_card_component.ex:400
#: lib/claper_web/live/event_live/event_form_component.html.heex:37 #: lib/claper_web/live/event_live/event_form_component.html.heex:37
#: lib/claper_web/live/event_live/manage.html.heex:1241 #: lib/claper_web/live/event_live/manage.html.heex:1353
#: lib/claper_web/live/event_live/manageable_post_component.ex:92 #: lib/claper_web/live/event_live/manageable_post_component.ex:92
#: lib/claper_web/live/event_live/post_component.ex:70 #: lib/claper_web/live/event_live/post_component.ex:70
#: lib/claper_web/live/event_live/post_component.ex:142 #: lib/claper_web/live/event_live/post_component.ex:142
#: lib/claper_web/live/form_live/form_component.html.heex:103 #: lib/claper_web/live/form_live/form_component.html.heex:103
#: lib/claper_web/live/poll_live/form_component.html.heex:99 #: lib/claper_web/live/poll_live/form_component.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
#: lib/claper_web/live/embed_live/form_component.html.heex:52 #: lib/claper_web/live/embed_live/form_component.html.heex:70
#: 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/event_live/event_form_component.html.heex:31 #: lib/claper_web/live/event_live/event_form_component.html.heex:31
#: lib/claper_web/live/form_live/form_component.html.heex:99 #: lib/claper_web/live/form_live/form_component.html.heex:99
#: lib/claper_web/live/poll_live/form_component.html.heex:95 #: lib/claper_web/live/poll_live/form_component.html.heex:107
#: lib/claper_web/live/user_settings_live/show.html.heex:38 #: lib/claper_web/live/user_settings_live/show.html.heex:38
#: lib/claper_web/live/user_settings_live/show.html.heex:80 #: lib/claper_web/live/user_settings_live/show.html.heex:80
#: lib/claper_web/live/user_settings_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "Sauvegarder" msgstr "Sauvegarder"
#: lib/claper_web/live/user_settings_live/show.ex:76 #: lib/claper_web/live/user_settings_live/show.ex:137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "Un lien pour confirmer votre changement d'email a été envoyé à la nouvelle adresse." msgstr "Un lien pour confirmer votre changement d'email a été envoyé à la nouvelle adresse."
#: lib/claper_web/live/user_settings_live/show.ex:40 #: lib/claper_web/live/user_settings_live/show.ex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the email address you want associated with your account." msgid "Change the email address you want associated with your account."
msgstr "Modifiez l'email que vous souhaitez associer à votre compte." msgstr "Modifiez l'email que vous souhaitez associer à votre compte."
#: lib/claper_web/live/user_settings_live/show.ex:37 #: lib/claper_web/live/user_settings_live/show.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your email" msgid "Update your email"
msgstr "Changer votre email" msgstr "Changer votre email"
@@ -306,12 +308,12 @@ msgstr "Chargez un fichier"
msgid "or drag and drop" msgid "or drag and drop"
msgstr "ou glisser-déposer" msgstr "ou glisser-déposer"
#: lib/claper_web/live/event_live/event_form_component.ex:308 #: lib/claper_web/live/event_live/event_form_component.ex:313
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have selected an incorrect file type" msgid "You have selected an incorrect file type"
msgstr "Vous avez sélectionné un type de fichier incorrect" msgstr "Vous avez sélectionné un type de fichier incorrect"
#: lib/claper_web/live/event_live/event_form_component.ex:307 #: lib/claper_web/live/event_live/event_form_component.ex:312
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your file is too large" msgid "Your file is too large"
msgstr "Votre fichier est trop volumineux" msgstr "Votre fichier est trop volumineux"
@@ -326,12 +328,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:280 #: lib/claper_web/live/event_live/manage.html.heex:274
#, 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:279 #: lib/claper_web/live/event_live/manage.html.heex:273
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New poll" msgid "New poll"
msgstr "Nouveau sondage" msgstr "Nouveau sondage"
@@ -341,7 +343,7 @@ msgstr "Nouveau sondage"
msgid "Title of your poll" msgid "Title of your poll"
msgstr "Titre de votre sondage" msgstr "Titre de votre sondage"
#: lib/claper_web/live/event_live/event_form_component.ex:309 #: lib/claper_web/live/event_live/event_form_component.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload failed" msgid "Upload failed"
msgstr "Échec du chargement" msgstr "Échec du chargement"
@@ -352,12 +354,12 @@ 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:165 #: lib/claper_web/live/event_live/manage.html.heex:165
#: lib/claper_web/live/event_live/manage.html.heex:730 #: lib/claper_web/live/event_live/manage.html.heex:779
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Poll" msgid "Poll"
msgstr "Sondage" msgstr "Sondage"
#: lib/claper_web/live/poll_live/form_component.html.heex:35 #: lib/claper_web/live/poll_live/form_component.html.heex:30
#, elixir-format, ex-autogen, elixir-autogen #, elixir-format, ex-autogen, elixir-autogen
msgid "Choice %{count}" msgid "Choice %{count}"
msgid_plural "Choice %{count}" msgid_plural "Choice %{count}"
@@ -392,22 +394,22 @@ msgstr "Adresse email"
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:1058 #: lib/claper_web/live/event_live/manage.html.heex:1170
#, 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/event_card_component.ex:218 #: lib/claper_web/live/event_live/event_card_component.ex:318
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Processing your file..." msgid "Processing your file..."
msgstr "Traitement de votre fichier..." msgstr "Traitement de votre fichier..."
#: lib/claper_web/live/poll_live/form_component.html.heex:106 #: lib/claper_web/live/poll_live/form_component.html.heex:118
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all responses associated and the poll itself, are you sure?" msgid "This will delete all responses associated and the poll itself, are you sure?"
msgstr "Cela supprimera toutes les réponses associées et le sondage lui-même, êtes-vous sûr ?" msgstr "Cela supprimera toutes les réponses associées et le sondage lui-même, êtes-vous sûr ?"
#: lib/claper_web/live/event_live/manage.html.heex:450 #: lib/claper_web/live/event_live/manage.html.heex:444
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
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"
@@ -417,7 +419,7 @@ msgstr "Appuyez sur <strong>F</strong> dans la fenêtre de présentation pour ac
msgid "Ask, comment..." msgid "Ask, comment..."
msgstr "Questionnez, commentez..." msgstr "Questionnez, commentez..."
#: lib/claper_web/live/event_live/manage.html.heex:1004 #: lib/claper_web/live/event_live/manage.html.heex:1116
#: lib/claper_web/live/stat_live/index.html.heex:71 #: lib/claper_web/live/stat_live/index.html.heex:71
#: lib/claper_web/live/stat_live/index.html.heex:271 #: lib/claper_web/live/stat_live/index.html.heex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -456,7 +458,7 @@ 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:703 #: lib/claper_web/live/event_live/manage.html.heex:701
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Add interaction" msgid "Add interaction"
msgstr "Ajouter une interaction" msgstr "Ajouter une interaction"
@@ -576,7 +578,7 @@ msgstr "Historique des interactions"
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é"
#: lib/claper_web/live/event_live/event_card_component.ex:255 #: lib/claper_web/live/event_live/event_card_component.ex:382
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all data related to your event, this cannot be undone. Confirm ?" msgid "This will delete all data related to your event, this cannot be undone. Confirm ?"
msgstr "Cette opération supprimera toutes les données relatives à votre événement, elle ne peut être annulée. Confirmer ?" msgstr "Cette opération supprimera toutes les données relatives à votre événement, elle ne peut être annulée. Confirmer ?"
@@ -599,7 +601,7 @@ msgstr "Pic d'audience"
msgid "Engagement rate" msgid "Engagement rate"
msgstr "Taux d'engagement" msgstr "Taux d'engagement"
#: lib/claper_web/live/event_live/event_card_component.ex:197 #: lib/claper_web/live/event_live/event_card_component.ex:256
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Error when processing the file" msgid "Error when processing the file"
msgstr "Erreur lors du traitement du fichier" msgstr "Erreur lors du traitement du fichier"
@@ -612,7 +614,7 @@ msgstr "A propos"
#: lib/claper_web/live/event_live/join.html.heex:38 #: lib/claper_web/live/event_live/join.html.heex:38
#: lib/claper_web/live/event_live/join.html.heex:61 #: lib/claper_web/live/event_live/join.html.heex:61
#: lib/claper_web/templates/user_session/new.html.heex:60 #: lib/claper_web/templates/user_session/new.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Login" msgid "Login"
msgstr "Connexion" msgstr "Connexion"
@@ -628,30 +630,21 @@ msgid "Or use the code:"
msgstr "Ou utilisez le code:" msgstr "Ou utilisez le code:"
#: lib/claper_web/templates/user_registration/new.html.heex:46 #: lib/claper_web/templates/user_registration/new.html.heex:46
#: lib/claper_web/templates/user_session/new.html.heex:71 #: lib/claper_web/templates/user_session/new.html.heex:84
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Create account" msgid "Create account"
msgstr "Créer un compte" msgstr "Créer un compte"
#: lib/claper_web/live/user_settings_live/show.html.heex:118 #: lib/claper_web/live/user_settings_live/show.html.heex:161
#: lib/claper_web/templates/user_registration/new.html.heex:37 #: lib/claper_web/templates/user_registration/new.html.heex:37
#: lib/claper_web/templates/user_reset_password/edit.html.heex:34 #: lib/claper_web/templates/user_reset_password/edit.html.heex:34
#: lib/claper_web/templates/user_session/new.html.heex:51 #: lib/claper_web/templates/user_session/new.html.heex:50
#: lib/claper_web/templates/user_session/new.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Password" msgid "Password"
msgstr "Mot de passe" msgstr "Mot de passe"
#: lib/claper_web/templates/user_session/new.html.heex:39 #: lib/claper_web/live/user_settings_live/show.ex:62
#, elixir-autogen, elixir-format, fuzzy
msgid "Your email address"
msgstr "Adresse email"
#: lib/claper_web/templates/user_session/new.html.heex:49
#, elixir-autogen, elixir-format
msgid "Your password"
msgstr "Votre mot de passe"
#: lib/claper_web/live/user_settings_live/show.ex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the password used to access your account." msgid "Change the password used to access your account."
msgstr "Changez le mot de passe utilisé pour accéder à votre compte." msgstr "Changez le mot de passe utilisé pour accéder à votre compte."
@@ -662,16 +655,17 @@ msgid "Current password"
msgstr "Mot de passe actuel" msgstr "Mot de passe actuel"
#: lib/claper_web/live/user_settings_live/show.html.heex:76 #: lib/claper_web/live/user_settings_live/show.html.heex:76
#: lib/claper_web/live/user_settings_live/show.html.heex:112
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "New password" msgid "New password"
msgstr "Nouveau mot de passe" msgstr "Nouveau mot de passe"
#: lib/claper_web/live/user_settings_live/show.ex:46 #: lib/claper_web/live/user_settings_live/show.ex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Update your password" msgid "Update your password"
msgstr "Changer votre email" msgstr "Changer votre email"
#: lib/claper_web/live/user_settings_live/show.ex:98 #: lib/claper_web/live/user_settings_live/show.ex:159
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Your password has been updated." msgid "Your password has been updated."
msgstr "Votre mot de passe a été mis à jour." msgstr "Votre mot de passe a été mis à jour."
@@ -684,7 +678,7 @@ msgstr[0] "Champ %{count}"
msgstr[1] "Champ %{count}" msgstr[1] "Champ %{count}"
msgstr[2] "Champ %{count}" msgstr[2] "Champ %{count}"
#: lib/claper_web/live/event_live/manage.html.heex:207 #: lib/claper_web/live/event_live/manage.html.heex:201
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add form to collect data from your public." msgid "Add form to collect data from your public."
msgstr "Ajoutez un formulaire pour recueillir les données de votre public." msgstr "Ajoutez un formulaire pour recueillir les données de votre public."
@@ -694,35 +688,35 @@ 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:301 #: lib/claper_web/live/event_live/manage.html.heex:295
#, 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:204 #: lib/claper_web/live/event_live/manage.html.heex:198
#: lib/claper_web/live/event_live/manage.html.heex:774 #: lib/claper_web/live/event_live/manage.html.heex:823
#: lib/claper_web/live/event_live/manage.html.heex:1253 #: lib/claper_web/live/event_live/manage.html.heex:1365
#: lib/claper_web/live/stat_live/index.html.heex:217 #: lib/claper_web/live/stat_live/index.html.heex:217
#, 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:1028 #: lib/claper_web/live/event_live/manage.html.heex:1140
#, 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:1226 #: lib/claper_web/live/event_live/manage.html.heex:1338
#, 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:745 #: lib/claper_web/live/event_live/manage.ex:726
#, 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:300 #: lib/claper_web/live/event_live/manage.html.heex:294
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New form" msgid "New form"
msgstr "Nouveau formulaire" msgstr "Nouveau formulaire"
@@ -747,7 +741,7 @@ msgstr "Soumettre"
msgid "Text" msgid "Text"
msgstr "Texte" msgstr "Texte"
#: lib/claper_web/live/event_live/manage.html.heex:1246 #: lib/claper_web/live/event_live/manage.html.heex:1358
#, 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 ?"
@@ -782,12 +776,12 @@ msgstr "Sélectionnez une option"
msgid "Select one or multiple options" msgid "Select one or multiple options"
msgstr "Sélectionner une ou plusieurs options" msgstr "Sélectionner une ou plusieurs options"
#: lib/claper_web/live/poll_live/form_component.html.heex:24 #: lib/claper_web/live/poll_live/form_component.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Multiple answers" msgid "Multiple answers"
msgstr "Réponses multiples" msgstr "Réponses multiples"
#: lib/claper_web/live/event_live/manage.html.heex:269 #: lib/claper_web/live/event_live/manage.html.heex:263
#, 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"
@@ -802,7 +796,7 @@ msgstr "Échec de l'importation d'interactions"
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:341 #: lib/claper_web/live/event_live/manage.html.heex:335
#, 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"
@@ -876,7 +870,7 @@ 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:238 #: lib/claper_web/live/event_live/manage.html.heex:232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add a Youtube video or any web content." msgid "Add a Youtube video or any web content."
msgstr "Ajoutez une vidéo Youtube ou tout autre contenu web." msgstr "Ajoutez une vidéo Youtube ou tout autre contenu web."
@@ -886,7 +880,7 @@ msgstr "Ajoutez une vidéo Youtube ou tout autre contenu web."
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe" msgstr "Confirmer le nouveau mot de passe"
#: lib/claper_web/templates/user_session/new.html.heex:66 #: lib/claper_web/templates/user_session/new.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "Mot de passe oublié ?" msgstr "Mot de passe oublié ?"
@@ -922,22 +916,17 @@ msgstr "Changer votre mot de passe"
msgid "Send link to reset password" msgid "Send link to reset password"
msgstr "Envoyer le lien pour réinitialiser le mot de passe" msgstr "Envoyer le lien pour réinitialiser le mot de passe"
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Attendee can view the web content on their device"
msgstr "Le participant peut voir le contenu web sur son appareil"
#: lib/claper_web/live/event_live/embed_component.ex:59 #: lib/claper_web/live/event_live/embed_component.ex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Current web content" msgid "Current web content"
msgstr "Contenu web actuel" msgstr "Contenu web actuel"
#: lib/claper_web/live/event_live/manage.html.heex:322 #: lib/claper_web/live/event_live/manage.html.heex:316
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit web content" msgid "Edit web content"
msgstr "Modifier le contenu web" msgstr "Modifier le contenu web"
#: lib/claper_web/live/event_live/manage.html.heex:321 #: lib/claper_web/live/event_live/manage.html.heex:315
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New web content" msgid "New web content"
msgstr "Nouveau contenu web" msgstr "Nouveau contenu web"
@@ -947,12 +936,7 @@ msgstr "Nouveau contenu web"
msgid "See current web content" msgid "See current web content"
msgstr "Voir le contenu web actuel" msgstr "Voir le contenu web actuel"
#: lib/claper_web/live/embed_live/form_component.html.heex:25 #: lib/claper_web/live/embed_live/form_component.html.heex:80
#, elixir-autogen, elixir-format
msgid "The iframe component"
msgstr "Le composant iframe"
#: lib/claper_web/live/embed_live/form_component.html.heex:62
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "This will delete the web content, are you sure?" msgid "This will delete the web content, are you sure?"
msgstr "Cela supprimera le contenu web, êtes-vous sûr?" msgstr "Cela supprimera le contenu web, êtes-vous sûr?"
@@ -962,18 +946,13 @@ msgstr "Cela supprimera le contenu web, êtes-vous sûr?"
msgid "Title" msgid "Title"
msgstr "Titre" msgstr "Titre"
#: lib/claper_web/live/event_live/manage.html.heex:236 #: lib/claper_web/live/event_live/manage.html.heex:230
#: lib/claper_web/live/event_live/manage.html.heex:817 #: lib/claper_web/live/event_live/manage.html.heex:867
#: lib/claper_web/live/stat_live/index.html.heex:259 #: lib/claper_web/live/stat_live/index.html.heex:259
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web content" msgid "Web content"
msgstr "Contenu web" msgstr "Contenu web"
#: lib/claper/embeds/embed.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Invalid embed format (should start with <iframe> and end with </iframe>)"
msgstr "Format d'intégration invalide (doit commencer par <iframe> et se terminer par </iframe>)"
#: lib/claper_web/live/event_live/manageable_post_component.ex:38 #: lib/claper_web/live/event_live/manageable_post_component.ex:38
#: lib/claper_web/live/event_live/manageable_post_component.ex:67 #: lib/claper_web/live/event_live/manageable_post_component.ex:67
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -986,12 +965,12 @@ msgstr "Épingler"
msgid "Pinned" msgid "Pinned"
msgstr "Épinglé" msgstr "Épinglé"
#: lib/claper_web/live/event_live/manage.html.heex:1020 #: lib/claper_web/live/event_live/manage.html.heex:1132
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Pinned messages" msgid "Pinned messages"
msgstr "Messages épinglés" msgstr "Messages épinglés"
#: lib/claper_web/live/event_live/manage.html.heex:1180 #: lib/claper_web/live/event_live/manage.html.heex:1292
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages will appear here." msgid "Pinned messages will appear here."
msgstr "Les messages épinglés apparaîtront ici." msgstr "Les messages épinglés apparaîtront ici."
@@ -1042,7 +1021,7 @@ msgstr "Enregistré"
msgid "Access" msgid "Access"
msgstr "Accès" msgstr "Accès"
#: lib/claper_web/live/user_settings_live/show.html.heex:180 #: lib/claper_web/live/user_settings_live/show.html.heex:285
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All your events and files will be permanently deleted, are you sure?" msgid "All your events and files will be permanently deleted, are you sure?"
msgstr "Tous vos événements et fichiers seront définitivement supprimés, êtes-vous sûr ?" msgstr "Tous vos événements et fichiers seront définitivement supprimés, êtes-vous sûr ?"
@@ -1057,22 +1036,22 @@ msgstr "Êtes-vous sûr de vouloir terminer cet événement ? Cette action est i
msgid "Attendees room" msgid "Attendees room"
msgstr "Salle des participants" msgstr "Salle des participants"
#: lib/claper_web/live/user_settings_live/show.html.heex:172 #: lib/claper_web/live/user_settings_live/show.html.heex:277
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Be careful, these actions are irreversible" msgid "Be careful, these actions are irreversible"
msgstr "Soyez prudent, ces actions sont irréversibles" msgstr "Soyez prudent, ces actions sont irréversibles"
#: lib/claper_web/live/user_settings_live/show.html.heex:169 #: lib/claper_web/live/user_settings_live/show.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Danger zone" msgid "Danger zone"
msgstr "Zone de danger" msgstr "Zone de danger"
#: lib/claper_web/live/user_settings_live/show.html.heex:185 #: lib/claper_web/live/user_settings_live/show.html.heex:290
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete account" msgid "Delete account"
msgstr "Supprimer le compte" msgstr "Supprimer le compte"
#: lib/claper_web/live/event_live/manage.html.heex:514 #: lib/claper_web/live/event_live/manage.html.heex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open presentation" msgid "Open presentation"
msgstr "Ouvrir la présentation" msgstr "Ouvrir la présentation"
@@ -1082,12 +1061,12 @@ msgstr "Ouvrir la présentation"
msgid "Terminate" msgid "Terminate"
msgstr "Terminer" msgstr "Terminer"
#: lib/claper_web/live/event_live/event_card_component.ex:244 #: lib/claper_web/live/event_live/event_card_component.ex:344
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View report" msgid "View report"
msgstr "Voir le rapport" msgstr "Voir le rapport"
#: lib/claper_web/live/user_settings_live/show.ex:137 #: lib/claper_web/live/user_settings_live/show.ex:219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your account has been deleted." msgid "Your account has been deleted."
msgstr "Votre compte a été supprimé." msgstr "Votre compte a été supprimé."
@@ -1102,19 +1081,19 @@ msgstr "Code d'accès"
msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly." msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly."
msgstr "Les animations dans les fichiers PPT/PPTX ne sont pas prises en charge, c'est pourquoi nous recommandons d'exporter votre présentation en PDF pour garantir un affichage correct." msgstr "Les animations dans les fichiers PPT/PPTX ne sont pas prises en charge, c'est pourquoi nous recommandons d'exporter votre présentation en PDF pour garantir un affichage correct."
#: lib/claper_web/live/event_live/manage.html.heex:992 #: lib/claper_web/live/event_live/manage.html.heex:1104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Attendees interactions" msgid "Attendees interactions"
msgstr "Interactions des participants" msgstr "Interactions des participants"
#: lib/claper_web/live/event_live/event_form_component.html.heex:5 #: lib/claper_web/live/event_live/event_form_component.html.heex:5
#: lib/claper_web/live/event_live/index.html.heex:76 #: lib/claper_web/live/event_live/index.html.heex:76
#: lib/claper_web/live/event_live/manage.html.heex:382 #: lib/claper_web/live/event_live/manage.html.heex:376
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Back" msgid "Back"
msgstr "Retour" msgstr "Retour"
#: lib/claper_web/live/event_live/manage.html.heex:496 #: lib/claper_web/live/event_live/manage.html.heex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click here to open the presentation window." msgid "Click here to open the presentation window."
msgstr "Cliquez ici pour ouvrir la fenêtre de présentation." msgstr "Cliquez ici pour ouvrir la fenêtre de présentation."
@@ -1126,25 +1105,25 @@ msgstr "Animateurs"
#: lib/claper_web/live/event_live/event_form_component.html.heex:6 #: lib/claper_web/live/event_live/event_form_component.html.heex:6
#: lib/claper_web/live/event_live/index.html.heex:77 #: lib/claper_web/live/event_live/index.html.heex:77
#: lib/claper_web/live/event_live/manage.html.heex:383 #: lib/claper_web/live/event_live/manage.html.heex:377
#: lib/claper_web/templates/lti/registration/success.html.heex:26 #: lib/claper_web/templates/lti/registration/success.html.heex:26
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Finish" msgid "Finish"
msgstr "Terminer" msgstr "Terminer"
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms." msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms."
msgstr "Ici, vous trouverez toutes les interactions de vos participants. Vous pouvez gérer les messages, les messages épinglés et les formulaires soumis." msgstr "Ici, vous trouverez toutes les interactions de vos participants. Vous pouvez gérer les messages, les messages épinglés et les formulaires soumis."
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Identify users by their unique avatars." msgid "Identify users by their unique avatars."
msgstr "Identifiez les utilisateurs par leurs avatars uniques." msgstr "Identifiez les utilisateurs par leurs avatars uniques."
#: lib/claper_web/live/event_live/event_form_component.html.heex:4 #: lib/claper_web/live/event_live/event_form_component.html.heex:4
#: lib/claper_web/live/event_live/index.html.heex:75 #: lib/claper_web/live/event_live/index.html.heex:75
#: lib/claper_web/live/event_live/manage.html.heex:381 #: lib/claper_web/live/event_live/manage.html.heex:375
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Next" msgid "Next"
msgstr "Suivant" msgstr "Suivant"
@@ -1154,17 +1133,17 @@ msgstr "Suivant"
msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit." msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit."
msgstr "Sélectionnez votre fichier de présentation. Les formats acceptés sont PDF, PPT ou PPTX. Assurez-vous que la taille du fichier ne dépasse pas la limite maximale." msgstr "Sélectionnez votre fichier de présentation. Les formats acceptés sont PDF, PPT ou PPTX. Assurez-vous que la taille du fichier ne dépasse pas la limite maximale."
#: lib/claper_web/live/event_live/manage.html.heex:494 #: lib/claper_web/live/event_live/manage.html.heex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Time to launch your presentation!" msgid "Time to launch your presentation!"
msgstr "Il est temps de lancer votre présentation !" msgstr "Il est temps de lancer votre présentation !"
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use the associated keyboard shortcuts for quick toggling of these settings." msgid "Use the associated keyboard shortcuts for quick toggling of these settings."
msgstr "Utilisez les raccourcis clavier associés pour basculer rapidement entre ces paramètres." msgstr "Utilisez les raccourcis clavier associés pour basculer rapidement entre ces paramètres."
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room." msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room."
msgstr "Vous pouvez contrôler chaque paramètre pour la présentation (affichage sur le grand écran) et dans la salle des participants." msgstr "Vous pouvez contrôler chaque paramètre pour la présentation (affichage sur le grand écran) et dans la salle des participants."
@@ -1199,11 +1178,6 @@ msgstr "Date de début de l'événement"
msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here." msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here."
msgstr "Si vous n'avez pas le temps et que vous voulez simplement des interactions sans fichier de présentation, vous pouvez créer un nouvel événement ici." msgstr "Si vous n'avez pas le temps et que vous voulez simplement des interactions sans fichier de présentation, vous pouvez créer un nouvel événement ici."
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "If you have slides, you can navigate through the slides with ease using the arrow keys on your keyboard."
msgstr "Si vous avez des diapositives, vous pouvez naviguer facilement entre les diapositives en utilisant les touches fléchées de votre clavier."
#: lib/claper_web/live/event_live/event_form_component.html.heex:299 #: lib/claper_web/live/event_live/event_form_component.html.heex:299
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event." msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event."
@@ -1255,7 +1229,7 @@ msgstr "Paramètres de présentation"
msgid "Quick event" msgid "Quick event"
msgstr "Événement rapide" msgstr "Événement rapide"
#: lib/claper_web/live/event_live/index.ex:73 #: lib/claper_web/live/event_live/index.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Quick event created successfully" msgid "Quick event created successfully"
msgstr "Événement rapide créé avec succès" msgstr "Événement rapide créé avec succès"
@@ -1285,11 +1259,6 @@ msgstr "Ce code sera utilisé par vos participants pour accéder à l'événemen
msgid "This event has been terminated" msgid "This event has been terminated"
msgstr "Cet événement viens d'être terminé" msgstr "Cet événement viens d'être terminé"
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "This section contains all your presentation slides (if you have upload one). You have the option to add interactions to each slide."
msgstr "Cette section contient toutes vos diapositives de présentation (si vous en avez téléchargé une). Vous avez la possibilité d'ajouter des interactions à chaque diapositive."
#: lib/claper_web/live/event_live/index.html.heex:117 #: lib/claper_web/live/event_live/index.html.heex:117
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Welcome to Claper! You can create a new event here." msgid "Welcome to Claper! You can create a new event here."
@@ -1300,11 +1269,6 @@ msgstr "Bienvenue sur Claper ! Vous pouvez créer un nouvel événement ici."
msgid "When your event will start?" msgid "When your event will start?"
msgstr "Quand votre événement commencera-t-il ?" msgstr "Quand votre événement commencera-t-il ?"
#: lib/claper_web/live/event_live/manage.html.heex:659
#, elixir-autogen, elixir-format
msgid "Your slides and/or interactions"
msgstr "Vos diapositives et/ou interactions"
#: lib/claper_web/live/event_live/show.html.heex:38 #: lib/claper_web/live/event_live/show.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create your next presentation with" msgid "Create your next presentation with"
@@ -1317,22 +1281,22 @@ msgstr "Créez votre prochaine présentation avec"
msgid "Event doesn't exist" msgid "Event doesn't exist"
msgstr "L'événement n'existe pas" msgstr "L'événement n'existe pas"
#: lib/claper_web/live/user_settings_live/show.html.heex:140 #: lib/claper_web/live/user_settings_live/show.html.heex:244
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Customize your account" msgid "Customize your account"
msgstr "Personnalisez votre compte" msgstr "Personnalisez votre compte"
#: lib/claper_web/live/user_settings_live/show.html.heex:159 #: lib/claper_web/live/user_settings_live/show.html.heex:264
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "Langue" msgstr "Langue"
#: lib/claper_web/live/user_settings_live/show.html.heex:137 #: lib/claper_web/live/user_settings_live/show.html.heex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preferences" msgid "Preferences"
msgstr "Préférences" msgstr "Préférences"
#: lib/claper_web/live/user_settings_live/show.ex:119 #: lib/claper_web/live/user_settings_live/show.ex:180
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your preferences have been updated." msgid "Your preferences have been updated."
msgstr "Vos préférences ont été mises à jour." msgstr "Vos préférences ont été mises à jour."
@@ -1342,22 +1306,22 @@ msgstr "Vos préférences ont été mises à jour."
msgid "Question" msgid "Question"
msgstr "Question" msgstr "Question"
#: lib/claper_web/live/event_live/manage.html.heex:1012 #: lib/claper_web/live/event_live/manage.html.heex:1124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions" msgid "Questions"
msgstr "Questions" msgstr "Questions"
#: lib/claper_web/live/event_live/manage.html.heex:1099 #: lib/claper_web/live/event_live/manage.html.heex:1211
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions will appear here." msgid "Questions will appear here."
msgstr "Les questions apparaîtront ici." msgstr "Les questions apparaîtront ici."
#: lib/claper_web/live/event_live/manage.html.heex:1141 #: lib/claper_web/live/event_live/manage.html.heex:1253
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by date" msgid "Sort by date"
msgstr "Trier par date" msgstr "Trier par date"
#: lib/claper_web/live/event_live/manage.html.heex:1120 #: lib/claper_web/live/event_live/manage.html.heex:1232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by popularity" msgid "Sort by popularity"
msgstr "Trier par popularité" msgstr "Trier par popularité"
@@ -1378,7 +1342,7 @@ msgstr "Documentation"
msgid "My account" msgid "My account"
msgstr "Mon compte" msgstr "Mon compte"
#: lib/claper_web/live/user_settings_live/show.html.heex:96 #: lib/claper_web/live/user_settings_live/show.html.heex:139
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Your personal informations to access your account" msgid "Your personal informations to access your account"
msgstr "Vos informations personnelles pour accéder à votre compte" msgstr "Vos informations personnelles pour accéder à votre compte"
@@ -1439,22 +1403,22 @@ msgid "Add Claper"
msgstr "Ajouter Claper" msgstr "Ajouter Claper"
#: lib/claper_web/live/event_live/manage.html.heex:94 #: lib/claper_web/live/event_live/manage.html.heex:94
#: lib/claper_web/live/event_live/manage.html.heex:487 #: lib/claper_web/live/event_live/manage.html.heex:481
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Close preview" msgid "Close preview"
msgstr "Fermer l'aperçu" msgstr "Fermer l'aperçu"
#: lib/claper_web/live/event_live/manage.html.heex:687 #: lib/claper_web/live/event_live/manage.html.heex:685
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Create your first interaction." msgid "Create your first interaction."
msgstr "Créez votre première interaction." msgstr "Créez votre première interaction."
#: lib/claper_web/live/event_live/manage.html.heex:875 #: lib/claper_web/live/event_live/manage.html.heex:1025
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Disable" msgid "Disable"
msgstr "Désactiver" msgstr "Désactiver"
#: lib/claper_web/live/event_live/manage.html.heex:957 #: lib/claper_web/live/event_live/manage.html.heex:1069
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "Activer" msgstr "Activer"
@@ -1464,18 +1428,13 @@ msgstr "Activer"
msgid "Enable messages to change this option" msgid "Enable messages to change this option"
msgstr "Activer les messages pour modifier cette option" msgstr "Activer les messages pour modifier cette option"
#: lib/claper_web/live/event_live/manage.html.heex:918 #: lib/claper_web/live/event_live/manage.html.heex:749
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Hide on presentation" msgid "Hide on presentation"
msgstr "Masquer dans la présentation" msgstr "Masquer dans la présentation"
#: lib/claper_web/live/event_live/manage.html.heex:933
#, elixir-autogen, elixir-format
msgid "Hide results for attendees"
msgstr "Masquer les résultats pour les participants"
#: lib/claper_web/live/event_live/manage.html.heex:93 #: lib/claper_web/live/event_live/manage.html.heex:93
#: lib/claper_web/live/event_live/manage.html.heex:486 #: lib/claper_web/live/event_live/manage.html.heex:480
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open preview" msgid "Open preview"
msgstr "Ouvrir l'aperçu" msgstr "Ouvrir l'aperçu"
@@ -1490,17 +1449,137 @@ msgstr "Afficher les instructions (Code QR)"
msgid "Show messages to change this option" msgid "Show messages to change this option"
msgstr "Afficher les messages pour modifier cette option" msgstr "Afficher les messages pour modifier cette option"
#: lib/claper_web/live/event_live/manage.html.heex:921 #: lib/claper_web/live/event_live/manage.html.heex:752
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show on presentation" msgid "Show on presentation"
msgstr "Afficher dans la présentation" msgstr "Afficher dans la présentation"
#: lib/claper_web/live/event_live/manage.html.heex:936 #: lib/claper_web/live/event_live/manage.html.heex:682
#, elixir-autogen, elixir-format
msgid "Show results for attendees"
msgstr "Afficher les résultats pour les participants"
#: lib/claper_web/live/event_live/manage.html.heex:684
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This slide does not have any interactions." msgid "This slide does not have any interactions."
msgstr "Cette diapositive n'a pas d'interactions." msgstr "Cette diapositive n'a pas d'interactions."
#: lib/claper_web/live/user_settings_live/show.html.heex:176
#, elixir-autogen, elixir-format
msgid "Accounts linked"
msgstr "Comptes liés"
#: lib/claper_web/live/user_settings_live/show.html.heex:208
#: lib/claper_web/live/user_settings_live/show.html.heex:226
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unlink this account?"
msgstr "Êtes-vous sûr de vouloir délier ce compte ?"
#: lib/claper_web/templates/user_session/new.html.heex:74
#, elixir-autogen, elixir-format
msgid "Login with %{provider}"
msgstr "Se connecter avec %{provider}"
#: lib/claper_web/live/user_settings_live/show.ex:101
#: lib/claper_web/live/user_settings_live/show.ex:115
#, elixir-autogen, elixir-format
msgid "The account has been unlinked."
msgstr "Le compte a été délié."
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "This section contains all your interactions."
msgstr "Cette section contient toutes vos interactions."
#: lib/claper_web/live/user_settings_live/show.html.heex:211
#: lib/claper_web/live/user_settings_live/show.html.heex:229
#, elixir-autogen, elixir-format, fuzzy
msgid "Unlink"
msgstr "Délier"
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "You can add interactions to your presentation slides."
msgstr "Vous pouvez ajouter des interactions à vos diapositives de présentation."
#: lib/claper_web/live/event_live/manage.html.heex:657
#, elixir-autogen, elixir-format
msgid "Your interactions"
msgstr "Vos interactions"
#: lib/claper_web/live/user_settings_live/show.html.heex:119
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm password"
msgstr "Confirmer le nouveau mot de passe"
#: lib/claper_web/live/user_settings_live/show.ex:68
#, elixir-autogen, elixir-format
msgid "Set a new password"
msgstr "Définir un nouveau mot de passe"
#: lib/claper_web/live/user_settings_live/show.ex:71
#, elixir-autogen, elixir-format
msgid "Set a new password for your account before unlinking it."
msgstr "Définissez un nouveau mot de passe pour votre compte avant de le délier."
#: lib/claper_web/live/user_settings_live/show.ex:204
#, elixir-autogen, elixir-format
msgid "Your password has been set, you can now unlink your account."
msgstr "Votre mot de passe a été défini, vous pouvez maintenant délier votre compte."
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Iframe code"
msgstr "Code Iframe"
#: lib/claper_web/live/embed_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Link to the content"
msgstr "Lien vers le contenu"
#: lib/claper/embeds/embed.ex:65
#: lib/claper/embeds/embed.ex:74
#: lib/claper/embeds/embed.ex:83
#, elixir-autogen, elixir-format
msgid "Please enter a valid %{provider} link"
msgstr "Veuillez entrer un lien %{provider} valide"
#: lib/claper/embeds/embed.ex:62
#: lib/claper/embeds/embed.ex:71
#: lib/claper/embeds/embed.ex:80
#, elixir-autogen, elixir-format
msgid "Please enter a valid link starting with http:// or https://"
msgstr "Veuillez entrer un lien valide commençant par http:// ou https://"
#: lib/claper/embeds/embed.ex:89
#, elixir-autogen, elixir-format
msgid "Please enter valid HTML content with an iframe tag"
msgstr "Veuillez entrer un contenu HTML valide avec une balise iframe"
#: lib/claper_web/live/embed_live/form_component.html.heex:25
#, elixir-autogen, elixir-format
msgid "Provider"
msgstr "Fournisseur"
#: lib/claper_web/live/poll_live/form_component.html.heex:89
#, elixir-autogen, elixir-format
msgid "Attendees can see the results on their device"
msgstr "Les participants peuvent voir les résultats sur leur appareil"
#: lib/claper_web/live/embed_live/form_component.html.heex:56
#, elixir-autogen, elixir-format, fuzzy
msgid "Attendees can view the web content on their device"
msgstr "Les participants peuvent voir le contenu web sur leur appareil"
#: lib/claper_web/live/embed_live/form_component.html.heex:49
#: lib/claper_web/live/poll_live/form_component.html.heex:82
#, elixir-autogen, elixir-format
msgid "Options"
msgstr "Options"
#: lib/claper_web/live/event_live/event_card_component.ex:186
#: lib/claper_web/live/event_live/event_card_component.ex:266
#: lib/claper_web/live/event_live/event_card_component.ex:355
#, elixir-autogen, elixir-format
msgid "Action"
msgstr "Action"
#: lib/claper_web/live/event_live/event_card_component.ex:242
#, elixir-autogen, elixir-format
msgid "Duplicate"
msgstr "Dupliquer"

View File

@@ -8,18 +8,18 @@ msgstr ""
"Language: nl\n" "Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/claper_web/live/event_live/manage.html.heex:1293 #: lib/claper_web/live/event_live/manage.html.heex:1405
#: lib/claper_web/live/user_settings_live/show.ex:55 #: lib/claper_web/live/user_settings_live/show.ex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Settings" msgid "Settings"
msgstr "Instellingen" msgstr "Instellingen"
#: lib/claper_web/live/event_live/manage.ex:746 #: lib/claper_web/live/event_live/manage.ex:727
#: 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:29 #: lib/claper_web/templates/user_registration/new.html.heex:29
#: lib/claper_web/templates/user_reset_password/new.html.heex:28 #: lib/claper_web/templates/user_reset_password/new.html.heex:28
#: lib/claper_web/templates/user_session/new.html.heex:41 #: lib/claper_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "E-mail" msgstr "E-mail"
@@ -36,8 +36,8 @@ msgstr "Doe mee met de Claper-ervaring"
msgid "Oops, check that all fields are filled in correctly." msgid "Oops, check that all fields are filled in correctly."
msgstr "Oeps, controleer of alle velden correct zijn ingevuld." msgstr "Oeps, controleer of alle velden correct zijn ingevuld."
#: lib/claper_web/live/user_settings_live/show.html.heex:112 #: lib/claper_web/live/user_settings_live/show.html.heex:155
#: lib/claper_web/live/user_settings_live/show.html.heex:127 #: lib/claper_web/live/user_settings_live/show.html.heex:170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change" msgid "Change"
msgstr "Aanpassen" msgstr "Aanpassen"
@@ -47,7 +47,8 @@ msgstr "Aanpassen"
msgid "Code" msgid "Code"
msgstr "Code" msgstr "Code"
#: lib/claper_web/live/user_settings_live/show.html.heex:103 #: lib/claper_web/live/user_settings_live/show.html.heex:146
#: lib/claper_web/templates/user_session/new.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email address" msgid "Email address"
msgstr "E-mailadres" msgstr "E-mailadres"
@@ -57,7 +58,7 @@ msgstr "E-mailadres"
msgid "Logout" msgid "Logout"
msgstr "Uitloggen" msgstr "Uitloggen"
#: lib/claper_web/live/user_settings_live/show.html.heex:93 #: lib/claper_web/live/user_settings_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Personal informations" msgid "Personal informations"
msgstr "Persoonlijke informatie" msgstr "Persoonlijke informatie"
@@ -99,7 +100,7 @@ msgstr "Wees de eerste die reageert!"
msgid "Join" msgid "Join"
msgstr "Meedoen" msgstr "Meedoen"
#: lib/claper_web/live/event_live/index.ex:156 #: lib/claper_web/live/event_live/index.ex:180
#: lib/claper_web/live/event_live/join.html.heex:31 #: lib/claper_web/live/event_live/join.html.heex:31
#: lib/claper_web/live/event_live/join.html.heex:54 #: lib/claper_web/live/event_live/join.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -171,60 +172,61 @@ msgstr "Terug"
msgid "Created successfully" msgid "Created successfully"
msgstr "Succesvol aangemaakt" msgstr "Succesvol aangemaakt"
#: lib/claper_web/live/event_live/event_card_component.ex:186 #: lib/claper_web/live/event_live/event_card_component.ex:224
#: lib/claper_web/live/event_live/event_card_component.ex:207 #: lib/claper_web/live/event_live/event_card_component.ex:304
#: lib/claper_web/live/event_live/form_component.ex:97 #: lib/claper_web/live/event_live/form_component.ex:97
#: lib/claper_web/live/event_live/index.ex:139 #: lib/claper_web/live/event_live/index.ex:161
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "Bewerken" msgstr "Bewerken"
#: lib/claper_web/live/embed_live/form_component.html.heex:51 #: lib/claper_web/live/embed_live/form_component.html.heex:69
#: 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/event_form_component.html.heex:32 #: lib/claper_web/live/event_live/event_form_component.html.heex:32
#: lib/claper_web/live/event_live/index.ex:146 #: lib/claper_web/live/event_live/index.ex:170
#: lib/claper_web/live/event_live/index.html.heex:64 #: lib/claper_web/live/event_live/index.html.heex:64
#: lib/claper_web/live/form_live/form_component.html.heex:98 #: lib/claper_web/live/form_live/form_component.html.heex:98
#: lib/claper_web/live/poll_live/form_component.html.heex:94 #: lib/claper_web/live/poll_live/form_component.html.heex:106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create" msgid "Create"
msgstr "Aanmaken" msgstr "Aanmaken"
#: lib/claper_web/live/embed_live/form_component.html.heex:56 #: lib/claper_web/live/embed_live/form_component.html.heex:74
#: lib/claper_web/live/event_live/event_card_component.ex:249 #: lib/claper_web/live/event_live/event_card_component.ex:400
#: lib/claper_web/live/event_live/event_form_component.html.heex:37 #: lib/claper_web/live/event_live/event_form_component.html.heex:37
#: lib/claper_web/live/event_live/manage.html.heex:1241 #: lib/claper_web/live/event_live/manage.html.heex:1353
#: lib/claper_web/live/event_live/manageable_post_component.ex:92 #: lib/claper_web/live/event_live/manageable_post_component.ex:92
#: lib/claper_web/live/event_live/post_component.ex:70 #: lib/claper_web/live/event_live/post_component.ex:70
#: lib/claper_web/live/event_live/post_component.ex:142 #: lib/claper_web/live/event_live/post_component.ex:142
#: lib/claper_web/live/form_live/form_component.html.heex:103 #: lib/claper_web/live/form_live/form_component.html.heex:103
#: lib/claper_web/live/poll_live/form_component.html.heex:99 #: lib/claper_web/live/poll_live/form_component.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Verwijderen" msgstr "Verwijderen"
#: lib/claper_web/live/embed_live/form_component.html.heex:52 #: lib/claper_web/live/embed_live/form_component.html.heex:70
#: 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/event_live/event_form_component.html.heex:31 #: lib/claper_web/live/event_live/event_form_component.html.heex:31
#: lib/claper_web/live/form_live/form_component.html.heex:99 #: lib/claper_web/live/form_live/form_component.html.heex:99
#: lib/claper_web/live/poll_live/form_component.html.heex:95 #: lib/claper_web/live/poll_live/form_component.html.heex:107
#: lib/claper_web/live/user_settings_live/show.html.heex:38 #: lib/claper_web/live/user_settings_live/show.html.heex:38
#: lib/claper_web/live/user_settings_live/show.html.heex:80 #: lib/claper_web/live/user_settings_live/show.html.heex:80
#: lib/claper_web/live/user_settings_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "Opslaan" msgstr "Opslaan"
#: lib/claper_web/live/user_settings_live/show.ex:76 #: lib/claper_web/live/user_settings_live/show.ex:137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "Er is een link naar het nieuwe adres verzonden om de e-mailwijziging te bevestigen." msgstr "Er is een link naar het nieuwe adres verzonden om de e-mailwijziging te bevestigen."
#: lib/claper_web/live/user_settings_live/show.ex:40 #: lib/claper_web/live/user_settings_live/show.ex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the email address you want associated with your account." msgid "Change the email address you want associated with your account."
msgstr "Wijzig het e-mailadres dat je aan jouw account wil koppelen." msgstr "Wijzig het e-mailadres dat je aan jouw account wil koppelen."
#: lib/claper_web/live/user_settings_live/show.ex:37 #: lib/claper_web/live/user_settings_live/show.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your email" msgid "Update your email"
msgstr "Werk uw e-mailadres bij" msgstr "Werk uw e-mailadres bij"
@@ -306,12 +308,12 @@ msgstr "Een bestand uploaden"
msgid "or drag and drop" msgid "or drag and drop"
msgstr "of slepen en neerzetten" msgstr "of slepen en neerzetten"
#: lib/claper_web/live/event_live/event_form_component.ex:308 #: lib/claper_web/live/event_live/event_form_component.ex:313
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have selected an incorrect file type" msgid "You have selected an incorrect file type"
msgstr "Je hebt een onjuist bestandstype geselecteerd" msgstr "Je hebt een onjuist bestandstype geselecteerd"
#: lib/claper_web/live/event_live/event_form_component.ex:307 #: lib/claper_web/live/event_live/event_form_component.ex:312
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your file is too large" msgid "Your file is too large"
msgstr "Het bestand is te groot" msgstr "Het bestand is te groot"
@@ -326,12 +328,12 @@ msgstr "Bestand aanpassen"
msgid "Presentation replaced" msgid "Presentation replaced"
msgstr "Presentatie vervangen" msgstr "Presentatie vervangen"
#: lib/claper_web/live/event_live/manage.html.heex:280 #: lib/claper_web/live/event_live/manage.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit poll" msgid "Edit poll"
msgstr "Peiling bewerken" msgstr "Peiling bewerken"
#: lib/claper_web/live/event_live/manage.html.heex:279 #: lib/claper_web/live/event_live/manage.html.heex:273
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New poll" msgid "New poll"
msgstr "Nieuwe peiling" msgstr "Nieuwe peiling"
@@ -341,7 +343,7 @@ msgstr "Nieuwe peiling"
msgid "Title of your poll" msgid "Title of your poll"
msgstr "Titel van de peiling" msgstr "Titel van de peiling"
#: lib/claper_web/live/event_live/event_form_component.ex:309 #: lib/claper_web/live/event_live/event_form_component.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload failed" msgid "Upload failed"
msgstr "Uploaden mislukt" msgstr "Uploaden mislukt"
@@ -352,12 +354,12 @@ msgid "Add poll to know opinion of your public."
msgstr "Voeg een peiling toe om achter de mening van het publiek te komen." msgstr "Voeg een peiling toe om achter de mening van het publiek te komen."
#: lib/claper_web/live/event_live/manage.html.heex:165 #: lib/claper_web/live/event_live/manage.html.heex:165
#: lib/claper_web/live/event_live/manage.html.heex:730 #: lib/claper_web/live/event_live/manage.html.heex:779
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Poll" msgid "Poll"
msgstr "Peiling" msgstr "Peiling"
#: lib/claper_web/live/poll_live/form_component.html.heex:35 #: lib/claper_web/live/poll_live/form_component.html.heex:30
#, elixir-format, ex-autogen, elixir-autogen #, elixir-format, ex-autogen, elixir-autogen
msgid "Choice %{count}" msgid "Choice %{count}"
msgid_plural "Choice %{count}" msgid_plural "Choice %{count}"
@@ -391,22 +393,22 @@ msgstr "E-mailadres van gebruiker"
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 "Als je het bestand wijzigt, worden alle bijbehorende interactie-elementen, zoals peilingen, verwijderd." msgstr "Als je het bestand wijzigt, worden alle bijbehorende interactie-elementen, zoals peilingen, verwijderd."
#: lib/claper_web/live/event_live/manage.html.heex:1058 #: lib/claper_web/live/event_live/manage.html.heex:1170
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Messages from attendees will appear here." msgid "Messages from attendees will appear here."
msgstr "Hier verschijnen berichten van deelnemers." msgstr "Hier verschijnen berichten van deelnemers."
#: lib/claper_web/live/event_live/event_card_component.ex:218 #: lib/claper_web/live/event_live/event_card_component.ex:318
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Processing your file..." msgid "Processing your file..."
msgstr "Bestand verwerken..." msgstr "Bestand verwerken..."
#: lib/claper_web/live/poll_live/form_component.html.heex:106 #: lib/claper_web/live/poll_live/form_component.html.heex:118
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all responses associated and the poll itself, are you sure?" msgid "This will delete all responses associated and the poll itself, are you sure?"
msgstr "Hierdoor worden alle bijbehorende reacties en de peiling verwijderd. Weet je het zeker?" msgstr "Hierdoor worden alle bijbehorende reacties en de peiling verwijderd. Weet je het zeker?"
#: lib/claper_web/live/event_live/manage.html.heex:450 #: lib/claper_web/live/event_live/manage.html.heex:444
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
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 "Druk op <strong>F</strong> in het presentatievenster om volledig scherm in te schakelen" msgstr "Druk op <strong>F</strong> in het presentatievenster om volledig scherm in te schakelen"
@@ -416,7 +418,7 @@ msgstr "Druk op <strong>F</strong> in het presentatievenster om volledig scherm
msgid "Ask, comment..." msgid "Ask, comment..."
msgstr "Vraag, reageer..." msgstr "Vraag, reageer..."
#: lib/claper_web/live/event_live/manage.html.heex:1004 #: lib/claper_web/live/event_live/manage.html.heex:1116
#: lib/claper_web/live/stat_live/index.html.heex:71 #: lib/claper_web/live/stat_live/index.html.heex:71
#: lib/claper_web/live/stat_live/index.html.heex:271 #: lib/claper_web/live/stat_live/index.html.heex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -455,7 +457,7 @@ msgstr "Als je problemen ondervindt met de bovenstaande knop, kopieer en plak da
msgid "You can change your email by visiting the URL below" msgid "You can change your email by visiting the URL below"
msgstr "Je kunt het e-mailadres wijzigen door naar de onderstaande URL te gaan" msgstr "Je kunt het e-mailadres wijzigen door naar de onderstaande URL te gaan"
#: lib/claper_web/live/event_live/manage.html.heex:703 #: lib/claper_web/live/event_live/manage.html.heex:701
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add interaction" msgid "Add interaction"
msgstr "Voeg interactie toe" msgstr "Voeg interactie toe"
@@ -573,7 +575,7 @@ msgstr "Interactie geschiedenis"
msgid "No messages has been sent" msgid "No messages has been sent"
msgstr "Er zijn geen berichten verzonden" msgstr "Er zijn geen berichten verzonden"
#: lib/claper_web/live/event_live/event_card_component.ex:255 #: lib/claper_web/live/event_live/event_card_component.ex:382
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete all data related to your event, this cannot be undone. Confirm ?" msgid "This will delete all data related to your event, this cannot be undone. Confirm ?"
msgstr "Hiermee worden alle gegevens met betrekking tot het evenement verwijderd. Dit kan niet ongedaan worden gemaakt. Bevestigen ?" msgstr "Hiermee worden alle gegevens met betrekking tot het evenement verwijderd. Dit kan niet ongedaan worden gemaakt. Bevestigen ?"
@@ -595,7 +597,7 @@ msgstr "Publiekspiek"
msgid "Engagement rate" msgid "Engagement rate"
msgstr "Betrokkenheidspercentage" msgstr "Betrokkenheidspercentage"
#: lib/claper_web/live/event_live/event_card_component.ex:197 #: lib/claper_web/live/event_live/event_card_component.ex:256
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Error when processing the file" msgid "Error when processing the file"
msgstr "Fout bij het verwerken van het bestand" msgstr "Fout bij het verwerken van het bestand"
@@ -608,7 +610,7 @@ msgstr "Over"
#: lib/claper_web/live/event_live/join.html.heex:38 #: lib/claper_web/live/event_live/join.html.heex:38
#: lib/claper_web/live/event_live/join.html.heex:61 #: lib/claper_web/live/event_live/join.html.heex:61
#: lib/claper_web/templates/user_session/new.html.heex:60 #: lib/claper_web/templates/user_session/new.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Login" msgid "Login"
msgstr "Inloggen" msgstr "Inloggen"
@@ -624,30 +626,21 @@ msgid "Or use the code:"
msgstr "Of gebruik de code:" msgstr "Of gebruik de code:"
#: lib/claper_web/templates/user_registration/new.html.heex:46 #: lib/claper_web/templates/user_registration/new.html.heex:46
#: lib/claper_web/templates/user_session/new.html.heex:71 #: lib/claper_web/templates/user_session/new.html.heex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create account" msgid "Create account"
msgstr "Account aanmaken" msgstr "Account aanmaken"
#: lib/claper_web/live/user_settings_live/show.html.heex:118 #: lib/claper_web/live/user_settings_live/show.html.heex:161
#: lib/claper_web/templates/user_registration/new.html.heex:37 #: lib/claper_web/templates/user_registration/new.html.heex:37
#: lib/claper_web/templates/user_reset_password/edit.html.heex:34 #: lib/claper_web/templates/user_reset_password/edit.html.heex:34
#: lib/claper_web/templates/user_session/new.html.heex:51 #: lib/claper_web/templates/user_session/new.html.heex:50
#: lib/claper_web/templates/user_session/new.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Password" msgid "Password"
msgstr "Wachtwoord" msgstr "Wachtwoord"
#: lib/claper_web/templates/user_session/new.html.heex:39 #: lib/claper_web/live/user_settings_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Your email address"
msgstr "Jouw e-mailadres"
#: lib/claper_web/templates/user_session/new.html.heex:49
#, elixir-autogen, elixir-format
msgid "Your password"
msgstr "Jouw wachtwoord"
#: lib/claper_web/live/user_settings_live/show.ex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change the password used to access your account." msgid "Change the password used to access your account."
msgstr "Wijzig het wachtwoord dat wordt gebruikt om toegang te krijgen tot jouw account." msgstr "Wijzig het wachtwoord dat wordt gebruikt om toegang te krijgen tot jouw account."
@@ -658,16 +651,17 @@ msgid "Current password"
msgstr "Huidig wachtwoord" msgstr "Huidig wachtwoord"
#: lib/claper_web/live/user_settings_live/show.html.heex:76 #: lib/claper_web/live/user_settings_live/show.html.heex:76
#: lib/claper_web/live/user_settings_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New password" msgid "New password"
msgstr "Nieuw wachtwoord" msgstr "Nieuw wachtwoord"
#: lib/claper_web/live/user_settings_live/show.ex:46 #: lib/claper_web/live/user_settings_live/show.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Update your password" msgid "Update your password"
msgstr "Update jouw wachtwoord" msgstr "Update jouw wachtwoord"
#: lib/claper_web/live/user_settings_live/show.ex:98 #: lib/claper_web/live/user_settings_live/show.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has been updated." msgid "Your password has been updated."
msgstr "Het wachtwoord is bijgewerkt." msgstr "Het wachtwoord is bijgewerkt."
@@ -679,7 +673,7 @@ msgid_plural "Field %{count}"
msgstr[0] "Veld %{count}" msgstr[0] "Veld %{count}"
msgstr[1] "Velden %{count}" msgstr[1] "Velden %{count}"
#: lib/claper_web/live/event_live/manage.html.heex:207 #: lib/claper_web/live/event_live/manage.html.heex:201
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add form to collect data from your public." msgid "Add form to collect data from your public."
msgstr "Voeg een formulier toe om gegevens van het publiek te verzamelen." msgstr "Voeg een formulier toe om gegevens van het publiek te verzamelen."
@@ -689,35 +683,35 @@ msgstr "Voeg een formulier toe om gegevens van het publiek te verzamelen."
msgid "Current form" msgid "Current form"
msgstr "Huidig formulier" msgstr "Huidig formulier"
#: lib/claper_web/live/event_live/manage.html.heex:301 #: lib/claper_web/live/event_live/manage.html.heex:295
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit form" msgid "Edit form"
msgstr "Formulier bewerken" msgstr "Formulier bewerken"
#: lib/claper_web/live/event_live/manage.html.heex:204 #: lib/claper_web/live/event_live/manage.html.heex:198
#: lib/claper_web/live/event_live/manage.html.heex:774 #: lib/claper_web/live/event_live/manage.html.heex:823
#: lib/claper_web/live/event_live/manage.html.heex:1253 #: lib/claper_web/live/event_live/manage.html.heex:1365
#: lib/claper_web/live/stat_live/index.html.heex:217 #: lib/claper_web/live/stat_live/index.html.heex:217
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Form" msgid "Form"
msgstr "Formulier" msgstr "Formulier"
#: lib/claper_web/live/event_live/manage.html.heex:1028 #: lib/claper_web/live/event_live/manage.html.heex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Form submissions" msgid "Form submissions"
msgstr "Formulierinzendingen" msgstr "Formulierinzendingen"
#: lib/claper_web/live/event_live/manage.html.heex:1226 #: lib/claper_web/live/event_live/manage.html.heex:1338
#, 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 "Formulierinzendingen van deelnemers worden hier weergegeven." msgstr "Formulierinzendingen van deelnemers worden hier weergegeven."
#: lib/claper_web/live/event_live/manage.ex:745 #: lib/claper_web/live/event_live/manage.ex:726
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Name" msgid "Name"
msgstr "Naam" msgstr "Naam"
#: lib/claper_web/live/event_live/manage.html.heex:300 #: lib/claper_web/live/event_live/manage.html.heex:294
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New form" msgid "New form"
msgstr "Nieuw formulier" msgstr "Nieuw formulier"
@@ -742,7 +736,7 @@ msgstr "Indienen"
msgid "Text" msgid "Text"
msgstr "Tekst" msgstr "Tekst"
#: lib/claper_web/live/event_live/manage.html.heex:1246 #: lib/claper_web/live/event_live/manage.html.heex:1358
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This cannot be undone, confirm ?" msgid "This cannot be undone, confirm ?"
msgstr "Dit kan niet ongedaan worden gemaakt. Bevestigen ?" msgstr "Dit kan niet ongedaan worden gemaakt. Bevestigen ?"
@@ -777,12 +771,12 @@ msgstr "Selecteer een optie"
msgid "Select one or multiple options" msgid "Select one or multiple options"
msgstr "Selecteer een of meerdere opties" msgstr "Selecteer een of meerdere opties"
#: lib/claper_web/live/poll_live/form_component.html.heex:24 #: lib/claper_web/live/poll_live/form_component.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Multiple answers" msgid "Multiple answers"
msgstr "Meerdere antwoorden" msgstr "Meerdere antwoorden"
#: lib/claper_web/live/event_live/manage.html.heex:269 #: lib/claper_web/live/event_live/manage.html.heex:263
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Import all interactions from another presentation" msgid "Import all interactions from another presentation"
msgstr "Importeer alle interacties uit een andere presentatie" msgstr "Importeer alle interacties uit een andere presentatie"
@@ -797,7 +791,7 @@ msgstr "Importeren van interacties is mislukt"
msgid "Interactions imported successfully" msgid "Interactions imported successfully"
msgstr "Interacties zijn succesvol geimporteerd" msgstr "Interacties zijn succesvol geimporteerd"
#: lib/claper_web/live/event_live/manage.html.heex:341 #: lib/claper_web/live/event_live/manage.html.heex:335
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select presentation" msgid "Select presentation"
msgstr "Presentatie selecteren" msgstr "Presentatie selecteren"
@@ -871,7 +865,7 @@ msgstr "uitgeschakeld"
msgid "Account creation is disabled" msgid "Account creation is disabled"
msgstr "Het aanmaken van een account is uitgeschakeld" msgstr "Het aanmaken van een account is uitgeschakeld"
#: lib/claper_web/live/event_live/manage.html.heex:238 #: lib/claper_web/live/event_live/manage.html.heex:232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Add a Youtube video or any web content." msgid "Add a Youtube video or any web content."
msgstr "Voeg een YouTube-video of andere webinhoud toe." msgstr "Voeg een YouTube-video of andere webinhoud toe."
@@ -881,7 +875,7 @@ msgstr "Voeg een YouTube-video of andere webinhoud toe."
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Bevestig nieuw wachtwoord" msgstr "Bevestig nieuw wachtwoord"
#: lib/claper_web/templates/user_session/new.html.heex:66 #: lib/claper_web/templates/user_session/new.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?" msgstr "Wachtwoord vergeten?"
@@ -917,22 +911,17 @@ msgstr "Stel je wachtwoord opnieuw in"
msgid "Send link to reset password" msgid "Send link to reset password"
msgstr "Link verzenden om wachtwoord opnieuw in te stellen" msgstr "Link verzenden om wachtwoord opnieuw in te stellen"
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Attendee can view the web content on their device"
msgstr "Deelnemers kunnen de webinhoud op hun apparaat bekijken"
#: lib/claper_web/live/event_live/embed_component.ex:59 #: lib/claper_web/live/event_live/embed_component.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Current web content" msgid "Current web content"
msgstr "Huidige webinhoud" msgstr "Huidige webinhoud"
#: lib/claper_web/live/event_live/manage.html.heex:322 #: lib/claper_web/live/event_live/manage.html.heex:316
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit web content" msgid "Edit web content"
msgstr "Webinhoud bewerken" msgstr "Webinhoud bewerken"
#: lib/claper_web/live/event_live/manage.html.heex:321 #: lib/claper_web/live/event_live/manage.html.heex:315
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New web content" msgid "New web content"
msgstr "Nieuwe webinhoud" msgstr "Nieuwe webinhoud"
@@ -942,12 +931,7 @@ msgstr "Nieuwe webinhoud"
msgid "See current web content" msgid "See current web content"
msgstr "Bekijk de huidige webinhoud" msgstr "Bekijk de huidige webinhoud"
#: lib/claper_web/live/embed_live/form_component.html.heex:25 #: lib/claper_web/live/embed_live/form_component.html.heex:80
#, elixir-autogen, elixir-format
msgid "The iframe component"
msgstr "Het iframe-component"
#: lib/claper_web/live/embed_live/form_component.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This will delete the web content, are you sure?" msgid "This will delete the web content, are you sure?"
msgstr "Hiermee wordt de webinhoud verwijderd. Weet je het zeker?" msgstr "Hiermee wordt de webinhoud verwijderd. Weet je het zeker?"
@@ -957,18 +941,13 @@ msgstr "Hiermee wordt de webinhoud verwijderd. Weet je het zeker?"
msgid "Title" msgid "Title"
msgstr "Titel" msgstr "Titel"
#: lib/claper_web/live/event_live/manage.html.heex:236 #: lib/claper_web/live/event_live/manage.html.heex:230
#: lib/claper_web/live/event_live/manage.html.heex:817 #: lib/claper_web/live/event_live/manage.html.heex:867
#: lib/claper_web/live/stat_live/index.html.heex:259 #: lib/claper_web/live/stat_live/index.html.heex:259
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web content" msgid "Web content"
msgstr "Webinhoud" msgstr "Webinhoud"
#: lib/claper/embeds/embed.ex:50
#, elixir-autogen, elixir-format
msgid "Invalid embed format (should start with <iframe> and end with </iframe>)"
msgstr "Ongeldig insluitformaat (moet beginnen met <iframe> en eindigen met </iframe>)"
#: lib/claper_web/live/event_live/manageable_post_component.ex:38 #: lib/claper_web/live/event_live/manageable_post_component.ex:38
#: lib/claper_web/live/event_live/manageable_post_component.ex:67 #: lib/claper_web/live/event_live/manageable_post_component.ex:67
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -981,12 +960,12 @@ msgstr "Vastzetten"
msgid "Pinned" msgid "Pinned"
msgstr "Vastgezet" msgstr "Vastgezet"
#: lib/claper_web/live/event_live/manage.html.heex:1020 #: lib/claper_web/live/event_live/manage.html.heex:1132
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages" msgid "Pinned messages"
msgstr "Vastgezette berichten" msgstr "Vastgezette berichten"
#: lib/claper_web/live/event_live/manage.html.heex:1180 #: lib/claper_web/live/event_live/manage.html.heex:1292
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pinned messages will appear here." msgid "Pinned messages will appear here."
msgstr "Hier verschijnen vastgezette berichten." msgstr "Hier verschijnen vastgezette berichten."
@@ -1037,7 +1016,7 @@ msgstr "Opgeslagen"
msgid "Access" msgid "Access"
msgstr "Toegang" msgstr "Toegang"
#: lib/claper_web/live/user_settings_live/show.html.heex:180 #: lib/claper_web/live/user_settings_live/show.html.heex:285
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All your events and files will be permanently deleted, are you sure?" msgid "All your events and files will be permanently deleted, are you sure?"
msgstr "Al jouw evenementen en bestanden worden definitief verwijderd. Weet je dat zeker?" msgstr "Al jouw evenementen en bestanden worden definitief verwijderd. Weet je dat zeker?"
@@ -1052,22 +1031,22 @@ msgstr "Weet je zeker dat je dit evenement wil stoppen? Deze actie kan niet onge
msgid "Attendees room" msgid "Attendees room"
msgstr "Deelnemers ruimte" msgstr "Deelnemers ruimte"
#: lib/claper_web/live/user_settings_live/show.html.heex:172 #: lib/claper_web/live/user_settings_live/show.html.heex:277
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Be careful, these actions are irreversible" msgid "Be careful, these actions are irreversible"
msgstr "Wees voorzichtig, deze acties zijn onomkeerbaar" msgstr "Wees voorzichtig, deze acties zijn onomkeerbaar"
#: lib/claper_web/live/user_settings_live/show.html.heex:169 #: lib/claper_web/live/user_settings_live/show.html.heex:274
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Danger zone" msgid "Danger zone"
msgstr "Gevarenzone" msgstr "Gevarenzone"
#: lib/claper_web/live/user_settings_live/show.html.heex:185 #: lib/claper_web/live/user_settings_live/show.html.heex:290
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete account" msgid "Delete account"
msgstr "Account verwijderen" msgstr "Account verwijderen"
#: lib/claper_web/live/event_live/manage.html.heex:514 #: lib/claper_web/live/event_live/manage.html.heex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open presentation" msgid "Open presentation"
msgstr "Presentatie openen" msgstr "Presentatie openen"
@@ -1077,12 +1056,12 @@ msgstr "Presentatie openen"
msgid "Terminate" msgid "Terminate"
msgstr "Stoppen" msgstr "Stoppen"
#: lib/claper_web/live/event_live/event_card_component.ex:244 #: lib/claper_web/live/event_live/event_card_component.ex:344
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View report" msgid "View report"
msgstr "Bekijk rapport" msgstr "Bekijk rapport"
#: lib/claper_web/live/user_settings_live/show.ex:137 #: lib/claper_web/live/user_settings_live/show.ex:219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your account has been deleted." msgid "Your account has been deleted."
msgstr "Je account is verwijderd." msgstr "Je account is verwijderd."
@@ -1097,19 +1076,19 @@ msgstr "Toegangscode"
msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly." msgid "Animations in PPT/PPTX files are not supported, which is why we recommend exporting your presentation to PDF to ensure it displays correctly."
msgstr "Animaties in PPT/PPTX-bestanden worden niet ondersteund. Daarom raden wij je aan de presentatie naar PDF te exporteren om er zeker van te zijn dat deze correct wordt weergegeven." msgstr "Animaties in PPT/PPTX-bestanden worden niet ondersteund. Daarom raden wij je aan de presentatie naar PDF te exporteren om er zeker van te zijn dat deze correct wordt weergegeven."
#: lib/claper_web/live/event_live/manage.html.heex:992 #: lib/claper_web/live/event_live/manage.html.heex:1104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Attendees interactions" msgid "Attendees interactions"
msgstr "Interacties van deelnemers" msgstr "Interacties van deelnemers"
#: lib/claper_web/live/event_live/event_form_component.html.heex:5 #: lib/claper_web/live/event_live/event_form_component.html.heex:5
#: lib/claper_web/live/event_live/index.html.heex:76 #: lib/claper_web/live/event_live/index.html.heex:76
#: lib/claper_web/live/event_live/manage.html.heex:382 #: lib/claper_web/live/event_live/manage.html.heex:376
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Back" msgid "Back"
msgstr "Terug" msgstr "Terug"
#: lib/claper_web/live/event_live/manage.html.heex:496 #: lib/claper_web/live/event_live/manage.html.heex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click here to open the presentation window." msgid "Click here to open the presentation window."
msgstr "Klik hier om het presentatievenster te openen." msgstr "Klik hier om het presentatievenster te openen."
@@ -1121,25 +1100,25 @@ msgstr "Facilitators"
#: lib/claper_web/live/event_live/event_form_component.html.heex:6 #: lib/claper_web/live/event_live/event_form_component.html.heex:6
#: lib/claper_web/live/event_live/index.html.heex:77 #: lib/claper_web/live/event_live/index.html.heex:77
#: lib/claper_web/live/event_live/manage.html.heex:383 #: lib/claper_web/live/event_live/manage.html.heex:377
#: lib/claper_web/templates/lti/registration/success.html.heex:26 #: lib/claper_web/templates/lti/registration/success.html.heex:26
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Finish" msgid "Finish"
msgstr "Finish" msgstr "Finish"
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms." msgid "Here you'll find all interactions from your attendees. You can manage messages, pinned messages, and submitted forms."
msgstr "Hier vind je alle interacties van je bezoekers. Je kunt berichten, vastgezette berichten en verzonden formulieren beheren." msgstr "Hier vind je alle interacties van je bezoekers. Je kunt berichten, vastgezette berichten en verzonden formulieren beheren."
#: lib/claper_web/live/event_live/manage.html.heex:994 #: lib/claper_web/live/event_live/manage.html.heex:1106
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Identify users by their unique avatars." msgid "Identify users by their unique avatars."
msgstr "Identificeer gebruikers aan de hand van hun unieke avatars." msgstr "Identificeer gebruikers aan de hand van hun unieke avatars."
#: lib/claper_web/live/event_live/event_form_component.html.heex:4 #: lib/claper_web/live/event_live/event_form_component.html.heex:4
#: lib/claper_web/live/event_live/index.html.heex:75 #: lib/claper_web/live/event_live/index.html.heex:75
#: lib/claper_web/live/event_live/manage.html.heex:381 #: lib/claper_web/live/event_live/manage.html.heex:375
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Next" msgid "Next"
msgstr "Volgende" msgstr "Volgende"
@@ -1149,17 +1128,17 @@ msgstr "Volgende"
msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit." msgid "Select your presentation file. Accepted formats are PDF, PPT, or PPTX. Ensure the file size does not exceed the maximum limit."
msgstr "Selecteer het Presentatie. Geaccepteerde formaten zijn PDF, PPT of PPTX. Zorg ervoor dat de bestandsgrootte de maximale limiet niet overschrijdt." msgstr "Selecteer het Presentatie. Geaccepteerde formaten zijn PDF, PPT of PPTX. Zorg ervoor dat de bestandsgrootte de maximale limiet niet overschrijdt."
#: lib/claper_web/live/event_live/manage.html.heex:494 #: lib/claper_web/live/event_live/manage.html.heex:488
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Time to launch your presentation!" msgid "Time to launch your presentation!"
msgstr "Tijd om je presentatie te starten!" msgstr "Tijd om je presentatie te starten!"
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use the associated keyboard shortcuts for quick toggling of these settings." msgid "Use the associated keyboard shortcuts for quick toggling of these settings."
msgstr "Gebruik de bijbehorende sneltoetsen om snel tussen deze instellingen te schakelen." msgstr "Gebruik de bijbehorende sneltoetsen om snel tussen deze instellingen te schakelen."
#: lib/claper_web/live/event_live/manage.html.heex:1295 #: lib/claper_web/live/event_live/manage.html.heex:1407
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room." msgid "You can control each setting for the presentation (showing on the big screen) and on the attendee's room."
msgstr "Je kunt elke instelling voor de presentatie (weergave op het grote scherm) en in de ruimte van de deelnemer beheren." msgstr "Je kunt elke instelling voor de presentatie (weergave op het grote scherm) en in de ruimte van de deelnemer beheren."
@@ -1194,11 +1173,6 @@ msgstr "Startdatum evenement"
msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here." msgid "If you don't have time and just want interactions without a presentation file, you can create a new event here."
msgstr "Als je geen tijd heeft en alleen interacties wilt zonder een Presentatie, kun je hier een nieuw evenement aanmaken." msgstr "Als je geen tijd heeft en alleen interacties wilt zonder een Presentatie, kun je hier een nieuw evenement aanmaken."
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format
msgid "If you have slides, you can navigate through the slides with ease using the arrow keys on your keyboard."
msgstr "Als je dia's hebt, kun je eenvoudig door de dia's navigeren met de pijltoetsen op het toetsenbord."
#: lib/claper_web/live/event_live/event_form_component.html.heex:299 #: lib/claper_web/live/event_live/event_form_component.html.heex:299
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event." msgid "If you require assistance in managing your event, you can grant access to others. Simply enter their email addresses; once they register an account with these emails, they will be able to manage the event."
@@ -1250,7 +1224,7 @@ msgstr "Presentatie-instellingen"
msgid "Quick event" msgid "Quick event"
msgstr "Snel evenement" msgstr "Snel evenement"
#: lib/claper_web/live/event_live/index.ex:73 #: lib/claper_web/live/event_live/index.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Quick event created successfully" msgid "Quick event created successfully"
msgstr "Snel evenement succesvol aangemaakt" msgstr "Snel evenement succesvol aangemaakt"
@@ -1280,11 +1254,6 @@ msgstr "Deze code wordt door je bezoekers gebruikt om toegang te krijgen tot het
msgid "This event has been terminated" msgid "This event has been terminated"
msgstr "Dit evenement is gestopt" msgstr "Dit evenement is gestopt"
#: lib/claper_web/live/event_live/manage.html.heex:660
#, elixir-autogen, elixir-format, fuzzy
msgid "This section contains all your presentation slides (if you have upload one). You have the option to add interactions to each slide."
msgstr "Deze sectie bevat alle presentatiedia's (als je er een hebt geupload). Je hebt de mogelijkheid om interacties aan elke dia toe te voegen."
#: lib/claper_web/live/event_live/index.html.heex:117 #: lib/claper_web/live/event_live/index.html.heex:117
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Welcome to Claper! You can create a new event here." msgid "Welcome to Claper! You can create a new event here."
@@ -1295,11 +1264,6 @@ msgstr "Welkom bij Claper! Hier kun je een nieuw evenement aanmaken."
msgid "When your event will start?" msgid "When your event will start?"
msgstr "Wanneer begint het evenement?" msgstr "Wanneer begint het evenement?"
#: lib/claper_web/live/event_live/manage.html.heex:659
#, elixir-autogen, elixir-format, fuzzy
msgid "Your slides and/or interactions"
msgstr "De dia's en/of interacties"
#: lib/claper_web/live/event_live/show.html.heex:38 #: lib/claper_web/live/event_live/show.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create your next presentation with" msgid "Create your next presentation with"
@@ -1312,22 +1276,22 @@ msgstr "Maak je volgende presentatie met"
msgid "Event doesn't exist" msgid "Event doesn't exist"
msgstr "Evenement bestaat niet" msgstr "Evenement bestaat niet"
#: lib/claper_web/live/user_settings_live/show.html.heex:140 #: lib/claper_web/live/user_settings_live/show.html.heex:244
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Customize your account" msgid "Customize your account"
msgstr "Pas je account aan" msgstr "Pas je account aan"
#: lib/claper_web/live/user_settings_live/show.html.heex:159 #: lib/claper_web/live/user_settings_live/show.html.heex:264
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "Taal" msgstr "Taal"
#: lib/claper_web/live/user_settings_live/show.html.heex:137 #: lib/claper_web/live/user_settings_live/show.html.heex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preferences" msgid "Preferences"
msgstr "Voorkeuren" msgstr "Voorkeuren"
#: lib/claper_web/live/user_settings_live/show.ex:119 #: lib/claper_web/live/user_settings_live/show.ex:180
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your preferences have been updated." msgid "Your preferences have been updated."
msgstr "Je voorkeuren zijn bijgewerkt." msgstr "Je voorkeuren zijn bijgewerkt."
@@ -1337,22 +1301,22 @@ msgstr "Je voorkeuren zijn bijgewerkt."
msgid "Question" msgid "Question"
msgstr "Vraag" msgstr "Vraag"
#: lib/claper_web/live/event_live/manage.html.heex:1012 #: lib/claper_web/live/event_live/manage.html.heex:1124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions" msgid "Questions"
msgstr "Vragen" msgstr "Vragen"
#: lib/claper_web/live/event_live/manage.html.heex:1099 #: lib/claper_web/live/event_live/manage.html.heex:1211
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Questions will appear here." msgid "Questions will appear here."
msgstr "Vragen zullen hier verschijnen" msgstr "Vragen zullen hier verschijnen"
#: lib/claper_web/live/event_live/manage.html.heex:1141 #: lib/claper_web/live/event_live/manage.html.heex:1253
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by date" msgid "Sort by date"
msgstr "Sorteren op datum" msgstr "Sorteren op datum"
#: lib/claper_web/live/event_live/manage.html.heex:1120 #: lib/claper_web/live/event_live/manage.html.heex:1232
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sort by popularity" msgid "Sort by popularity"
msgstr "Sorteer op populariteit" msgstr "Sorteer op populariteit"
@@ -1373,7 +1337,7 @@ msgstr "Documentatie"
msgid "My account" msgid "My account"
msgstr "Mijn account" msgstr "Mijn account"
#: lib/claper_web/live/user_settings_live/show.html.heex:96 #: lib/claper_web/live/user_settings_live/show.html.heex:139
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Your personal informations to access your account" msgid "Your personal informations to access your account"
msgstr "Je persoonlijke gegevens om toegang te krijgen tot je account" msgstr "Je persoonlijke gegevens om toegang te krijgen tot je account"
@@ -1434,22 +1398,22 @@ msgid "Add Claper"
msgstr "Voeg Claper toe" msgstr "Voeg Claper toe"
#: lib/claper_web/live/event_live/manage.html.heex:94 #: lib/claper_web/live/event_live/manage.html.heex:94
#: lib/claper_web/live/event_live/manage.html.heex:487 #: lib/claper_web/live/event_live/manage.html.heex:481
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Close preview" msgid "Close preview"
msgstr "Voorvertoning sluiten" msgstr "Voorvertoning sluiten"
#: lib/claper_web/live/event_live/manage.html.heex:687 #: lib/claper_web/live/event_live/manage.html.heex:685
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Create your first interaction." msgid "Create your first interaction."
msgstr "Maak je eerste interactie aan" msgstr "Maak je eerste interactie aan"
#: lib/claper_web/live/event_live/manage.html.heex:875 #: lib/claper_web/live/event_live/manage.html.heex:1025
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Disable" msgid "Disable"
msgstr "Uitschakelen" msgstr "Uitschakelen"
#: lib/claper_web/live/event_live/manage.html.heex:957 #: lib/claper_web/live/event_live/manage.html.heex:1069
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "Inschakelen" msgstr "Inschakelen"
@@ -1459,18 +1423,13 @@ msgstr "Inschakelen"
msgid "Enable messages to change this option" msgid "Enable messages to change this option"
msgstr "Schakel berichten in om deze optie te wijzigen" msgstr "Schakel berichten in om deze optie te wijzigen"
#: lib/claper_web/live/event_live/manage.html.heex:918 #: lib/claper_web/live/event_live/manage.html.heex:749
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Hide on presentation" msgid "Hide on presentation"
msgstr "Verbergen in presentatie" msgstr "Verbergen in presentatie"
#: lib/claper_web/live/event_live/manage.html.heex:933
#, elixir-autogen, elixir-format
msgid "Hide results for attendees"
msgstr "Resultaten verbergen voor deelnemers"
#: lib/claper_web/live/event_live/manage.html.heex:93 #: lib/claper_web/live/event_live/manage.html.heex:93
#: lib/claper_web/live/event_live/manage.html.heex:486 #: lib/claper_web/live/event_live/manage.html.heex:480
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open preview" msgid "Open preview"
msgstr "Voorvertoning openen" msgstr "Voorvertoning openen"
@@ -1485,17 +1444,137 @@ msgstr "Toon instructies (QR-code)"
msgid "Show messages to change this option" msgid "Show messages to change this option"
msgstr "Toon berichten om deze optie te wijzigen" msgstr "Toon berichten om deze optie te wijzigen"
#: lib/claper_web/live/event_live/manage.html.heex:921 #: lib/claper_web/live/event_live/manage.html.heex:752
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show on presentation" msgid "Show on presentation"
msgstr "Tonen in presentatie" msgstr "Tonen in presentatie"
#: lib/claper_web/live/event_live/manage.html.heex:936 #: lib/claper_web/live/event_live/manage.html.heex:682
#, elixir-autogen, elixir-format
msgid "Show results for attendees"
msgstr "Resultaten tonen voor deelnemers"
#: lib/claper_web/live/event_live/manage.html.heex:684
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This slide does not have any interactions." msgid "This slide does not have any interactions."
msgstr "Deze dia heeft geen interacties." msgstr "Deze dia heeft geen interacties."
#: lib/claper_web/live/user_settings_live/show.html.heex:176
#, elixir-autogen, elixir-format
msgid "Accounts linked"
msgstr "Gekoppelde accounts"
#: lib/claper_web/live/user_settings_live/show.html.heex:208
#: lib/claper_web/live/user_settings_live/show.html.heex:226
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unlink this account?"
msgstr "Weet u zeker dat u dit account wilt ontkoppelen?"
#: lib/claper_web/templates/user_session/new.html.heex:74
#, elixir-autogen, elixir-format
msgid "Login with %{provider}"
msgstr "Inloggen met %{provider}"
#: lib/claper_web/live/user_settings_live/show.ex:101
#: lib/claper_web/live/user_settings_live/show.ex:115
#, elixir-autogen, elixir-format
msgid "The account has been unlinked."
msgstr "Het account is ontkoppeld."
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "This section contains all your interactions."
msgstr "Deze sectie bevat al uw interacties."
#: lib/claper_web/live/user_settings_live/show.html.heex:211
#: lib/claper_web/live/user_settings_live/show.html.heex:229
#, elixir-autogen, elixir-format, fuzzy
msgid "Unlink"
msgstr "Losmaken"
#: lib/claper_web/live/event_live/manage.html.heex:658
#, elixir-autogen, elixir-format
msgid "You can add interactions to your presentation slides."
msgstr "U kunt interacties toevoegen aan uw presentatiedia's."
#: lib/claper_web/live/event_live/manage.html.heex:657
#, elixir-autogen, elixir-format
msgid "Your interactions"
msgstr "Uw interacties"
#: lib/claper_web/live/user_settings_live/show.html.heex:119
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm password"
msgstr "Bevestig nieuw wachtwoord"
#: lib/claper_web/live/user_settings_live/show.ex:68
#, elixir-autogen, elixir-format
msgid "Set a new password"
msgstr "Stel een nieuw wachtwoord in"
#: lib/claper_web/live/user_settings_live/show.ex:71
#, elixir-autogen, elixir-format
msgid "Set a new password for your account before unlinking it."
msgstr "Stel een nieuw wachtwoord in voor uw account voordat u het ontkoppelt."
#: lib/claper_web/live/user_settings_live/show.ex:204
#, elixir-autogen, elixir-format
msgid "Your password has been set, you can now unlink your account."
msgstr "Uw wachtwoord is ingesteld, u kunt nu uw account ontkoppelen."
#: lib/claper_web/live/embed_live/form_component.html.heex:38
#, elixir-autogen, elixir-format
msgid "Iframe code"
msgstr "Iframe-code"
#: lib/claper_web/live/embed_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Link to the content"
msgstr "Link naar de inhoud"
#: lib/claper/embeds/embed.ex:65
#: lib/claper/embeds/embed.ex:74
#: lib/claper/embeds/embed.ex:83
#, elixir-autogen, elixir-format
msgid "Please enter a valid %{provider} link"
msgstr "Voer een geldige %{provider} link in"
#: lib/claper/embeds/embed.ex:62
#: lib/claper/embeds/embed.ex:71
#: lib/claper/embeds/embed.ex:80
#, elixir-autogen, elixir-format
msgid "Please enter a valid link starting with http:// or https://"
msgstr "Voer een geldige link in die begint met http:// of https://"
#: lib/claper/embeds/embed.ex:89
#, elixir-autogen, elixir-format
msgid "Please enter valid HTML content with an iframe tag"
msgstr "Voer geldige HTML-inhoud in met een iframe-tag"
#: lib/claper_web/live/embed_live/form_component.html.heex:25
#, elixir-autogen, elixir-format
msgid "Provider"
msgstr "Aanbieder"
#: lib/claper_web/live/poll_live/form_component.html.heex:89
#, elixir-autogen, elixir-format
msgid "Attendees can see the results on their device"
msgstr "Deelnemers kunnen de resultaten op hun apparaat zien"
#: lib/claper_web/live/embed_live/form_component.html.heex:56
#, elixir-autogen, elixir-format, fuzzy
msgid "Attendees can view the web content on their device"
msgstr "Deelnemers kunnen de webinhoud op hun apparaat bekijken"
#: lib/claper_web/live/embed_live/form_component.html.heex:49
#: lib/claper_web/live/poll_live/form_component.html.heex:82
#, elixir-autogen, elixir-format
msgid "Options"
msgstr "Opties"
#: lib/claper_web/live/event_live/event_card_component.ex:186
#: lib/claper_web/live/event_live/event_card_component.ex:266
#: lib/claper_web/live/event_live/event_card_component.ex:355
#, elixir-autogen, elixir-format
msgid "Action"
msgstr "Actie"
#: lib/claper_web/live/event_live/event_card_component.ex:242
#, elixir-autogen, elixir-format
msgid "Duplicate"
msgstr "Dupliceren"

View File

@@ -0,0 +1,24 @@
defmodule Claper.Repo.Migrations.AddOidcUsers do
use Ecto.Migration
def change do
create table(:oidc_users) do
add :sub, :string, null: false
add :name, :string
add :email, :string
add :issuer, :string, null: false
add :provider, :string, null: false
add :id_token, :text
add :refresh_token, :text
add :access_token, :text
add :expires_at, :naive_datetime
add :photo_url, :string
add :groups, {:array, :string}
add :roles, :string
add :organization, :string
add :user_id, references(:users, on_delete: :delete_all)
timestamps()
end
end
end

View File

@@ -0,0 +1,9 @@
defmodule Claper.Repo.Migrations.RemoveIsAdminFromUsers do
use Ecto.Migration
def change do
alter table(:users) do
remove :is_admin
end
end
end

View File

@@ -0,0 +1,9 @@
defmodule Claper.Repo.Migrations.AddIsRandomizedPasswordToUsers do
use Ecto.Migration
def change do
alter table(:users) do
add :is_randomized_password, :boolean, default: false
end
end
end

View File

@@ -0,0 +1,9 @@
defmodule Claper.Repo.Migrations.AddProviderToEmbeds do
use Ecto.Migration
def change do
alter table(:embeds) do
add :provider, :string, default: "custom"
end
end
end

View File

@@ -0,0 +1,9 @@
defmodule Claper.Repo.Migrations.AddShowResultsToPolls do
use Ecto.Migration
def change do
alter table(:polls) do
add :show_results, :boolean, default: true
end
end
end

View File

@@ -0,0 +1,9 @@
defmodule Claper.Repo.Migrations.RemoveShowPollResultsEnabledFromPresentationStates do
use Ecto.Migration
def change do
alter table(:presentation_states) do
remove :show_poll_results_enabled
end
end
end

View File

@@ -0,0 +1,13 @@
defmodule Claper.Repo.Migrations.RemoveUniquenessOfHashFromPresentationFiles do
use Ecto.Migration
def up do
drop_if_exists index(:presentation_files, [:hash])
create unique_index(:presentation_files, [:hash, :event_id])
end
def down do
drop_if_exists index(:presentation_files, [:hash, :event_id])
create unique_index(:presentation_files, [:hash])
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

View File

@@ -45,6 +45,7 @@ defmodule Claper.EmbedsTest do
title: "some title", title: "some title",
content: content:
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>", "<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>",
provider: "custom",
presentation_file_id: presentation_file.id, presentation_file_id: presentation_file.id,
position: 0 position: 0
} }
@@ -56,6 +57,38 @@ defmodule Claper.EmbedsTest do
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>" "<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>"
end end
test "create_embed/1 with valid data creates a youtube embed" do
presentation_file = presentation_file_fixture()
valid_attrs = %{
title: "some title",
content: "https://youtu.be/dQw4w9WgXcQ?si=g1A6ZegIXzcrisSw",
provider: "youtube",
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 ==
"https://youtu.be/dQw4w9WgXcQ?si=g1A6ZegIXzcrisSw"
end
test "create_embed/1 with invalid data creates a youtube embed" do
presentation_file = presentation_file_fixture()
attrs = %{
title: "some title",
content: "https://youtube.com/dQw4w9WgXcQ?si=g1A6ZegIXzcrisSw",
provider: "youtube",
presentation_file_id: presentation_file.id,
position: 0
}
assert {:error, %Ecto.Changeset{}} = Embeds.create_embed(attrs)
end
test "create_embed/1 with invalid data returns error changeset" do test "create_embed/1 with invalid data returns error changeset" do
assert {:error, %Ecto.Changeset{}} = Embeds.create_embed(@invalid_attrs) assert {:error, %Ecto.Changeset{}} = Embeds.create_embed(@invalid_attrs)
end end
@@ -66,6 +99,7 @@ defmodule Claper.EmbedsTest do
update_attrs = %{ update_attrs = %{
title: "some updated title", title: "some updated title",
provider: "custom",
content: content:
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\"></iframe>" "<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\"></iframe>"
} }

View File

@@ -2,7 +2,15 @@ defmodule Claper.EventsTest do
use Claper.DataCase use Claper.DataCase
alias Claper.Events alias Claper.Events
import Claper.{EventsFixtures, AccountsFixtures, PresentationsFixtures, PollsFixtures}
import Claper.{
EventsFixtures,
AccountsFixtures,
PresentationsFixtures,
PollsFixtures,
FormsFixtures,
EmbedsFixtures
}
describe "events" do describe "events" do
alias Claper.Events.Event alias Claper.Events.Event
@@ -100,6 +108,36 @@ defmodule Claper.EventsTest do
end end
end end
test "duplicate_event/2 duplicates an event" do
user = user_fixture()
original_event = event_fixture(%{user: user, name: "Original Event"})
presentation_file = presentation_file_fixture(%{event: original_event})
poll_fixture(%{presentation_file_id: presentation_file.id})
form_fixture(%{presentation_file_id: presentation_file.id})
embed_fixture(%{presentation_file_id: presentation_file.id})
assert {:ok, duplicated_event} = Events.duplicate_event(user.id, original_event.uuid)
assert duplicated_event.id != original_event.id
assert duplicated_event.user_id == original_event.user_id
assert duplicated_event.name == "Original Event (Copy)"
assert duplicated_event.code != original_event.code
assert duplicated_event.uuid != original_event.uuid
# Check if the presentation file was duplicated
duplicated_presentation_file =
Claper.Presentations.get_presentation_file!(duplicated_event.id)
assert duplicated_presentation_file.id != presentation_file.id
assert duplicated_presentation_file.hash == presentation_file.hash
assert duplicated_presentation_file.length == presentation_file.length
# Check if polls, forms, and embeds were duplicated
assert length(Claper.Polls.list_polls(duplicated_presentation_file.id)) == 1
assert length(Claper.Forms.list_forms(duplicated_presentation_file.id)) == 1
assert length(Claper.Embeds.list_embeds(duplicated_presentation_file.id)) == 1
end
test "delete_event/1 deletes the event" do test "delete_event/1 deletes the event" do
event = event_fixture() event = event_fixture()

View File

@@ -13,11 +13,11 @@ defmodule Claper.PresentationsTest do
assert Presentations.get_presentation_file!(presentation_file.id) == presentation_file assert Presentations.get_presentation_file!(presentation_file.id) == presentation_file
end end
test "get_presentation_file_by_hash!/2 returns the presentation_file with given hash" do test "get_presentation_files_by_hash!/2 returns the presentation_file with given hash" do
presentation_file = presentation_file_fixture(%{}, [:event]) presentation_file = presentation_file_fixture(%{})
assert Presentations.get_presentation_file_by_hash!(presentation_file.hash) == assert Presentations.get_presentation_files_by_hash(presentation_file.hash) ==
presentation_file [presentation_file]
end end
test "create_presentation_file/1 with valid data creates a presentation_file" do test "create_presentation_file/1 with valid data creates a presentation_file" do

View File

@@ -13,7 +13,7 @@ defmodule ClaperWeb.LtiControllerTest do
test "renders log in page", %{conn: conn} do test "renders log in page", %{conn: conn} do
conn = get(conn, ~p"/users/log_in") conn = get(conn, ~p"/users/log_in")
response = html_response(conn, 200) response = html_response(conn, 200)
assert response =~ "Your email address" assert response =~ "Email address"
end end
test "redirects if already logged in", %{conn: conn, user: user} do test "redirects if already logged in", %{conn: conn, user: user} do

View File

@@ -11,7 +11,7 @@ defmodule ClaperWeb.UserSessionControllerTest do
test "renders log in page", %{conn: conn} do test "renders log in page", %{conn: conn} do
conn = get(conn, ~p"/users/log_in") conn = get(conn, ~p"/users/log_in")
response = html_response(conn, 200) response = html_response(conn, 200)
assert response =~ "Your email address" assert response =~ "Email address"
end end
test "redirects if already logged in", %{conn: conn, user: user} do test "redirects if already logged in", %{conn: conn, user: user} do

View File

@@ -48,7 +48,7 @@ defmodule Lti13.JwksTest do
typ: "JWT", typ: "JWT",
alg: "RS256", alg: "RS256",
kid: UUID.uuid4(), kid: UUID.uuid4(),
active: true active: false
} }
jwk3 = %{ jwk3 = %{
@@ -56,19 +56,18 @@ defmodule Lti13.JwksTest do
typ: "JWT", typ: "JWT",
alg: "RS256", alg: "RS256",
kid: UUID.uuid4(), kid: UUID.uuid4(),
active: true active: false
} }
assert {:ok, %Jwk{}} = Lti13.Jwks.create_jwk(jwk1) assert {:ok, %Jwk{}} = Lti13.Jwks.create_jwk(jwk1)
assert {:ok, %Jwk{}} = Lti13.Jwks.create_jwk(jwk2) assert {:ok, %Jwk{}} = Lti13.Jwks.create_jwk(jwk2)
assert {:ok, %Jwk{}} = Lti13.Jwks.create_jwk(jwk3) assert {:ok, %Jwk{}} = Lti13.Jwks.create_jwk(jwk3)
assert Lti13.Jwks.get_all_jwks() |> Enum.map(&Map.get(&1, :kid)) == [ all_jwks = Lti13.Jwks.get_all_jwks()
active_jwk.kid, assert Enum.any?(all_jwks, fn jwk -> jwk.kid == active_jwk.kid end)
jwk1.kid, assert Enum.any?(all_jwks, fn jwk -> jwk.kid == jwk1.kid end)
jwk2.kid, assert Enum.any?(all_jwks, fn jwk -> jwk.kid == jwk2.kid end)
jwk3.kid assert Enum.any?(all_jwks, fn jwk -> jwk.kid == jwk3.kid end)
]
end end
test "get jwk by registration" do test "get jwk by registration" do

View File

@@ -17,6 +17,23 @@ defmodule Claper.EmbedsFixtures do
content: content:
"<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>", "<iframe src=\"https://www.youtube.com/embed/9bZkp7q19f0\" frameborder=\"0\" allowfullscreen></iframe>",
position: 0, position: 0,
provider: "custom",
enabled: true,
attendee_visibility: true
})
|> Claper.Embeds.create_embed()
Claper.UtilFixture.merge_preload(embed, preload, %{})
end
def embed_youtube_fixture(attrs \\ %{}, preload \\ []) do
{:ok, embed} =
attrs
|> Enum.into(%{
title: "some title",
content: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
position: 1,
provider: "youtube",
enabled: true, enabled: true,
attendee_visibility: true attendee_visibility: true
}) })