Compare commits

...

2 Commits

Author SHA1 Message Date
56956f37fb migrate view helper components into core components
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-18 00:29:51 -04:00
a0b93d0f46 use better gettext domain for aria labels 2023-03-18 00:26:32 -04:00
21 changed files with 331 additions and 343 deletions

View File

@ -136,6 +136,39 @@ defmodule MemexWeb.CoreComponents do
"""
end
attr :datetime, :any, required: true, doc: "A `DateTime` struct or nil"
@doc """
Phoenix.Component for a <time> element that renders the naivedatetime in the
user's local timezone with Alpine.js
"""
def datetime(assigns)
@spec cast_datetime(NaiveDateTime.t() | nil) :: String.t()
defp cast_datetime(%NaiveDateTime{} = datetime) do
datetime |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_iso8601(:extended)
end
defp cast_datetime(_datetime), do: ""
attr :date, :any, required: true, doc: "A `Date` struct or nil"
@doc """
Phoenix.Component for a <date> element that renders the Date in the user's
local timezone with Alpine.js
"""
def date(assigns)
attr :content, :string, required: true
attr :filename, :string, default: "qrcode", doc: "filename without .png extension"
attr :image_class, :string, default: "w-64 h-max"
attr :width, :integer, default: 384, doc: "width of png to generate"
@doc """
Creates a downloadable QR Code element
"""
def qr_code(assigns)
attr :note, Note, required: true
def note_content(assigns) do

View File

@ -0,0 +1,7 @@
<time :if={@date} datetime={@date |> Date.to_iso8601(:extended)} x-data={~s<{
date:
Intl.DateTimeFormat([], {timeZone: 'Etc/UTC', dateStyle: 'short'})
.format(new Date("#{Date.to_iso8601(@date, :extended)}"))
}>} x-text="date">
<%= @date |> Date.to_iso8601(:extended) %>
</time>

View File

@ -0,0 +1,7 @@
<time :if={@datetime} datetime={cast_datetime(@datetime)} x-data={~s/{
datetime:
Intl.DateTimeFormat([], {dateStyle: 'short', timeStyle: 'long'})
.format(new Date("#{cast_datetime(@datetime)}"))
}/} x-text="datetime">
<%= cast_datetime(@datetime) %>
</time>

View File

@ -0,0 +1,3 @@
<a href={qr_code_image(@content)} download={@filename <> ".png"}>
<img class={@image_class} alt={@filename} src={qr_code_image(@content)} />
</a>

View File

@ -34,7 +34,7 @@
<.link
:if={is_owner?(context, @current_user)}
patch={Routes.context_index_path(@socket, :edit, context.slug)}
aria-label={gettext("edit %{context_slug}", context_slug: context.slug)}
aria-label={dgettext("actions", "edit %{context_slug}", context_slug: context.slug)}
>
<%= dgettext("actions", "edit") %>
</.link>
@ -44,7 +44,7 @@
phx-click="delete"
phx-value-id={context.id}
data-confirm={dgettext("prompts", "are you sure?")}
aria-label={gettext("delete %{context_slug}", context_slug: context.slug)}
aria-label={dgettext("actions", "delete %{context_slug}", context_slug: context.slug)}
>
<%= dgettext("actions", "delete") %>
</.link>

View File

@ -36,7 +36,7 @@
class="btn btn-primary"
phx-click="delete"
data-confirm={dgettext("prompts", "are you sure?")}
aria-label={gettext("delete %{context_slug}", context_slug: @context.slug)}
aria-label={dgettext("actions", "delete %{context_slug}", context_slug: @context.slug)}
>
<%= dgettext("actions", "delete") %>
</button>

View File

@ -21,7 +21,9 @@
type="submit"
class="mx-2 my-1 btn btn-secondary"
phx-click={JS.dispatch("memex:clipcopy", to: "#code-#{invite.id}")}
aria-label={gettext("copy invite link for %{invite_name}", invite_name: invite.name)}
aria-label={
dgettext("actions", "copy invite link for %{invite_name}", invite_name: invite.name)
}
>
<%= dgettext("actions", "copy") %>
</button>
@ -30,7 +32,9 @@
<.link
patch={Routes.invite_index_path(Endpoint, :edit, invite)}
class="text-primary-400 link"
aria-label={gettext("edit invite for %{invite_name}", invite_name: invite.name)}
aria-label={
dgettext("actions", "edit invite for %{invite_name}", invite_name: invite.name)
}
>
<i class="fa-fw fa-lg fas fa-edit"></i>
</.link>
@ -45,7 +49,9 @@
invite_name: invite.name
)
}
aria-label={gettext("delete invite for %{invite_name}", invite_name: invite.name)}
aria-label={
dgettext("actions", "delete invite for %{invite_name}", invite_name: invite.name)
}
>
<i class="fa-fw fa-lg fas fa-trash"></i>
</.link>

View File

@ -34,7 +34,7 @@
<.link
:if={is_owner?(note, @current_user)}
patch={Routes.note_index_path(@socket, :edit, note.slug)}
aria-label={gettext("edit %{note_slug}", note_slug: note.slug)}
aria-label={dgettext("actions", "edit %{note_slug}", note_slug: note.slug)}
>
<%= dgettext("actions", "edit") %>
</.link>
@ -44,7 +44,7 @@
phx-click="delete"
phx-value-id={note.id}
data-confirm={dgettext("prompts", "are you sure?")}
aria-label={gettext("delete %{note_slug}", note_slug: note.slug)}
aria-label={dgettext("actions", "delete %{note_slug}", note_slug: note.slug)}
>
<%= dgettext("actions", "delete") %>
</.link>

View File

@ -36,7 +36,7 @@
class="btn btn-primary"
phx-click="delete"
data-confirm={dgettext("prompts", "are you sure?")}
aria-label={gettext("delete %{note_slug}", note_slug: @note.slug)}
aria-label={dgettext("actions", "delete %{note_slug}", note_slug: @note.slug)}
>
<%= dgettext("actions", "delete") %>
</button>

View File

@ -34,7 +34,7 @@
<.link
:if={is_owner?(pipeline, @current_user)}
patch={Routes.pipeline_index_path(@socket, :edit, pipeline.slug)}
aria-label={gettext("edit %{pipeline_slug}", pipeline_slug: pipeline.slug)}
aria-label={dgettext("actions", "edit %{pipeline_slug}", pipeline_slug: pipeline.slug)}
>
<%= dgettext("actions", "edit") %>
</.link>
@ -44,7 +44,9 @@
phx-click="delete"
phx-value-id={pipeline.id}
data-confirm={dgettext("prompts", "are you sure?")}
aria-label={gettext("delete %{pipeline_slug}", pipeline_slug: pipeline.slug)}
aria-label={
dgettext("actions", "delete %{pipeline_slug}", pipeline_slug: pipeline.slug)
}
>
<%= dgettext("actions", "delete") %>
</.link>

View File

@ -44,7 +44,7 @@
class="btn btn-primary"
phx-click="delete"
data-confirm={dgettext("prompts", "are you sure?")}
aria-label={gettext("delete %{pipeline_slug}", pipeline_slug: @pipeline.slug)}
aria-label={dgettext("actions", "delete %{pipeline_slug}", pipeline_slug: @pipeline.slug)}
>
<%= dgettext("actions", "delete") %>
</button>
@ -78,7 +78,7 @@
phx-click="reorder_step"
phx-value-direction="up"
phx-value-step-id={step_id}
aria-label={gettext("move %{step_title} up", step_title: step.title)}
aria-label={dgettext("actions", "move %{step_title} up", step_title: step.title)}
>
<i class="fas text-xl fa-chevron-up"></i>
</button>
@ -93,7 +93,9 @@
phx-click="reorder_step"
phx-value-direction="down"
phx-value-step-id={step_id}
aria-label={gettext("move %{step_title} down", step_title: step.title)}
aria-label={
dgettext("actions", "move %{step_title} down", step_title: step.title)
}
>
<i class="fas text-xl fa-chevron-down"></i>
</button>
@ -102,7 +104,7 @@
<.link
class="self-end btn btn-primary"
patch={Routes.pipeline_show_path(@socket, :edit_step, @pipeline.slug, step_id)}
aria-label={gettext("edit %{step_title}", step_title: step.title)}
aria-label={dgettext("actions", "edit %{step_title}", step_title: step.title)}
>
<%= dgettext("actions", "edit") %>
</.link>
@ -113,7 +115,7 @@
phx-click="delete_step"
phx-value-step-id={step_id}
data-confirm={dgettext("prompts", "are you sure?")}
aria-label={gettext("delete %{step_title}", step_title: step.title)}
aria-label={dgettext("actions", "delete %{step_title}", step_title: step.title)}
>
<%= dgettext("actions", "delete") %>
</button>

View File

@ -7,61 +7,6 @@ defmodule MemexWeb.ViewHelpers do
use Phoenix.Component
@doc """
Phoenix.Component for a <time> element that renders the naivedatetime in the
user's local timezone with Alpine.js
"""
attr :datetime, :any, required: true, doc: "A `DateTime` struct or nil"
def datetime(assigns) do
~H"""
<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
@spec cast_datetime(NaiveDateTime.t() | nil) :: String.t()
defp cast_datetime(%NaiveDateTime{} = datetime) do
datetime |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_iso8601(:extended)
end
defp cast_datetime(_datetime), do: ""
@doc """
Phoenix.Component for a <date> element that renders the Date in the user's
local timezone with Alpine.js
"""
attr :date, :any, required: true, doc: "A `Date` struct or nil"
def date(assigns) do
~H"""
<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
@doc """
Displays content in a QR code as a base64 encoded PNG
"""
@ -76,21 +21,4 @@ defmodule MemexWeb.ViewHelpers do
"data:image/png;base64," <> img_data
end
@doc """
Creates a downloadable QR Code element
"""
attr :content, :string, required: true
attr :filename, :string, default: "qrcode", doc: "filename without .png extension"
attr :image_class, :string, default: "w-64 h-max"
attr :width, :integer, default: 384, doc: "width of png to generate"
def qr_code(assigns) do
~H"""
<a href={qr_code_image(@content)} download={@filename <> ".png"}>
<img class={@image_class} alt={@filename} src={qr_code_image(@content)} />
</a>
"""
end
end

View File

@ -45,7 +45,7 @@ msgstr ""
msgid "change password"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:83
#: lib/memex_web/live/invite_live/index.html.heex:89
#, elixir-autogen, elixir-format
msgid "create invite"
msgstr ""
@ -54,9 +54,9 @@ msgstr ""
#: lib/memex_web/live/context_live/show.html.heex:41
#: lib/memex_web/live/note_live/index.html.heex:49
#: lib/memex_web/live/note_live/show.html.heex:41
#: lib/memex_web/live/pipeline_live/index.html.heex:49
#: lib/memex_web/live/pipeline_live/index.html.heex:51
#: lib/memex_web/live/pipeline_live/show.html.heex:49
#: lib/memex_web/live/pipeline_live/show.html.heex:118
#: lib/memex_web/live/pipeline_live/show.html.heex:120
#, elixir-autogen, elixir-format
msgid "delete"
msgstr ""
@ -72,7 +72,7 @@ msgstr ""
#: lib/memex_web/live/note_live/show.html.heex:31
#: lib/memex_web/live/pipeline_live/index.html.heex:39
#: lib/memex_web/live/pipeline_live/show.html.heex:39
#: lib/memex_web/live/pipeline_live/show.html.heex:107
#: lib/memex_web/live/pipeline_live/show.html.heex:109
#, elixir-autogen, elixir-format
msgid "edit"
msgstr ""
@ -103,7 +103,7 @@ msgstr ""
msgid "new note"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:60
#: lib/memex_web/live/pipeline_live/index.html.heex:62
#, elixir-autogen, elixir-format
msgid "new pipeline"
msgstr ""
@ -134,7 +134,7 @@ msgstr ""
msgid "back"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:133
#: lib/memex_web/live/pipeline_live/show.html.heex:135
#, elixir-autogen, elixir-format
msgid "add step"
msgstr ""
@ -156,7 +156,75 @@ msgstr ""
msgid "export data as json"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:26
#: lib/memex_web/live/invite_live/index.html.heex:28
#, elixir-autogen, elixir-format
msgid "copy"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:25
#, elixir-autogen, elixir-format
msgid "copy invite link for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:47
#: lib/memex_web/live/context_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:48
#: lib/memex_web/live/pipeline_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:118
#, elixir-autogen, elixir-format
msgid "delete %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:53
#, elixir-autogen, elixir-format
msgid "delete invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "edit %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:36
#, elixir-autogen, elixir-format
msgid "edit invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "move %{step_title} down"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:81
#, elixir-autogen, elixir-format
msgid "move %{step_title} up"
msgstr ""

View File

@ -45,7 +45,7 @@ msgstr ""
msgid "change password"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:83
#: lib/memex_web/live/invite_live/index.html.heex:89
#, elixir-autogen, elixir-format
msgid "create invite"
msgstr ""
@ -54,9 +54,9 @@ msgstr ""
#: lib/memex_web/live/context_live/show.html.heex:41
#: lib/memex_web/live/note_live/index.html.heex:49
#: lib/memex_web/live/note_live/show.html.heex:41
#: lib/memex_web/live/pipeline_live/index.html.heex:49
#: lib/memex_web/live/pipeline_live/index.html.heex:51
#: lib/memex_web/live/pipeline_live/show.html.heex:49
#: lib/memex_web/live/pipeline_live/show.html.heex:118
#: lib/memex_web/live/pipeline_live/show.html.heex:120
#, elixir-autogen, elixir-format
msgid "delete"
msgstr ""
@ -72,7 +72,7 @@ msgstr ""
#: lib/memex_web/live/note_live/show.html.heex:31
#: lib/memex_web/live/pipeline_live/index.html.heex:39
#: lib/memex_web/live/pipeline_live/show.html.heex:39
#: lib/memex_web/live/pipeline_live/show.html.heex:107
#: lib/memex_web/live/pipeline_live/show.html.heex:109
#, elixir-autogen, elixir-format
msgid "edit"
msgstr ""
@ -103,7 +103,7 @@ msgstr ""
msgid "new note"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:60
#: lib/memex_web/live/pipeline_live/index.html.heex:62
#, elixir-autogen, elixir-format
msgid "new pipeline"
msgstr ""
@ -134,7 +134,7 @@ msgstr ""
msgid "back"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:133
#: lib/memex_web/live/pipeline_live/show.html.heex:135
#, elixir-autogen, elixir-format
msgid "add step"
msgstr ""
@ -156,7 +156,75 @@ msgstr ""
msgid "export data as json"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:26
#: lib/memex_web/live/invite_live/index.html.heex:28
#, elixir-autogen, elixir-format
msgid "copy"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:25
#, elixir-autogen, elixir-format
msgid "copy invite link for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:47
#: lib/memex_web/live/context_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:48
#: lib/memex_web/live/pipeline_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:118
#, elixir-autogen, elixir-format
msgid "delete %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:53
#, elixir-autogen, elixir-format
msgid "delete invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "edit %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:36
#, elixir-autogen, elixir-format
msgid "edit invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "move %{step_title} down"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:81
#, elixir-autogen, elixir-format
msgid "move %{step_title} up"
msgstr ""

View File

@ -84,7 +84,7 @@ msgstr ""
msgid "current password"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:59
#: lib/memex_web/live/invite_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "disable"
msgstr ""
@ -117,7 +117,7 @@ msgstr ""
msgid "email unconfirmed"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:59
#: lib/memex_web/live/invite_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "enable"
msgstr ""
@ -267,7 +267,7 @@ msgstr ""
msgid "select privacy"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:74
#: lib/memex_web/live/invite_live/index.html.heex:80
#, elixir-autogen, elixir-format
msgid "set unlimited"
msgstr ""
@ -292,7 +292,7 @@ msgstr ""
msgid "tags"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:119
#: lib/memex_web/live/invite_live/index.html.heex:125
#, elixir-autogen, elixir-format
msgid "users"
msgstr ""
@ -649,7 +649,7 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:91
#: lib/memex_web/live/invite_live/index.html.heex:97
#, elixir-autogen, elixir-format, fuzzy
msgid "admins"
msgstr ""
@ -674,71 +674,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "uses left"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:24
#, elixir-autogen, elixir-format
msgid "copy invite link for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:47
#: lib/memex_web/live/context_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:47
#: lib/memex_web/live/pipeline_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:116
#, elixir-autogen, elixir-format
msgid "delete %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:48
#, elixir-autogen, elixir-format
msgid "delete invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "edit %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "edit %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "edit %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:105
#, elixir-autogen, elixir-format
msgid "edit %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:33
#, elixir-autogen, elixir-format
msgid "edit invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:96
#, elixir-autogen, elixir-format
msgid "move %{step_title} down"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:81
#, elixir-autogen, elixir-format
msgid "move %{step_title} up"
msgstr ""

View File

@ -65,7 +65,7 @@ msgstr ""
msgid "are you sure you want to change your language?"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:44
#: lib/memex_web/live/invite_live/index.html.heex:48
#, elixir-autogen, elixir-format
msgid "are you sure you want to delete the invite for %{invite_name}?"
msgstr ""
@ -80,7 +80,7 @@ msgstr ""
msgid "are you sure you want to log out?"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:69
#: lib/memex_web/live/invite_live/index.html.heex:75
#, elixir-autogen, elixir-format
msgid "are you sure you want to make %{invite_name} unlimited?"
msgstr ""
@ -91,7 +91,7 @@ msgstr ""
#: lib/memex_web/live/note_live/show.html.heex:38
#: lib/memex_web/live/pipeline_live/index.html.heex:46
#: lib/memex_web/live/pipeline_live/show.html.heex:46
#: lib/memex_web/live/pipeline_live/show.html.heex:115
#: lib/memex_web/live/pipeline_live/show.html.heex:117
#, elixir-autogen, elixir-format
msgid "are you sure?"
msgstr ""
@ -151,8 +151,8 @@ msgstr ""
msgid "your account has been deleted"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:102
#: lib/memex_web/live/invite_live/index.html.heex:130
#: lib/memex_web/live/invite_live/index.html.heex:108
#: lib/memex_web/live/invite_live/index.html.heex:136
#, elixir-autogen, elixir-format, fuzzy
msgid "are you sure you want to delete %{email}? this action is permanent!"
msgstr ""

View File

@ -82,7 +82,7 @@ msgstr ""
msgid "current password"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:59
#: lib/memex_web/live/invite_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "disable"
msgstr ""
@ -115,7 +115,7 @@ msgstr ""
msgid "email unconfirmed"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:59
#: lib/memex_web/live/invite_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "enable"
msgstr ""
@ -265,7 +265,7 @@ msgstr ""
msgid "select privacy"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:74
#: lib/memex_web/live/invite_live/index.html.heex:80
#, elixir-autogen, elixir-format
msgid "set unlimited"
msgstr ""
@ -290,7 +290,7 @@ msgstr ""
msgid "tags"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:119
#: lib/memex_web/live/invite_live/index.html.heex:125
#, elixir-autogen, elixir-format
msgid "users"
msgstr ""
@ -647,7 +647,7 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:91
#: lib/memex_web/live/invite_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "admins"
msgstr ""
@ -672,71 +672,3 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "uses left"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:24
#, elixir-autogen, elixir-format
msgid "copy invite link for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:47
#: lib/memex_web/live/context_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:47
#: lib/memex_web/live/pipeline_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:116
#, elixir-autogen, elixir-format
msgid "delete %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:48
#, elixir-autogen, elixir-format
msgid "delete invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:105
#, elixir-autogen, elixir-format
msgid "edit %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:33
#, elixir-autogen, elixir-format
msgid "edit invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:96
#, elixir-autogen, elixir-format
msgid "move %{step_title} down"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:81
#, elixir-autogen, elixir-format
msgid "move %{step_title} up"
msgstr ""

View File

@ -46,7 +46,7 @@ msgstr ""
msgid "change password"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:83
#: lib/memex_web/live/invite_live/index.html.heex:89
#, elixir-autogen, elixir-format
msgid "create invite"
msgstr ""
@ -55,9 +55,9 @@ msgstr ""
#: lib/memex_web/live/context_live/show.html.heex:41
#: lib/memex_web/live/note_live/index.html.heex:49
#: lib/memex_web/live/note_live/show.html.heex:41
#: lib/memex_web/live/pipeline_live/index.html.heex:49
#: lib/memex_web/live/pipeline_live/index.html.heex:51
#: lib/memex_web/live/pipeline_live/show.html.heex:49
#: lib/memex_web/live/pipeline_live/show.html.heex:118
#: lib/memex_web/live/pipeline_live/show.html.heex:120
#, elixir-autogen, elixir-format
msgid "delete"
msgstr ""
@ -73,7 +73,7 @@ msgstr ""
#: lib/memex_web/live/note_live/show.html.heex:31
#: lib/memex_web/live/pipeline_live/index.html.heex:39
#: lib/memex_web/live/pipeline_live/show.html.heex:39
#: lib/memex_web/live/pipeline_live/show.html.heex:107
#: lib/memex_web/live/pipeline_live/show.html.heex:109
#, elixir-autogen, elixir-format
msgid "edit"
msgstr ""
@ -104,7 +104,7 @@ msgstr ""
msgid "new note"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:60
#: lib/memex_web/live/pipeline_live/index.html.heex:62
#, elixir-autogen, elixir-format
msgid "new pipeline"
msgstr ""
@ -135,7 +135,7 @@ msgstr ""
msgid "back"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:133
#: lib/memex_web/live/pipeline_live/show.html.heex:135
#, elixir-autogen, elixir-format
msgid "add step"
msgstr ""
@ -157,7 +157,75 @@ msgstr ""
msgid "export data as json"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:26
#: lib/memex_web/live/invite_live/index.html.heex:28
#, elixir-autogen, elixir-format
msgid "copy"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:25
#, elixir-autogen, elixir-format
msgid "copy invite link for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:47
#: lib/memex_web/live/context_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:48
#: lib/memex_web/live/pipeline_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:118
#, elixir-autogen, elixir-format
msgid "delete %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:53
#, elixir-autogen, elixir-format
msgid "delete invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "edit %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "edit %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:36
#, elixir-autogen, elixir-format
msgid "edit invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "move %{step_title} down"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:81
#, elixir-autogen, elixir-format
msgid "move %{step_title} up"
msgstr ""

View File

@ -83,7 +83,7 @@ msgstr ""
msgid "current password"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:59
#: lib/memex_web/live/invite_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "disable"
msgstr ""
@ -116,7 +116,7 @@ msgstr ""
msgid "email unconfirmed"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:59
#: lib/memex_web/live/invite_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "enable"
msgstr ""
@ -266,7 +266,7 @@ msgstr ""
msgid "select privacy"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:74
#: lib/memex_web/live/invite_live/index.html.heex:80
#, elixir-autogen, elixir-format
msgid "set unlimited"
msgstr ""
@ -291,7 +291,7 @@ msgstr ""
msgid "tags"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:119
#: lib/memex_web/live/invite_live/index.html.heex:125
#, elixir-autogen, elixir-format
msgid "users"
msgstr ""
@ -648,7 +648,7 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:91
#: lib/memex_web/live/invite_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "admins"
msgstr ""
@ -673,71 +673,3 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "uses left"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:24
#, elixir-autogen, elixir-format
msgid "copy invite link for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:47
#: lib/memex_web/live/context_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:39
#, elixir-autogen, elixir-format
msgid "delete %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:47
#: lib/memex_web/live/pipeline_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:116
#, elixir-autogen, elixir-format
msgid "delete %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:48
#, elixir-autogen, elixir-format
msgid "delete invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/context_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "edit %{context_slug}"
msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "edit %{note_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "edit %{pipeline_slug}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:105
#, elixir-autogen, elixir-format
msgid "edit %{step_title}"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:33
#, elixir-autogen, elixir-format
msgid "edit invite for %{invite_name}"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:96
#, elixir-autogen, elixir-format
msgid "move %{step_title} down"
msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:81
#, elixir-autogen, elixir-format
msgid "move %{step_title} up"
msgstr ""

View File

@ -66,7 +66,7 @@ msgstr ""
msgid "are you sure you want to change your language?"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:44
#: lib/memex_web/live/invite_live/index.html.heex:48
#, elixir-autogen, elixir-format
msgid "are you sure you want to delete the invite for %{invite_name}?"
msgstr ""
@ -81,7 +81,7 @@ msgstr ""
msgid "are you sure you want to log out?"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:69
#: lib/memex_web/live/invite_live/index.html.heex:75
#, elixir-autogen, elixir-format
msgid "are you sure you want to make %{invite_name} unlimited?"
msgstr ""
@ -92,7 +92,7 @@ msgstr ""
#: lib/memex_web/live/note_live/show.html.heex:38
#: lib/memex_web/live/pipeline_live/index.html.heex:46
#: lib/memex_web/live/pipeline_live/show.html.heex:46
#: lib/memex_web/live/pipeline_live/show.html.heex:115
#: lib/memex_web/live/pipeline_live/show.html.heex:117
#, elixir-autogen, elixir-format
msgid "are you sure?"
msgstr ""
@ -152,8 +152,8 @@ msgstr ""
msgid "your account has been deleted"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:102
#: lib/memex_web/live/invite_live/index.html.heex:130
#: lib/memex_web/live/invite_live/index.html.heex:108
#: lib/memex_web/live/invite_live/index.html.heex:136
#, elixir-autogen, elixir-format
msgid "are you sure you want to delete %{email}? this action is permanent!"
msgstr ""

View File

@ -65,7 +65,7 @@ msgstr ""
msgid "are you sure you want to change your language?"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:44
#: lib/memex_web/live/invite_live/index.html.heex:48
#, elixir-autogen, elixir-format
msgid "are you sure you want to delete the invite for %{invite_name}?"
msgstr ""
@ -80,7 +80,7 @@ msgstr ""
msgid "are you sure you want to log out?"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:69
#: lib/memex_web/live/invite_live/index.html.heex:75
#, elixir-autogen, elixir-format
msgid "are you sure you want to make %{invite_name} unlimited?"
msgstr ""
@ -91,7 +91,7 @@ msgstr ""
#: lib/memex_web/live/note_live/show.html.heex:38
#: lib/memex_web/live/pipeline_live/index.html.heex:46
#: lib/memex_web/live/pipeline_live/show.html.heex:46
#: lib/memex_web/live/pipeline_live/show.html.heex:115
#: lib/memex_web/live/pipeline_live/show.html.heex:117
#, elixir-autogen, elixir-format
msgid "are you sure?"
msgstr ""
@ -151,8 +151,8 @@ msgstr ""
msgid "your account has been deleted"
msgstr ""
#: lib/memex_web/live/invite_live/index.html.heex:102
#: lib/memex_web/live/invite_live/index.html.heex:130
#: lib/memex_web/live/invite_live/index.html.heex:108
#: lib/memex_web/live/invite_live/index.html.heex:136
#, elixir-autogen, elixir-format
msgid "are you sure you want to delete %{email}? this action is permanent!"
msgstr ""