improve templates
This commit is contained in:
parent
1726a1b72e
commit
eb75937587
@ -1,5 +1,6 @@
|
||||
# v0.1.8
|
||||
- Fix bug with public registration
|
||||
- Improve templates
|
||||
|
||||
# v0.1.7
|
||||
- Update dependencies
|
||||
|
@ -109,11 +109,13 @@ defmodule MemexWeb.Components.ContextsTableComponent do
|
||||
|
||||
~H"""
|
||||
<div class="flex flex-wrap justify-center space-x-1">
|
||||
<%= for tag <- @tags do %>
|
||||
<.link patch={Routes.context_index_path(Endpoint, :search, tag)} class="link">
|
||||
<%= tag %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:for={tag <- @tags}
|
||||
patch={Routes.context_index_path(Endpoint, :search, tag)}
|
||||
class="link"
|
||||
>
|
||||
<%= tag %>
|
||||
</.link>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
|
@ -47,11 +47,9 @@ defmodule MemexWeb.Components.InviteCard do
|
||||
<%= render_slot(@code_actions) %>
|
||||
</div>
|
||||
|
||||
<%= if @inner_block do %>
|
||||
<div class="flex space-x-4 justify-center items-center">
|
||||
<%= render_slot(@inner_block) %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div :if={@inner_block} class="flex space-x-4 justify-center items-center">
|
||||
<%= render_slot(@inner_block) %>
|
||||
</div>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
|
@ -109,11 +109,9 @@ defmodule MemexWeb.Components.NotesTableComponent do
|
||||
|
||||
~H"""
|
||||
<div class="flex flex-wrap justify-center space-x-1">
|
||||
<%= for tag <- @tags do %>
|
||||
<.link patch={Routes.note_index_path(Endpoint, :search, tag)} class="link">
|
||||
<%= tag %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link :for={tag <- @tags} patch={Routes.note_index_path(Endpoint, :search, tag)} class="link">
|
||||
<%= tag %>
|
||||
</.link>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
|
@ -122,11 +122,13 @@ defmodule MemexWeb.Components.PipelinesTableComponent do
|
||||
|
||||
~H"""
|
||||
<div class="flex flex-wrap justify-center space-x-1">
|
||||
<%= for tag <- @tags do %>
|
||||
<.link patch={Routes.pipeline_index_path(Endpoint, :search, tag)} class="link">
|
||||
<%= tag %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:for={tag <- @tags}
|
||||
patch={Routes.pipeline_index_path(Endpoint, :search, tag)}
|
||||
class="link"
|
||||
>
|
||||
<%= tag %>
|
||||
</.link>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
|
@ -33,20 +33,19 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<%= for {values, i} <- @rows |> Enum.with_index() do %>
|
||||
<tr class={if i |> Integer.is_even(), do: @row_class, else: @alternate_row_class}>
|
||||
<%= for %{key: key} = value <- @columns do %>
|
||||
<td class={["p-2", value[:class]]}>
|
||||
<%= case values |> Map.get(key) do %>
|
||||
<% {_custom_sort_value, value} -> %>
|
||||
<%= value %>
|
||||
<% value -> %>
|
||||
<%= value %>
|
||||
<% end %>
|
||||
</td>
|
||||
<tr
|
||||
:for={{values, i} <- @rows |> Enum.with_index()}
|
||||
class={if i |> Integer.is_even(), do: @row_class, else: @alternate_row_class}
|
||||
>
|
||||
<td :for={%{key: key} = value <- @columns} class={["p-2", value[:class]]}>
|
||||
<%= case values |> Map.get(key) do %>
|
||||
<% {_custom_sort_value, value} -> %>
|
||||
<%= value %>
|
||||
<% value -> %>
|
||||
<%= value %>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
@ -65,16 +65,14 @@ defmodule MemexWeb.Components.Topbar do
|
||||
<li class="mx-2 my-1 border-left border border-primary-700"></li>
|
||||
|
||||
<%= if @current_user do %>
|
||||
<%= if @current_user |> Accounts.is_already_admin?() do %>
|
||||
<li class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.invite_index_path(Endpoint, :index)}
|
||||
class="text-primary-400 text-primary-400 hover:underline"
|
||||
>
|
||||
<%= gettext("invites") %>
|
||||
</.link>
|
||||
</li>
|
||||
<% end %>
|
||||
<li :if={@current_user |> Accounts.is_already_admin?()} class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.invite_index_path(Endpoint, :index)}
|
||||
class="text-primary-400 text-primary-400 hover:underline"
|
||||
>
|
||||
<%= gettext("invites") %>
|
||||
</.link>
|
||||
</li>
|
||||
|
||||
<li class="mx-2 my-1">
|
||||
<.link
|
||||
@ -95,27 +93,28 @@ defmodule MemexWeb.Components.Topbar do
|
||||
</.link>
|
||||
</li>
|
||||
|
||||
<%= if @current_user.role == :admin and function_exported?(Routes, :live_dashboard_path, 2) do %>
|
||||
<li class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.live_dashboard_path(Endpoint, :home)}
|
||||
class="text-primary-400 text-primary-400 hover:underline"
|
||||
>
|
||||
<i class="fas fa-gauge"></i>
|
||||
</.link>
|
||||
</li>
|
||||
<% end %>
|
||||
<li
|
||||
:if={
|
||||
@current_user.role == :admin and function_exported?(Routes, :live_dashboard_path, 2)
|
||||
}
|
||||
class="mx-2 my-1"
|
||||
>
|
||||
<.link
|
||||
navigate={Routes.live_dashboard_path(Endpoint, :home)}
|
||||
class="text-primary-400 text-primary-400 hover:underline"
|
||||
>
|
||||
<i class="fas fa-gauge"></i>
|
||||
</.link>
|
||||
</li>
|
||||
<% else %>
|
||||
<%= if Accounts.allow_registration?() do %>
|
||||
<li class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.user_registration_path(Endpoint, :new)}
|
||||
class="text-primary-400 text-primary-400 hover:underline truncate"
|
||||
>
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
</li>
|
||||
<% end %>
|
||||
<li :if={Accounts.allow_registration?()} class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.user_registration_path(Endpoint, :new)}
|
||||
class="text-primary-400 text-primary-400 hover:underline truncate"
|
||||
>
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
</li>
|
||||
|
||||
<li class="mx-2 my-1">
|
||||
<.link
|
||||
|
@ -10,8 +10,8 @@ defmodule MemexWeb.Components.UserCard do
|
||||
<div
|
||||
id={"user-#{@user.id}"}
|
||||
class="mx-4 my-2 px-8 py-4 flex flex-col justify-center items-center text-center
|
||||
border border-gray-400 rounded-lg shadow-lg hover:shadow-md
|
||||
transition-all duration-300 ease-in-out"
|
||||
border border-gray-400 rounded-lg shadow-lg hover:shadow-md
|
||||
transition-all duration-300 ease-in-out"
|
||||
>
|
||||
<h1 class="px-4 py-2 rounded-lg title text-xl break-all">
|
||||
<%= @user.email %>
|
||||
@ -39,11 +39,9 @@ defmodule MemexWeb.Components.UserCard do
|
||||
</p>
|
||||
</h3>
|
||||
|
||||
<%= if @inner_block do %>
|
||||
<div class="px-4 py-2 flex space-x-4 justify-center items-center">
|
||||
<%= render_slot(@inner_block) %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div :if={@inner_block} class="px-4 py-2 flex space-x-4 justify-center items-center">
|
||||
<%= render_slot(@inner_block) %>
|
||||
</div>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
|
@ -30,46 +30,44 @@
|
||||
contexts={@contexts}
|
||||
>
|
||||
<:actions :let={context}>
|
||||
<%= if is_owner?(context, @current_user) do %>
|
||||
<.link
|
||||
patch={Routes.context_index_path(@socket, :edit, context.slug)}
|
||||
data-qa={"context-edit-#{context.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<%= if is_owner_or_admin?(context, @current_user) do %>
|
||||
<.link
|
||||
href="#"
|
||||
phx-click="delete"
|
||||
phx-value-id={context.id}
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-context-#{context.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={is_owner?(context, @current_user)}
|
||||
patch={Routes.context_index_path(@socket, :edit, context.slug)}
|
||||
data-qa={"context-edit-#{context.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<.link
|
||||
:if={is_owner_or_admin?(context, @current_user)}
|
||||
href="#"
|
||||
phx-click="delete"
|
||||
phx-value-id={context.id}
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-context-#{context.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</.link>
|
||||
</:actions>
|
||||
</.live_component>
|
||||
<% end %>
|
||||
|
||||
<%= if @current_user do %>
|
||||
<.link patch={Routes.context_index_path(@socket, :new)} class="self-end btn btn-primary">
|
||||
<%= dgettext("actions", "new context") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={@current_user}
|
||||
patch={Routes.context_index_path(@socket, :new)}
|
||||
class="self-end btn btn-primary"
|
||||
>
|
||||
<%= dgettext("actions", "new context") %>
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<%= if @live_action in [:new, :edit] do %>
|
||||
<.modal return_to={Routes.context_index_path(@socket, :index)}>
|
||||
<.live_component
|
||||
module={MemexWeb.ContextLive.FormComponent}
|
||||
id={@context.id || :new}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
context={@context}
|
||||
return_to={Routes.context_index_path(@socket, :index)}
|
||||
/>
|
||||
</.modal>
|
||||
<% end %>
|
||||
<.modal :if={@live_action in [:new, :edit]} return_to={Routes.context_index_path(@socket, :index)}>
|
||||
<.live_component
|
||||
module={MemexWeb.ContextLive.FormComponent}
|
||||
id={@context.id || :new}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
context={@context}
|
||||
return_to={Routes.context_index_path(@socket, :index)}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -4,11 +4,13 @@
|
||||
</h1>
|
||||
|
||||
<div class="flex flex-wrap space-x-1">
|
||||
<%= for tag <- @context.tags do %>
|
||||
<.link navigate={Routes.context_index_path(Endpoint, :search, tag)} class="link">
|
||||
<%= tag %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:for={tag <- @context.tags}
|
||||
navigate={Routes.context_index_path(Endpoint, :search, tag)}
|
||||
class="link"
|
||||
>
|
||||
<%= tag %>
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<.context_content context={@context} />
|
||||
@ -21,38 +23,37 @@
|
||||
<.link class="btn btn-primary" navigate={Routes.context_index_path(@socket, :index)}>
|
||||
<%= dgettext("actions", "back") %>
|
||||
</.link>
|
||||
<%= if is_owner?(@context, @current_user) do %>
|
||||
<.link
|
||||
class="btn btn-primary"
|
||||
patch={Routes.context_show_path(@socket, :edit, @context.slug)}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<%= if is_owner_or_admin?(@context, @current_user) do %>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
phx-click="delete"
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-context-#{@context.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</button>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={is_owner?(@context, @current_user)}
|
||||
class="btn btn-primary"
|
||||
patch={Routes.context_show_path(@socket, :edit, @context.slug)}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<button
|
||||
:if={is_owner_or_admin?(@context, @current_user)}
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
phx-click="delete"
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-context-#{@context.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= if @live_action in [:edit] do %>
|
||||
<.modal return_to={Routes.context_show_path(@socket, :show, @context.slug)}>
|
||||
<.live_component
|
||||
module={MemexWeb.ContextLive.FormComponent}
|
||||
id={@context.id}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
context={@context}
|
||||
return_to={Routes.context_show_path(@socket, :show, @context.slug)}
|
||||
/>
|
||||
</.modal>
|
||||
<% end %>
|
||||
<.modal
|
||||
if={@live_action == :edit}
|
||||
return_to={Routes.context_show_path(@socket, :show, @context.slug)}
|
||||
>
|
||||
<.live_component
|
||||
module={MemexWeb.ContextLive.FormComponent}
|
||||
id={@context.id}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
context={@context}
|
||||
return_to={Routes.context_show_path(@socket, :show, @context.slug)}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -38,7 +38,7 @@
|
||||
navigate={Routes.live_path(Endpoint, FaqLive)}
|
||||
class="link title text-primary-400 text-lg"
|
||||
>
|
||||
<%= gettext("read more on how to use %{name}", name: "memEx") %>
|
||||
<%= gettext("read more on how to use memEx") %>
|
||||
</.link>
|
||||
</li>
|
||||
</ul>
|
||||
@ -92,15 +92,13 @@
|
||||
<p>
|
||||
<%= if @admins |> Enum.empty?() do %>
|
||||
<.link href={Routes.user_registration_path(Endpoint, :new)} class="link">
|
||||
<%= dgettext("prompts", "register to setup %{name}", name: "memEx") %>
|
||||
<%= dgettext("prompts", "register to setup memEx") %>
|
||||
</.link>
|
||||
<% else %>
|
||||
<div class="flex flex-wrap justify-center space-x-2">
|
||||
<%= for admin <- @admins do %>
|
||||
<a class="link" href={"mailto:#{admin.email}"}>
|
||||
<%= admin.email %>
|
||||
</a>
|
||||
<% end %>
|
||||
<a :for={%{email: email} <- @admins} class="link" href={"mailto:#{email}"}>
|
||||
<%= email %>
|
||||
</a>
|
||||
</div>
|
||||
<% end %>
|
||||
</p>
|
||||
|
@ -11,11 +11,12 @@
|
||||
phx-change="validate"
|
||||
phx-submit="save"
|
||||
>
|
||||
<%= if @changeset.action && not @changeset.valid? do %>
|
||||
<div class="invalid-feedback col-span-3 text-center">
|
||||
<%= changeset_errors(@changeset) %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div
|
||||
:if={@changeset.action && not @changeset.valid?()}
|
||||
class="invalid-feedback col-span-3 text-center"
|
||||
>
|
||||
<%= changeset_errors(@changeset) %>
|
||||
</div>
|
||||
|
||||
<%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-400") %>
|
||||
<%= text_input(f, :name, class: "input input-primary col-span-2") %>
|
||||
|
@ -18,69 +18,65 @@
|
||||
<% end %>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-center">
|
||||
<%= for invite <- @invites do %>
|
||||
<.invite_card invite={invite}>
|
||||
<:code_actions>
|
||||
<form phx-submit="copy_to_clipboard">
|
||||
<button
|
||||
type="submit"
|
||||
class="mx-2 my-1 btn btn-primary"
|
||||
phx-click={JS.dispatch("memex:clipcopy", to: "#code-#{invite.id}")}
|
||||
>
|
||||
<%= dgettext("actions", "Copy to clipboard") %>
|
||||
</button>
|
||||
</form>
|
||||
</:code_actions>
|
||||
<.link
|
||||
patch={Routes.invite_index_path(Endpoint, :edit, invite)}
|
||||
class="text-primary-400 link"
|
||||
data-qa={"edit-#{invite.id}"}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
|
||||
<.link
|
||||
href="#"
|
||||
class="text-primary-400 link"
|
||||
phx-click="delete_invite"
|
||||
phx-value-id={invite.id}
|
||||
data-confirm={
|
||||
dgettext("prompts", "are you sure you want to delete the invite for %{invite_name}?",
|
||||
invite_name: invite.name
|
||||
)
|
||||
}
|
||||
data-qa={"delete-#{invite.id}"}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
||||
<%= if invite.disabled_at |> is_nil() do %>
|
||||
<a href="#" class="btn btn-primary" phx-click="disable_invite" phx-value-id={invite.id}>
|
||||
<%= gettext("disable") %>
|
||||
</a>
|
||||
<% else %>
|
||||
<a href="#" class="btn btn-primary" phx-click="enable_invite" phx-value-id={invite.id}>
|
||||
<%= gettext("enable") %>
|
||||
</a>
|
||||
<% end %>
|
||||
|
||||
<%= if invite.disabled_at |> is_nil() and not (invite.uses_left |> is_nil()) do %>
|
||||
<a
|
||||
href="#"
|
||||
class="btn btn-primary"
|
||||
phx-click="set_unlimited"
|
||||
phx-value-id={invite.id}
|
||||
data-confirm={
|
||||
dgettext("prompts", "are you sure you want to make %{invite_name} unlimited?",
|
||||
invite_name: invite.name
|
||||
)
|
||||
}
|
||||
<.invite_card :for={invite <- @invites} invite={invite}>
|
||||
<:code_actions>
|
||||
<form phx-submit="copy_to_clipboard">
|
||||
<button
|
||||
type="submit"
|
||||
class="mx-2 my-1 btn btn-primary"
|
||||
phx-click={JS.dispatch("memex:clipcopy", to: "#code-#{invite.id}")}
|
||||
>
|
||||
<%= gettext("set unlimited") %>
|
||||
</a>
|
||||
<% end %>
|
||||
</.invite_card>
|
||||
<% end %>
|
||||
<%= dgettext("actions", "Copy to clipboard") %>
|
||||
</button>
|
||||
</form>
|
||||
</:code_actions>
|
||||
<.link
|
||||
patch={Routes.invite_index_path(Endpoint, :edit, invite)}
|
||||
class="text-primary-400 link"
|
||||
data-qa={"edit-#{invite.id}"}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
|
||||
<.link
|
||||
href="#"
|
||||
class="text-primary-400 link"
|
||||
phx-click="delete_invite"
|
||||
phx-value-id={invite.id}
|
||||
data-confirm={
|
||||
dgettext("prompts", "are you sure you want to delete the invite for %{invite_name}?",
|
||||
invite_name: invite.name
|
||||
)
|
||||
}
|
||||
data-qa={"delete-#{invite.id}"}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
||||
<a
|
||||
href="#"
|
||||
class="btn btn-primary"
|
||||
phx-click={if invite.disabled_at, do: "enable_invite", else: "disable_invite"}
|
||||
phx-value-id={invite.id}
|
||||
>
|
||||
<%= if invite.disabled_at, do: gettext("enable"), else: gettext("disable") %>
|
||||
</a>
|
||||
|
||||
<a
|
||||
:if={invite.disabled_at |> is_nil() and not (invite.uses_left |> is_nil())}
|
||||
href="#"
|
||||
class="btn btn-primary"
|
||||
phx-click="set_unlimited"
|
||||
phx-value-id={invite.id}
|
||||
data-confirm={
|
||||
dgettext("prompts", "are you sure you want to make %{invite_name} unlimited?",
|
||||
invite_name: invite.name
|
||||
)
|
||||
}
|
||||
>
|
||||
<%= gettext("set unlimited") %>
|
||||
</a>
|
||||
</.invite_card>
|
||||
</div>
|
||||
|
||||
<%= unless @admins |> Enum.empty?() do %>
|
||||
@ -91,25 +87,23 @@
|
||||
</h1>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-center">
|
||||
<%= for admin <- @admins do %>
|
||||
<.user_card user={admin}>
|
||||
<.link
|
||||
href="#"
|
||||
class="text-primary-400 link"
|
||||
phx-click="delete_user"
|
||||
phx-value-id={admin.id}
|
||||
data-confirm={
|
||||
dgettext(
|
||||
"prompts",
|
||||
"are you sure you want to delete %{email}? This action is permanent!",
|
||||
email: admin.email
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
</.user_card>
|
||||
<% end %>
|
||||
<.user_card :for={admin <- @admins} user={admin}>
|
||||
<.link
|
||||
href="#"
|
||||
class="text-primary-400 link"
|
||||
phx-click="delete_user"
|
||||
phx-value-id={admin.id}
|
||||
data-confirm={
|
||||
dgettext(
|
||||
"prompts",
|
||||
"are you sure you want to delete %{email}? This action is permanent!",
|
||||
email: admin.email
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
</.user_card>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@ -121,39 +115,35 @@
|
||||
</h1>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-center">
|
||||
<%= for user <- @users do %>
|
||||
<.user_card user={user}>
|
||||
<.link
|
||||
href="#"
|
||||
class="text-primary-400 link"
|
||||
phx-click="delete_user"
|
||||
phx-value-id={user.id}
|
||||
data-confirm={
|
||||
dgettext(
|
||||
"prompts",
|
||||
"are you sure you want to delete %{email}? This action is permanent!",
|
||||
email: user.email
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
</.user_card>
|
||||
<% end %>
|
||||
<.user_card :for={user <- @users} user={user}>
|
||||
<.link
|
||||
href="#"
|
||||
class="text-primary-400 link"
|
||||
phx-click="delete_user"
|
||||
phx-value-id={user.id}
|
||||
data-confirm={
|
||||
dgettext(
|
||||
"prompts",
|
||||
"are you sure you want to delete %{email}? This action is permanent!",
|
||||
email: user.email
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
</.user_card>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= if @live_action in [:new, :edit] do %>
|
||||
<.modal return_to={Routes.invite_index_path(Endpoint, :index)}>
|
||||
<.live_component
|
||||
module={MemexWeb.InviteLive.FormComponent}
|
||||
id={@invite.id || :new}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
invite={@invite}
|
||||
return_to={Routes.invite_index_path(Endpoint, :index)}
|
||||
current_user={@current_user}
|
||||
/>
|
||||
</.modal>
|
||||
<% end %>
|
||||
<.modal :if={@live_action in [:new, :edit]} return_to={Routes.invite_index_path(Endpoint, :index)}>
|
||||
<.live_component
|
||||
module={MemexWeb.InviteLive.FormComponent}
|
||||
id={@invite.id || :new}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
invite={@invite}
|
||||
return_to={Routes.invite_index_path(Endpoint, :index)}
|
||||
current_user={@current_user}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -31,8 +31,8 @@ defmodule MemexWeb.LiveHelpers do
|
||||
patch={@return_to}
|
||||
id="modal-bg"
|
||||
class="fade-in fixed z-10 left-0 top-0
|
||||
w-screen h-screen overflow-hidden
|
||||
p-8 flex flex-col justify-center items-center cursor-auto"
|
||||
w-screen h-screen overflow-hidden
|
||||
p-8 flex flex-col justify-center items-center cursor-auto"
|
||||
style="background-color: rgba(0,0,0,0.4);"
|
||||
phx-remove={hide_modal()}
|
||||
>
|
||||
@ -48,16 +48,16 @@ defmodule MemexWeb.LiveHelpers do
|
||||
<div
|
||||
id="modal-content"
|
||||
class="fade-in-scale max-w-3xl max-h-3xl relative w-full
|
||||
pointer-events-auto overflow-hidden
|
||||
px-8 py-4 sm:py-8 flex flex-col justify-start items-stretch
|
||||
bg-primary-800 text-primary-400 border-primary-900 border-2 rounded-lg"
|
||||
pointer-events-auto overflow-hidden
|
||||
px-8 py-4 sm:py-8 flex flex-col justify-start items-stretch
|
||||
bg-primary-800 text-primary-400 border-primary-900 border-2 rounded-lg"
|
||||
>
|
||||
<.link
|
||||
patch={@return_to}
|
||||
id="close"
|
||||
class="absolute top-8 right-10
|
||||
text-gray-500 hover:text-gray-800
|
||||
transition-all duration-500 ease-in-out"
|
||||
text-gray-500 hover:text-gray-800
|
||||
transition-all duration-500 ease-in-out"
|
||||
phx-remove={hide_modal()}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-times"></i>
|
||||
|
@ -30,46 +30,44 @@
|
||||
notes={@notes}
|
||||
>
|
||||
<:actions :let={note}>
|
||||
<%= if is_owner?(note, @current_user) do %>
|
||||
<.link
|
||||
patch={Routes.note_index_path(@socket, :edit, note.slug)}
|
||||
data-qa={"note-edit-#{note.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<%= if is_owner_or_admin?(note, @current_user) do %>
|
||||
<.link
|
||||
href="#"
|
||||
phx-click="delete"
|
||||
phx-value-id={note.id}
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-note-#{note.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={is_owner?(note, @current_user)}
|
||||
patch={Routes.note_index_path(@socket, :edit, note.slug)}
|
||||
data-qa={"note-edit-#{note.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<.link
|
||||
:if={is_owner_or_admin?(note, @current_user)}
|
||||
href="#"
|
||||
phx-click="delete"
|
||||
phx-value-id={note.id}
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-note-#{note.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</.link>
|
||||
</:actions>
|
||||
</.live_component>
|
||||
<% end %>
|
||||
|
||||
<%= if @current_user do %>
|
||||
<.link patch={Routes.note_index_path(@socket, :new)} class="self-end btn btn-primary">
|
||||
<%= dgettext("actions", "new note") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={@current_user}
|
||||
patch={Routes.note_index_path(@socket, :new)}
|
||||
class="self-end btn btn-primary"
|
||||
>
|
||||
<%= dgettext("actions", "new note") %>
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<%= if @live_action in [:new, :edit] do %>
|
||||
<.modal return_to={Routes.note_index_path(@socket, :index)}>
|
||||
<.live_component
|
||||
module={MemexWeb.NoteLive.FormComponent}
|
||||
id={@note.id || :new}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
note={@note}
|
||||
return_to={Routes.note_index_path(@socket, :index)}
|
||||
/>
|
||||
</.modal>
|
||||
<% end %>
|
||||
<.modal :if={@live_action in [:new, :edit]} return_to={Routes.note_index_path(@socket, :index)}>
|
||||
<.live_component
|
||||
module={MemexWeb.NoteLive.FormComponent}
|
||||
id={@note.id || :new}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
note={@note}
|
||||
return_to={Routes.note_index_path(@socket, :index)}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -4,11 +4,13 @@
|
||||
</h1>
|
||||
|
||||
<div class="flex flex-wrap space-x-1">
|
||||
<%= for tag <- @note.tags do %>
|
||||
<.link navigate={Routes.note_index_path(Endpoint, :search, tag)} class="link">
|
||||
<%= tag %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:for={tag <- @note.tags}
|
||||
navigate={Routes.note_index_path(Endpoint, :search, tag)}
|
||||
class="link"
|
||||
>
|
||||
<%= tag %>
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<.note_content note={@note} />
|
||||
@ -21,35 +23,34 @@
|
||||
<.link class="btn btn-primary" navigate={Routes.note_index_path(@socket, :index)}>
|
||||
<%= dgettext("actions", "back") %>
|
||||
</.link>
|
||||
<%= if is_owner?(@note, @current_user) do %>
|
||||
<.link class="btn btn-primary" patch={Routes.note_show_path(@socket, :edit, @note.slug)}>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<%= if is_owner_or_admin?(@note, @current_user) do %>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
phx-click="delete"
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-note-#{@note.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</button>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={is_owner?(@note, @current_user)}
|
||||
class="btn btn-primary"
|
||||
patch={Routes.note_show_path(@socket, :edit, @note.slug)}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<button
|
||||
:if={is_owner_or_admin?(@note, @current_user)}
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
phx-click="delete"
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-note-#{@note.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= if @live_action in [:edit] do %>
|
||||
<.modal return_to={Routes.note_show_path(@socket, :show, @note.slug)}>
|
||||
<.live_component
|
||||
module={MemexWeb.NoteLive.FormComponent}
|
||||
id={@note.id}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
note={@note}
|
||||
return_to={Routes.note_show_path(@socket, :show, @note.slug)}
|
||||
/>
|
||||
</.modal>
|
||||
<% end %>
|
||||
<.modal :if={@live_action == :edit} return_to={Routes.note_show_path(@socket, :show, @note.slug)}>
|
||||
<.live_component
|
||||
module={MemexWeb.NoteLive.FormComponent}
|
||||
id={@note.id}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
note={@note}
|
||||
return_to={Routes.note_show_path(@socket, :show, @note.slug)}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -30,46 +30,47 @@
|
||||
pipelines={@pipelines}
|
||||
>
|
||||
<:actions :let={pipeline}>
|
||||
<%= if is_owner?(pipeline, @current_user) do %>
|
||||
<.link
|
||||
patch={Routes.pipeline_index_path(@socket, :edit, pipeline.slug)}
|
||||
data-qa={"pipeline-edit-#{pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<%= if is_owner_or_admin?(pipeline, @current_user) do %>
|
||||
<.link
|
||||
href="#"
|
||||
phx-click="delete"
|
||||
phx-value-id={pipeline.id}
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-pipeline-#{pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={is_owner?(pipeline, @current_user)}
|
||||
patch={Routes.pipeline_index_path(@socket, :edit, pipeline.slug)}
|
||||
data-qa={"pipeline-edit-#{pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<.link
|
||||
:if={is_owner_or_admin?(pipeline, @current_user)}
|
||||
href="#"
|
||||
phx-click="delete"
|
||||
phx-value-id={pipeline.id}
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-pipeline-#{pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</.link>
|
||||
</:actions>
|
||||
</.live_component>
|
||||
<% end %>
|
||||
|
||||
<%= if @current_user do %>
|
||||
<.link patch={Routes.pipeline_index_path(@socket, :new)} class="self-end btn btn-primary">
|
||||
<%= dgettext("actions", "new pipeline") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={@current_user}
|
||||
patch={Routes.pipeline_index_path(@socket, :new)}
|
||||
class="self-end btn btn-primary"
|
||||
>
|
||||
<%= dgettext("actions", "new pipeline") %>
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<%= if @live_action in [:new, :edit] do %>
|
||||
<.modal return_to={Routes.pipeline_index_path(@socket, :index)}>
|
||||
<.live_component
|
||||
module={MemexWeb.PipelineLive.FormComponent}
|
||||
id={@pipeline.id || :new}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
pipeline={@pipeline}
|
||||
return_to={Routes.pipeline_index_path(@socket, :index)}
|
||||
/>
|
||||
</.modal>
|
||||
<% end %>
|
||||
<.modal
|
||||
:if={@live_action in [:new, :edit]}
|
||||
return_to={Routes.pipeline_index_path(@socket, :index)}
|
||||
>
|
||||
<.live_component
|
||||
module={MemexWeb.PipelineLive.FormComponent}
|
||||
id={@pipeline.id || :new}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
pipeline={@pipeline}
|
||||
return_to={Routes.pipeline_index_path(@socket, :index)}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -4,23 +4,24 @@
|
||||
</h1>
|
||||
|
||||
<div class="flex flex-wrap space-x-1">
|
||||
<%= for tag <- @pipeline.tags do %>
|
||||
<.link navigate={Routes.pipeline_index_path(Endpoint, :search, tag)} class="link">
|
||||
<%= tag %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:for={tag <- @pipeline.tags}
|
||||
navigate={Routes.pipeline_index_path(Endpoint, :search, tag)}
|
||||
class="link"
|
||||
>
|
||||
<%= tag %>
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<%= if @pipeline.description do %>
|
||||
<textarea
|
||||
id="show-pipeline-description"
|
||||
class="input input-primary h-32 min-h-32"
|
||||
phx-hook="MaintainAttrs"
|
||||
phx-update="ignore"
|
||||
readonly
|
||||
phx-no-format
|
||||
><%= @pipeline.description %></textarea>
|
||||
<% end %>
|
||||
<textarea
|
||||
:if={@pipeline.description}
|
||||
id="show-pipeline-description"
|
||||
class="input input-primary h-32 min-h-32"
|
||||
phx-hook="MaintainAttrs"
|
||||
phx-update="ignore"
|
||||
readonly
|
||||
phx-no-format
|
||||
><%= @pipeline.description %></textarea>
|
||||
|
||||
<p class="self-end">
|
||||
<%= gettext("Visibility: %{visibility}", visibility: @pipeline.visibility) %>
|
||||
@ -30,25 +31,23 @@
|
||||
<.link class="btn btn-primary" navigate={Routes.pipeline_index_path(@socket, :index)}>
|
||||
<%= dgettext("actions", "back") %>
|
||||
</.link>
|
||||
<%= if is_owner?(@pipeline, @current_user) do %>
|
||||
<.link
|
||||
class="btn btn-primary"
|
||||
patch={Routes.pipeline_show_path(@socket, :edit, @pipeline.slug)}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<%= if is_owner_or_admin?(@pipeline, @current_user) do %>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
phx-click="delete"
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-pipeline-#{@pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</button>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={is_owner?(@pipeline, @current_user)}
|
||||
class="btn btn-primary"
|
||||
patch={Routes.pipeline_show_path(@socket, :edit, @pipeline.slug)}
|
||||
>
|
||||
<%= dgettext("actions", "edit") %>
|
||||
</.link>
|
||||
<button
|
||||
:if={is_owner_or_admin?(@pipeline, @current_user)}
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
phx-click="delete"
|
||||
data-confirm={dgettext("prompts", "are you sure?")}
|
||||
data-qa={"delete-pipeline-#{@pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "delete") %>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<hr class="hr" />
|
||||
@ -126,15 +125,14 @@
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= if is_owner?(@pipeline, @current_user) do %>
|
||||
<.link
|
||||
class="self-end btn btn-primary"
|
||||
patch={Routes.pipeline_show_path(@socket, :add_step, @pipeline.slug)}
|
||||
data-qa={"add-step-#{@pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "add step") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={is_owner?(@pipeline, @current_user)}
|
||||
class="self-end btn btn-primary"
|
||||
patch={Routes.pipeline_show_path(@socket, :add_step, @pipeline.slug)}
|
||||
data-qa={"add-step-#{@pipeline.id}"}
|
||||
>
|
||||
<%= dgettext("actions", "add step") %>
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<%= case @live_action do %>
|
||||
@ -150,20 +148,7 @@
|
||||
return_to={Routes.pipeline_show_path(@socket, :show, @pipeline.slug)}
|
||||
/>
|
||||
</.modal>
|
||||
<% :add_step -> %>
|
||||
<.modal return_to={Routes.pipeline_show_path(@socket, :show, @pipeline.slug)}>
|
||||
<.live_component
|
||||
module={MemexWeb.StepLive.FormComponent}
|
||||
id={@pipeline.id || :new}
|
||||
current_user={@current_user}
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
pipeline={@pipeline}
|
||||
step={@step}
|
||||
return_to={Routes.pipeline_show_path(@socket, :show, @pipeline.slug)}
|
||||
/>
|
||||
</.modal>
|
||||
<% :edit_step -> %>
|
||||
<% action when action in [:add_step, :edit_step] -> %>
|
||||
<.modal return_to={Routes.pipeline_show_path(@socket, :show, @pipeline.slug)}>
|
||||
<.live_component
|
||||
module={MemexWeb.StepLive.FormComponent}
|
||||
|
@ -5,7 +5,7 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>
|
||||
<%= dgettext("errors", "Error") %> | memEx
|
||||
<%= dgettext("errors", "Error") %> | <%= gettext("memEx") %>
|
||||
</title>
|
||||
<link rel="stylesheet" href="/css/app.css" />
|
||||
<script defer type="text/javascript" src="/js/app.js">
|
||||
|
@ -3,16 +3,12 @@
|
||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
||||
|
||||
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
|
||||
<%= if get_flash(@conn, :info) do %>
|
||||
<p class="alert alert-info" role="alert">
|
||||
<%= get_flash(@conn, :info) %>
|
||||
</p>
|
||||
<% end %>
|
||||
<%= if get_flash(@conn, :error) do %>
|
||||
<p class="alert alert-danger" role="alert">
|
||||
<%= get_flash(@conn, :error) %>
|
||||
</p>
|
||||
<% end %>
|
||||
<p :if={get_flash(@conn, :info)} class="alert alert-info" role="alert">
|
||||
<%= get_flash(@conn, :info) %>
|
||||
</p>
|
||||
<p :if={get_flash(@conn, :error)} class="alert alert-danger" role="alert">
|
||||
<%= get_flash(@conn, :error) %>
|
||||
</p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
@ -3,22 +3,25 @@
|
||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
||||
|
||||
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
|
||||
<%= if @flash && @flash |> Map.has_key?("info") do %>
|
||||
<p class="alert alert-info" role="alert" phx-click="lv:clear-flash" phx-value-key="info">
|
||||
<%= live_flash(@flash, "info") %>
|
||||
</p>
|
||||
<% end %>
|
||||
<p
|
||||
:if={@flash && @flash |> Map.has_key?("info")}
|
||||
class="alert alert-info"
|
||||
role="alert"
|
||||
phx-click="lv:clear-flash"
|
||||
phx-value-key="info"
|
||||
>
|
||||
<%= live_flash(@flash, "info") %>
|
||||
</p>
|
||||
|
||||
<%= if @flash && @flash |> Map.has_key?("error") do %>
|
||||
<p
|
||||
class="alert alert-danger"
|
||||
role="alert"
|
||||
phx-click="lv:clear-flash"
|
||||
phx-value-key="error"
|
||||
>
|
||||
<%= live_flash(@flash, "error") %>
|
||||
</p>
|
||||
<% end %>
|
||||
<p
|
||||
:if={@flash && @flash |> Map.has_key?("error")}
|
||||
class="alert alert-danger"
|
||||
role="alert"
|
||||
phx-click="lv:clear-flash"
|
||||
phx-value-key="error"
|
||||
>
|
||||
<%= live_flash(@flash, "error") %>
|
||||
</p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
@ -20,11 +20,13 @@
|
||||
<hr class="hr" />
|
||||
|
||||
<div class="flex flex-row justify-center items-center space-x-4">
|
||||
<%= if Accounts.allow_registration?() do %>
|
||||
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={Accounts.allow_registration?()}
|
||||
href={Routes.user_registration_path(@conn, :new)}
|
||||
class="btn btn-primary"
|
||||
>
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "log in") %>
|
||||
</.link>
|
||||
|
@ -9,13 +9,11 @@
|
||||
action={Routes.user_registration_path(@conn, :create)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<%= if @changeset.action && not @changeset.valid? do %>
|
||||
<div class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<div :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= if @invite do %>
|
||||
<%= hidden_input(f, :invite_token, value: @invite.token) %>
|
||||
|
@ -9,13 +9,11 @@
|
||||
action={Routes.user_reset_password_path(@conn, :update, @token)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<%= if @changeset.action && not @changeset.valid? do %>
|
||||
<div class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<div :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= label(f, :password, "new password", class: "title text-lg text-primary-400") %>
|
||||
<%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
|
||||
@ -38,11 +36,13 @@
|
||||
<hr class="hr" />
|
||||
|
||||
<div class="flex flex-row justify-center items-center space-x-4">
|
||||
<%= if Accounts.allow_registration?() do %>
|
||||
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={Accounts.allow_registration?()}
|
||||
href={Routes.user_registration_path(@conn, :new)}
|
||||
class="btn btn-primary"
|
||||
>
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "log in") %>
|
||||
</.link>
|
||||
|
@ -20,11 +20,13 @@
|
||||
<hr class="hr" />
|
||||
|
||||
<div class="flex flex-row justify-center items-center space-x-4">
|
||||
<%= if Accounts.allow_registration?() do %>
|
||||
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={Accounts.allow_registration?()}
|
||||
href={Routes.user_registration_path(@conn, :new)}
|
||||
class="btn btn-primary"
|
||||
>
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "log in") %>
|
||||
</.link>
|
||||
|
@ -10,13 +10,11 @@
|
||||
as="user"
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<%= if @error_message do %>
|
||||
<div class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= @error_message %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<div :if={@error_message} class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= @error_message %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= label(f, :email, class: "title text-lg text-primary-400") %>
|
||||
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
|
||||
@ -35,11 +33,13 @@
|
||||
<hr class="hr" />
|
||||
|
||||
<div class="flex flex-row justify-center items-center space-x-4">
|
||||
<%= if Accounts.allow_registration?() do %>
|
||||
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<% end %>
|
||||
<.link
|
||||
:if={Accounts.allow_registration?()}
|
||||
href={Routes.user_registration_path(@conn, :new)}
|
||||
class="btn btn-primary"
|
||||
>
|
||||
<%= dgettext("actions", "register") %>
|
||||
</.link>
|
||||
<.link href={Routes.user_reset_password_path(@conn, :new)} class="btn btn-primary">
|
||||
<%= dgettext("actions", "forgot your password?") %>
|
||||
</.link>
|
||||
|
@ -15,13 +15,14 @@
|
||||
<%= dgettext("actions", "change email") %>
|
||||
</h3>
|
||||
|
||||
<%= if @email_changeset.action && not @email_changeset.valid? do %>
|
||||
<div class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= dgettext("errors", "oops, something went wrong! Please check the errors below") %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<div
|
||||
:if={@email_changeset.action && not @email_changeset.valid?()}
|
||||
class="alert alert-danger col-span-3"
|
||||
>
|
||||
<p>
|
||||
<%= dgettext("errors", "oops, something went wrong! Please check the errors below") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= hidden_input(f, :action, name: "action", value: "update_email") %>
|
||||
|
||||
@ -58,13 +59,14 @@
|
||||
<%= dgettext("actions", "change password") %>
|
||||
</h3>
|
||||
|
||||
<%= if @password_changeset.action && not @password_changeset.valid? do %>
|
||||
<div class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<div
|
||||
:if={@password_changeset.action && not @password_changeset.valid?()}
|
||||
class="alert alert-danger col-span-3"
|
||||
>
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= hidden_input(f, :action, name: "action", value: "update_password") %>
|
||||
|
||||
@ -113,13 +115,14 @@
|
||||
<%= dgettext("actions", "change language") %>
|
||||
</h3>
|
||||
|
||||
<%= if @locale_changeset.action && not @locale_changeset.valid? do %>
|
||||
<div class="alert alert-danger">
|
||||
<p>
|
||||
<%= dgettext("errors", "oops, something went wrong! Please check the errors below") %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<div
|
||||
:if={@locale_changeset.action && not @locale_changeset.valid?()}
|
||||
class="alert alert-danger"
|
||||
>
|
||||
<p>
|
||||
<%= dgettext("errors", "oops, something went wrong! Please check the errors below") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= hidden_input(f, :action, name: "action", value: "update_locale") %>
|
||||
|
||||
|
@ -17,11 +17,13 @@ defmodule MemexWeb.ErrorHelpers do
|
||||
assigns = %{extra_class: extra_class, form: form, field: field}
|
||||
|
||||
~H"""
|
||||
<%= for error <- Keyword.get_values(@form.errors, @field) do %>
|
||||
<span class={["invalid-feedback", @extra_class]} phx-feedback-for={input_name(@form, @field)}>
|
||||
<%= translate_error(error) %>
|
||||
</span>
|
||||
<% end %>
|
||||
<span
|
||||
:for={error <- Keyword.get_values(@form.errors, @field)}
|
||||
class={["invalid-feedback", @extra_class]}
|
||||
phx-feedback-for={input_name(@form, @field)}
|
||||
>
|
||||
<%= translate_error(error) %>
|
||||
</span>
|
||||
"""
|
||||
end
|
||||
|
||||
|
@ -7,6 +7,11 @@ defmodule MemexWeb.LayoutView do
|
||||
# so we instruct Elixir to not warn if the dashboard route is missing.
|
||||
@compile {:no_warn_undefined, {Routes, :live_dashboard_path, 2}}
|
||||
|
||||
def get_title(%{assigns: %{title: title}}), do: gettext("memEx | %{title}", title: title)
|
||||
def get_title(_conn), do: gettext("memEx")
|
||||
def get_title(%{assigns: %{title: title}}) do
|
||||
gettext("memEx | %{title}", title: title)
|
||||
end
|
||||
|
||||
def get_title(_conn) do
|
||||
gettext("memEx")
|
||||
end
|
||||
end
|
||||
|
@ -16,19 +16,18 @@ defmodule MemexWeb.ViewHelpers do
|
||||
|
||||
def datetime(assigns) do
|
||||
~H"""
|
||||
<%= if @datetime do %>
|
||||
<time
|
||||
datetime={cast_datetime(@datetime)}
|
||||
x-data={"{
|
||||
datetime:
|
||||
Intl.DateTimeFormat([], {dateStyle: 'short', timeStyle: 'long'})
|
||||
.format(new Date(\"#{cast_datetime(@datetime)}\"))
|
||||
}"}
|
||||
x-text="datetime"
|
||||
>
|
||||
<%= cast_datetime(@datetime) %>
|
||||
</time>
|
||||
<% end %>
|
||||
<time
|
||||
:if={@datetime}
|
||||
datetime={cast_datetime(@datetime)}
|
||||
x-data={"{
|
||||
datetime:
|
||||
Intl.DateTimeFormat([], {dateStyle: 'short', timeStyle: 'long'})
|
||||
.format(new Date(\"#{cast_datetime(@datetime)}\"))
|
||||
}"}
|
||||
x-text="datetime"
|
||||
>
|
||||
<%= cast_datetime(@datetime) %>
|
||||
</time>
|
||||
"""
|
||||
end
|
||||
|
||||
@ -48,19 +47,18 @@ defmodule MemexWeb.ViewHelpers do
|
||||
|
||||
def date(assigns) do
|
||||
~H"""
|
||||
<%= if @date do %>
|
||||
<time
|
||||
datetime={@date |> Date.to_iso8601(:extended)}
|
||||
x-data={"{
|
||||
date:
|
||||
Intl.DateTimeFormat([], {timeZone: 'Etc/UTC', dateStyle: 'short'})
|
||||
.format(new Date(\"#{@date |> Date.to_iso8601(:extended)}\"))
|
||||
}"}
|
||||
x-text="date"
|
||||
>
|
||||
<%= @date |> Date.to_iso8601(:extended) %>
|
||||
</time>
|
||||
<% end %>
|
||||
<time
|
||||
:if={@date}
|
||||
datetime={@date |> Date.to_iso8601(:extended)}
|
||||
x-data={"{
|
||||
date:
|
||||
Intl.DateTimeFormat([], {timeZone: 'Etc/UTC', dateStyle: 'short'})
|
||||
.format(new Date(\"#{@date |> Date.to_iso8601(:extended)}\"))
|
||||
}"}
|
||||
x-text="date"
|
||||
>
|
||||
<%= @date |> Date.to_iso8601(:extended) %>
|
||||
</time>
|
||||
"""
|
||||
end
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:30
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
@ -22,30 +22,30 @@ msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:33
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:28
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:44
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "change email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:113
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:131
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:134
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "change language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:58
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:99
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "change password"
|
||||
msgstr ""
|
||||
@ -55,29 +55,29 @@ msgstr ""
|
||||
msgid "create invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:49
|
||||
#: lib/memex_web/live/context_live/show.html.heex:40
|
||||
#: lib/memex_web/live/note_live/index.html.heex:49
|
||||
#: lib/memex_web/live/note_live/show.html.heex:37
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
|
||||
#: lib/memex_web/live/context_live/index.html.heex:48
|
||||
#: lib/memex_web/live/context_live/show.html.heex:41
|
||||
#: lib/memex_web/live/note_live/index.html.heex:48
|
||||
#: lib/memex_web/live/note_live/show.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:48
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:119
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:154
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete user"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:38
|
||||
#: lib/memex_web/live/context_live/show.html.heex:29
|
||||
#: lib/memex_web/live/context_live/show.html.heex:31
|
||||
#: lib/memex_web/live/note_live/index.html.heex:38
|
||||
#: lib/memex_web/live/note_live/show.html.heex:26
|
||||
#: lib/memex_web/live/note_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:108
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
@ -87,39 +87,39 @@ msgstr ""
|
||||
msgid "invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:125
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:48
|
||||
#: lib/memex_web/components/topbar.ex:124
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:46
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:29
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:3
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:32
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "log in"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:58
|
||||
#: lib/memex_web/live/context_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new context"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/note_live/index.html.heex:58
|
||||
#: lib/memex_web/live/note_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new note"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:58
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new pipeline"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:115
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:25
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:41
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:43
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:25
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:40
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:39
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
@ -132,19 +132,19 @@ msgstr ""
|
||||
msgid "save"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/show.html.heex:22
|
||||
#: lib/memex_web/live/note_live/show.html.heex:22
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
|
||||
#: lib/memex_web/live/context_live/show.html.heex:24
|
||||
#: lib/memex_web/live/note_live/show.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "back"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:135
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:134
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "add step"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:51
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:49
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -156,7 +156,7 @@ msgstr ""
|
||||
msgid "send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:145
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "export data as json"
|
||||
msgstr ""
|
||||
|
@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Language: de\n"
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:30
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
@ -22,30 +22,30 @@ msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:33
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:28
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:44
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "change email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:113
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:131
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:134
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "change language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:58
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:99
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "change password"
|
||||
msgstr ""
|
||||
@ -55,29 +55,29 @@ msgstr ""
|
||||
msgid "create invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:49
|
||||
#: lib/memex_web/live/context_live/show.html.heex:40
|
||||
#: lib/memex_web/live/note_live/index.html.heex:49
|
||||
#: lib/memex_web/live/note_live/show.html.heex:37
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
|
||||
#: lib/memex_web/live/context_live/index.html.heex:48
|
||||
#: lib/memex_web/live/context_live/show.html.heex:41
|
||||
#: lib/memex_web/live/note_live/index.html.heex:48
|
||||
#: lib/memex_web/live/note_live/show.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:48
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:119
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:154
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete user"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:38
|
||||
#: lib/memex_web/live/context_live/show.html.heex:29
|
||||
#: lib/memex_web/live/context_live/show.html.heex:31
|
||||
#: lib/memex_web/live/note_live/index.html.heex:38
|
||||
#: lib/memex_web/live/note_live/show.html.heex:26
|
||||
#: lib/memex_web/live/note_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:108
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
@ -87,39 +87,39 @@ msgstr ""
|
||||
msgid "invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:125
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:48
|
||||
#: lib/memex_web/components/topbar.ex:124
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:46
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:29
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:3
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:32
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "log in"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:58
|
||||
#: lib/memex_web/live/context_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new context"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/note_live/index.html.heex:58
|
||||
#: lib/memex_web/live/note_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new note"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:58
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new pipeline"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:115
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:25
|
||||
#: lib/memex_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:41
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:43
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:25
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:40
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:39
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
@ -132,19 +132,19 @@ msgstr ""
|
||||
msgid "save"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/show.html.heex:22
|
||||
#: lib/memex_web/live/note_live/show.html.heex:22
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
|
||||
#: lib/memex_web/live/context_live/show.html.heex:24
|
||||
#: lib/memex_web/live/note_live/show.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "back"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:135
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:134
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "add step"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:51
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:49
|
||||
#: lib/memex_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
@ -156,7 +156,7 @@ msgstr ""
|
||||
msgid "send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:145
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "export data as json"
|
||||
msgstr ""
|
||||
|
@ -21,7 +21,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:90
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr ""
|
||||
@ -31,17 +31,17 @@ msgstr ""
|
||||
msgid "Confirm your account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:27
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:20
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:21
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/layout/live.html.heex:40
|
||||
#: lib/memex_web/templates/layout/live.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
@ -56,14 +56,14 @@ msgstr ""
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses left"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/show.html.heex:17
|
||||
#: lib/memex_web/live/note_live/show.html.heex:17
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:26
|
||||
#: lib/memex_web/live/context_live/show.html.heex:19
|
||||
#: lib/memex_web/live/note_live/show.html.heex:19
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Visibility: %{visibility}"
|
||||
msgstr ""
|
||||
@ -83,7 +83,7 @@ msgstr ""
|
||||
msgid "built with sharing and collaboration in mind"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:78
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "confirm new password"
|
||||
msgstr ""
|
||||
@ -111,13 +111,13 @@ msgstr ""
|
||||
msgid "convenient:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:32
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:87
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "current password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:59
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "disable"
|
||||
msgstr ""
|
||||
@ -137,7 +137,7 @@ msgstr ""
|
||||
msgid "edit invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:28
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "email"
|
||||
msgstr ""
|
||||
@ -147,13 +147,13 @@ msgstr ""
|
||||
msgid "email unconfirmed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:63
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "enable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:36
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:126
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:34
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "english"
|
||||
msgstr ""
|
||||
@ -163,12 +163,12 @@ msgstr ""
|
||||
msgid "features"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:137
|
||||
#: lib/memex_web/live/home_live.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "get involved!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:158
|
||||
#: lib/memex_web/live/home_live.html.heex:156
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "help translate"
|
||||
msgstr ""
|
||||
@ -183,12 +183,12 @@ msgstr ""
|
||||
msgid "invite disabled"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:114
|
||||
#: lib/memex_web/live/home_live.html.heex:112
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "invite only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:74
|
||||
#: lib/memex_web/components/topbar.ex:73
|
||||
#: lib/memex_web/live/invite_live/index.ex:41
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -210,7 +210,7 @@ msgstr ""
|
||||
msgid "new invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:71
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new password"
|
||||
msgstr ""
|
||||
@ -266,7 +266,7 @@ msgstr ""
|
||||
msgid "provide context around a single topic and hotlink to your notes"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:113
|
||||
#: lib/memex_web/live/home_live.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "public signups"
|
||||
msgstr ""
|
||||
@ -276,12 +276,12 @@ msgstr ""
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:110
|
||||
#: lib/memex_web/live/home_live.html.heex:108
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "registration:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:169
|
||||
#: lib/memex_web/live/home_live.html.heex:167
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "report bugs or request features"
|
||||
msgstr ""
|
||||
@ -301,7 +301,7 @@ msgstr ""
|
||||
msgid "select privacy"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:79
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "set unlimited"
|
||||
msgstr ""
|
||||
@ -325,17 +325,17 @@ msgstr ""
|
||||
msgid "tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:120
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "users"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:120
|
||||
#: lib/memex_web/live/home_live.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "version:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:147
|
||||
#: lib/memex_web/live/home_live.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "view the source code"
|
||||
msgstr ""
|
||||
@ -454,24 +454,20 @@ msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:23
|
||||
#: lib/memex_web/live/home_live.html.heex:3
|
||||
#: lib/memex_web/templates/error/error.html.heex:8
|
||||
#: lib/memex_web/templates/layout/root.html.heex:8
|
||||
#: lib/memex_web/templates/layout/root.html.heex:9
|
||||
#: lib/memex_web/views/layout_view.ex:11
|
||||
#: lib/memex_web/views/layout_view.ex:15
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "memEx"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "read more on how to use %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/faq_live.html.heex:11
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "what is this?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:68
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{position}. %{title}"
|
||||
msgstr ""
|
||||
@ -496,12 +492,12 @@ msgstr ""
|
||||
msgid "add step to %{slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:62
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:61
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "no steps"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:57
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:56
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "steps:"
|
||||
msgstr ""
|
||||
@ -606,7 +602,7 @@ msgstr ""
|
||||
msgid "zettelkasten"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/views/layout_view.ex:10
|
||||
#: lib/memex_web/views/layout_view.ex:11
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "memEx | %{title}"
|
||||
msgstr ""
|
||||
@ -636,7 +632,7 @@ msgstr ""
|
||||
msgid "while memEx fully supports multiple users, each memEx instance should be treated as a single cohesive and collaborative document."
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:30
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "language"
|
||||
msgstr ""
|
||||
@ -660,3 +656,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "uses left: unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:41
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "read more on how to use memEx"
|
||||
msgstr ""
|
||||
|
@ -25,9 +25,9 @@ msgstr ""
|
||||
msgid "Invalid email or password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:15
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:15
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:14
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr ""
|
||||
@ -95,8 +95,8 @@ msgstr ""
|
||||
msgid "must have the @ sign and no spaces"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:21
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:119
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "oops, something went wrong! Please check the errors below"
|
||||
msgstr ""
|
||||
|
@ -90,7 +90,7 @@ msgstr ""
|
||||
msgid "Please check your email to verify your account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:30
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Saving..."
|
||||
msgstr ""
|
||||
@ -100,53 +100,48 @@ msgstr ""
|
||||
msgid "Your account has been deleted"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to change your language?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:102
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:132
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:97
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:48
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:152
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:155
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to delete your account?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:92
|
||||
#: lib/memex_web/components/topbar.ex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to log out?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:74
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:46
|
||||
#: lib/memex_web/live/context_live/show.html.heex:37
|
||||
#: lib/memex_web/live/note_live/index.html.heex:46
|
||||
#: lib/memex_web/live/note_live/show.html.heex:34
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:46
|
||||
#: lib/memex_web/live/context_live/index.html.heex:45
|
||||
#: lib/memex_web/live/context_live/show.html.heex:38
|
||||
#: lib/memex_web/live/note_live/index.html.heex:45
|
||||
#: lib/memex_web/live/note_live/show.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:45
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:46
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:116
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:95
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "register to setup %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_session_controller.ex:23
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "logged out successfully."
|
||||
@ -156,3 +151,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "language updated successfully."
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:95
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "register to setup memEx"
|
||||
msgstr ""
|
||||
|
@ -10,7 +10,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:90
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr ""
|
||||
@ -20,17 +20,17 @@ msgstr ""
|
||||
msgid "Confirm your account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:27
|
||||
#: lib/memex_web/templates/user_session/new.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:20
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:21
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/layout/live.html.heex:40
|
||||
#: lib/memex_web/templates/layout/live.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
@ -45,14 +45,14 @@ msgstr ""
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses left"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/show.html.heex:17
|
||||
#: lib/memex_web/live/note_live/show.html.heex:17
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:26
|
||||
#: lib/memex_web/live/context_live/show.html.heex:19
|
||||
#: lib/memex_web/live/note_live/show.html.heex:19
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Visibility: %{visibility}"
|
||||
msgstr ""
|
||||
@ -72,7 +72,7 @@ msgstr ""
|
||||
msgid "built with sharing and collaboration in mind"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:78
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "confirm new password"
|
||||
msgstr ""
|
||||
@ -100,13 +100,13 @@ msgstr ""
|
||||
msgid "convenient:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:32
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:87
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "current password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:59
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "disable"
|
||||
msgstr ""
|
||||
@ -126,7 +126,7 @@ msgstr ""
|
||||
msgid "edit invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:28
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "email"
|
||||
msgstr ""
|
||||
@ -136,13 +136,13 @@ msgstr ""
|
||||
msgid "email unconfirmed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:63
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "enable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:36
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:126
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:34
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "english"
|
||||
msgstr ""
|
||||
@ -152,12 +152,12 @@ msgstr ""
|
||||
msgid "features"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:137
|
||||
#: lib/memex_web/live/home_live.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "get involved!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:158
|
||||
#: lib/memex_web/live/home_live.html.heex:156
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "help translate"
|
||||
msgstr ""
|
||||
@ -172,12 +172,12 @@ msgstr ""
|
||||
msgid "invite disabled"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:114
|
||||
#: lib/memex_web/live/home_live.html.heex:112
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "invite only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:74
|
||||
#: lib/memex_web/components/topbar.ex:73
|
||||
#: lib/memex_web/live/invite_live/index.ex:41
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -199,7 +199,7 @@ msgstr ""
|
||||
msgid "new invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:71
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "new password"
|
||||
msgstr ""
|
||||
@ -255,7 +255,7 @@ msgstr ""
|
||||
msgid "provide context around a single topic and hotlink to your notes"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:113
|
||||
#: lib/memex_web/live/home_live.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "public signups"
|
||||
msgstr ""
|
||||
@ -265,12 +265,12 @@ msgstr ""
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:110
|
||||
#: lib/memex_web/live/home_live.html.heex:108
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "registration:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:169
|
||||
#: lib/memex_web/live/home_live.html.heex:167
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "report bugs or request features"
|
||||
msgstr ""
|
||||
@ -290,7 +290,7 @@ msgstr ""
|
||||
msgid "select privacy"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:79
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "set unlimited"
|
||||
msgstr ""
|
||||
@ -314,17 +314,17 @@ msgstr ""
|
||||
msgid "tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:120
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "users"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:120
|
||||
#: lib/memex_web/live/home_live.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "version:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:147
|
||||
#: lib/memex_web/live/home_live.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "view the source code"
|
||||
msgstr ""
|
||||
@ -443,24 +443,20 @@ msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:23
|
||||
#: lib/memex_web/live/home_live.html.heex:3
|
||||
#: lib/memex_web/templates/error/error.html.heex:8
|
||||
#: lib/memex_web/templates/layout/root.html.heex:8
|
||||
#: lib/memex_web/templates/layout/root.html.heex:9
|
||||
#: lib/memex_web/views/layout_view.ex:11
|
||||
#: lib/memex_web/views/layout_view.ex:15
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "memEx"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "read more on how to use %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/faq_live.html.heex:11
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "what is this?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:68
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{position}. %{title}"
|
||||
msgstr ""
|
||||
@ -485,12 +481,12 @@ msgstr ""
|
||||
msgid "add step to %{slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:62
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:61
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "no steps"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:57
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:56
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "steps:"
|
||||
msgstr ""
|
||||
@ -595,7 +591,7 @@ msgstr ""
|
||||
msgid "zettelkasten"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/views/layout_view.ex:10
|
||||
#: lib/memex_web/views/layout_view.ex:11
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "memEx | %{title}"
|
||||
msgstr ""
|
||||
@ -625,7 +621,7 @@ msgstr ""
|
||||
msgid "while memEx fully supports multiple users, each memEx instance should be treated as a single cohesive and collaborative document."
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "language"
|
||||
msgstr ""
|
||||
@ -649,3 +645,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "uses left: unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "read more on how to use memEx"
|
||||
msgstr ""
|
||||
|
@ -25,9 +25,9 @@ msgstr ""
|
||||
msgid "Invalid email or password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:15
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:15
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/memex_web/templates/user_registration/new.html.heex:14
|
||||
#: lib/memex_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr ""
|
||||
@ -95,8 +95,8 @@ msgstr ""
|
||||
msgid "must have the @ sign and no spaces"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:21
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:119
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "oops, something went wrong! Please check the errors below"
|
||||
msgstr ""
|
||||
|
@ -90,7 +90,7 @@ msgstr ""
|
||||
msgid "Please check your email to verify your account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:30
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Saving..."
|
||||
msgstr ""
|
||||
@ -100,53 +100,48 @@ msgstr ""
|
||||
msgid "Your account has been deleted"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to change your language?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:102
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:132
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:97
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:48
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:152
|
||||
#: lib/memex_web/templates/user_settings/edit.html.heex:155
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to delete your account?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/topbar.ex:92
|
||||
#: lib/memex_web/components/topbar.ex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to log out?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:74
|
||||
#: lib/memex_web/live/invite_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/index.html.heex:46
|
||||
#: lib/memex_web/live/context_live/show.html.heex:37
|
||||
#: lib/memex_web/live/note_live/index.html.heex:46
|
||||
#: lib/memex_web/live/note_live/show.html.heex:34
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:46
|
||||
#: lib/memex_web/live/context_live/index.html.heex:45
|
||||
#: lib/memex_web/live/context_live/show.html.heex:38
|
||||
#: lib/memex_web/live/note_live/index.html.heex:45
|
||||
#: lib/memex_web/live/note_live/show.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:45
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:46
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:116
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:95
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "register to setup %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_session_controller.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "logged out successfully."
|
||||
@ -156,3 +151,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "language updated successfully."
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/home_live.html.heex:95
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "register to setup memEx"
|
||||
msgstr ""
|
||||
|
Loading…
Reference in New Issue
Block a user