Merge pull request 'feature/96_design_memberlist closes #96' (#112) from feature/96_design_memberlist into main
Some checks reported errors
continuous-integration/drone/push Build was killed

Reviewed-on: #112
Reviewed-by: moritz <moritz@noreply.git.local-it.org>
This commit is contained in:
moritz 2025-07-22 18:36:44 +02:00
commit 5c4f8ec07e
9 changed files with 903 additions and 396 deletions

View file

@ -8,6 +8,8 @@ defmodule MvWeb.Layouts do
in regular views and live views.
"""
use MvWeb, :html
use Gettext, backend: MvWeb.Gettext
import MvWeb.Layouts.Navbar
embed_templates "layouts/*"
@ -19,7 +21,7 @@ defmodule MvWeb.Layouts do
<Layouts.app flash={@flash}>
<h1>Content</h1>
</Layout.app>
"""
attr :flash, :map, required: true, doc: "the map of flash messages"
@ -31,44 +33,9 @@ defmodule MvWeb.Layouts do
def app(assigns) do
~H"""
<header class="navbar px-4 sm:px-6 lg:px-8">
<div class="flex-1">
<a href="/" class="flex-1 flex w-fit items-center gap-2">
<img src={~p"/images/logo.svg"} width="36" />
<span class="text-sm font-semibold">v{Application.spec(:phoenix, :vsn)}</span>
</a>
</div>
<div class="flex-none">
<ul class="flex flex-column px-1 space-x-4 items-center">
<li>
<form method="post" action="/set_locale" class="mr-4">
<input type="hidden" name="_csrf_token" value={Plug.CSRFProtection.get_csrf_token()} />
<select name="locale" onchange="this.form.submit()" class="select select-sm">
<option value="de" selected={Gettext.get_locale() == "de"}>Deutsch</option>
<option value="en" selected={Gettext.get_locale() == "en"}>English</option>
</select>
</form>
</li>
<li>
<a href="https://phoenixframework.org/" class="btn btn-ghost">Website</a>
</li>
<li>
<a href="https://github.com/phoenixframework/phoenix" class="btn btn-ghost">GitHub</a>
</li>
<li>
<.theme_toggle />
</li>
<li>
<a href="https://hexdocs.pm/phoenix/overview.html" class="btn btn-primary">
Get Started <span aria-hidden="true">&rarr;</span>
</a>
</li>
</ul>
</div>
</header>
<main class="px-4 py-20 sm:px-6 lg:px-8">
<div class="mx-auto max-w-2xl space-y-4">
<.navbar />
<main class="px-4 py-20 sm:px-6 lg:px-16">
<div class="mx-auto max-full space-y-4">
{render_slot(@inner_block)}
</div>
</main>
@ -119,38 +86,4 @@ defmodule MvWeb.Layouts do
</div>
"""
end
@doc """
Provides dark vs light theme toggle based on themes defined in app.css.
See <head> in root.html.heex which applies the theme before page load.
"""
def theme_toggle(assigns) do
~H"""
<div class="card relative flex flex-row items-center border-2 border-base-300 bg-base-300 rounded-full">
<div class="absolute w-1/3 h-full rounded-full border-1 border-base-200 bg-base-100 brightness-200 left-0 [[data-theme=light]_&]:left-1/3 [[data-theme=dark]_&]:left-2/3 transition-[left]" />
<button
phx-click={JS.dispatch("phx:set-theme", detail: %{theme: "system"})}
class="flex p-2 cursor-pointer w-1/3"
>
<.icon name="hero-computer-desktop-micro" class="size-4 opacity-75 hover:opacity-100" />
</button>
<button
phx-click={JS.dispatch("phx:set-theme", detail: %{theme: "light"})}
class="flex p-2 cursor-pointer w-1/3"
>
<.icon name="hero-sun-micro" class="size-4 opacity-75 hover:opacity-100" />
</button>
<button
phx-click={JS.dispatch("phx:set-theme", detail: %{theme: "dark"})}
class="flex p-2 cursor-pointer w-1/3"
>
<.icon name="hero-moon-micro" class="size-4 opacity-75 hover:opacity-100" />
</button>
</div>
"""
end
end

View file

@ -0,0 +1,80 @@
defmodule MvWeb.Layouts.Navbar do
@moduledoc """
Navbar that is used in the rootlayout shown on every page
"""
use Phoenix.Component
use Gettext, backend: MvWeb.Gettext
def navbar(assigns) do
~H"""
<header class="navbar bg-base-100 shadow-sm">
<div class="flex-1">
<a class="btn btn-ghost text-xl">Mitgliederverwaltung</a>
<ul class="menu menu-horizontal bg-base-200">
<li><a href="/members">{gettext("Members")}</a></li>
<li><a>Transaktionen</a></li>
</ul>
</div>
<div class="flex gap-2">
<form method="post" action="/set_locale" class="mr-4">
<input type="hidden" name="_csrf_token" value={Plug.CSRFProtection.get_csrf_token()} />
<select name="locale" onchange="this.form.submit()" class="select select-sm">
<option value="de" selected={Gettext.get_locale() == "de"}>Deutsch</option>
<option value="en" selected={Gettext.get_locale() == "en"}>English</option>
</select>
</form>
<!-- Daisy UI Theme Toggle for dark and light mode-->
<label class="flex cursor-pointer gap-2">
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="5" />
<path d="M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4" />
</svg>
<input type="checkbox" value="dark" class="toggle theme-controller" />
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
</label>
<div class="dropdown dropdown-end">
<div tabindex="0" role="button" class="btn btn-ghost btn-circle avatar avatar-placeholder">
<div class="bg-neutral text-neutral-content w-12 rounded-full">
<span>AA</span>
</div>
</div>
<ul
tabindex="0"
class="menu menu-sm dropdown-content bg-base-100 rounded-box z-1 mt-3 w-52 p-2 shadow"
>
<li>
<a>
{gettext("Profil")}
</a>
</li>
<li><a>{gettext("Settings")}</a></li>
<li><a href="sign-out">{gettext("Logout")}</a></li>
</ul>
</div>
</div>
</header>
"""
end
end

View file

@ -0,0 +1,44 @@
defmodule MvWeb.TableComponents do
@moduledoc """
TableComponents that can be used in tables as components (like a button for sorting, a filter...)
"""
use Phoenix.Component
import MvWeb.CoreComponents
use Gettext, backend: MvWeb.Gettext
attr :field, :atom, required: true
attr :label, :string, required: true
attr :sort_field, :atom, default: nil
attr :sort_order, :atom, default: nil
@doc """
A sort button (with chevron icon) that can be used to sort a list of items
"""
def sort_button(assigns) do
~H"""
<button
type="button"
phx-click="sort"
phx-value-field={@field}
aria-sort={aria_sort(@sort_field, @sort_order, @field)}
class="flex items-center gap-1 hover:underline focus:outline-none"
>
<span>{@label}</span>
<%= if @sort_field == @field do %>
<.icon name={if @sort_order == :asc, do: "hero-chevron-up", else: "hero-chevron-down"} />
<span class="sr-only">
({(@sort_order == :asc && gettext("ascending")) || gettext("descending")})
</span>
<% end %>
</button>
"""
end
defp aria_sort(current_field, current_order, this_field) do
cond do
current_field != this_field -> "none"
current_order == :asc -> "ascending"
true -> "descending"
end
end
end

View file

@ -1,58 +1,19 @@
defmodule MvWeb.MemberLive.Index do
use MvWeb, :live_view
@impl true
def render(assigns) do
~H"""
<Layouts.app flash={@flash}>
<.header>
{gettext("Listing Members")}
<:actions>
<.button variant="primary" navigate={~p"/members/new"}>
<.icon name="hero-plus" /> {gettext("New Member")}
</.button>
</:actions>
</.header>
<.table
id="members"
rows={@streams.members}
row_click={fn {_id, member} -> JS.navigate(~p"/members/#{member}") end}
>
<!-- <:col :let={{_id, member}} label="Id">{member.id}</:col> -->
<:col :let={{_id, member}} label={gettext("First Name")}>{member.first_name}</:col>
<:col :let={{_id, member}} label={gettext("Last Name")}>{member.last_name}</:col>
<:col :let={{_id, member}} label={gettext("Email")}>{member.email}</:col>
<:col :let={{_id, member}} label={gettext("City")}>{member.city}</:col>
<:col :let={{_id, member}} label={gettext("Join Date")}>{member.join_date}</:col>
<:action :let={{_id, member}}>
<div class="sr-only">
<.link navigate={~p"/members/#{member}"}>{gettext("Show")}</.link>
</div>
<.link navigate={~p"/members/#{member}/edit"}>{gettext("Edit")}</.link>
</:action>
<:action :let={{id, member}}>
<.link
phx-click={JS.push("delete", value: %{id: member.id}) |> hide("##{id}")}
data-confirm={gettext("Are you sure?")}
>
{gettext("Delete")}
</.link>
</:action>
</.table>
</Layouts.app>
"""
end
import MvWeb.TableComponents
@impl true
def mount(_params, _session, socket) do
members = Ash.read!(Mv.Membership.Member)
sorted = Enum.sort_by(members, & &1.first_name)
{:ok,
socket
|> assign(:page_title, gettext("Listing Members"))
|> stream(:members, Ash.read!(Mv.Membership.Member))}
|> assign(:page_title, gettext("Members"))
|> assign(:sort_field, :first_name)
|> assign(:sort_order, :asc)
|> assign(:members, sorted)
|> assign(:selected_members, [])}
end
@impl true
@ -62,4 +23,64 @@ defmodule MvWeb.MemberLive.Index do
{:noreply, stream_delete(socket, :members, member)}
end
# Selects one member in the list of members
@impl true
def handle_event("select_member", %{"id" => id}, socket) do
selected =
if id in socket.assigns.selected_members do
List.delete(socket.assigns.selected_members, id)
else
[id | socket.assigns.selected_members]
end
{:noreply, assign(socket, :selected_members, selected)}
end
# Sorts the list of members according to a field, when you click on the column header
@impl true
def handle_event("sort", %{"field" => field_str}, socket) do
members = socket.assigns.members
field = String.to_existing_atom(field_str)
new_order =
if socket.assigns.sort_field == field do
toggle_order(socket.assigns.sort_order)
else
:asc
end
sorted_members =
members
|> Enum.sort_by(&Map.get(&1, field), sort_fun(new_order))
{:noreply,
socket
|> assign(:sort_field, field)
|> assign(:sort_order, new_order)
|> assign(:members, sorted_members)}
end
# Selects all members in the list of members
@impl true
def handle_event("select_all", _params, socket) do
members = socket.assigns.members
all_ids = Enum.map(members, & &1.id)
selected =
if Enum.sort(socket.assigns.selected_members) == Enum.sort(all_ids) do
[]
else
all_ids
end
{:noreply, assign(socket, :selected_members, selected)}
end
defp toggle_order(:asc), do: :desc
defp toggle_order(:desc), do: :asc
defp sort_fun(:asc), do: &<=/2
defp sort_fun(:desc), do: &>=/2
end

View file

@ -0,0 +1,83 @@
<Layouts.app flash={@flash}>
<.header>
{gettext("Members")}
<:actions>
<.button variant="primary" navigate={~p"/members/new"}>
<.icon name="hero-plus" /> {gettext("New Member")}
</.button>
</:actions>
</.header>
<.table
id="members"
rows={@members}
row_click={fn member -> JS.navigate(~p"/members/#{member}") end}
>
<!-- <:col :let={member} label="Id">{member.id}</:col> -->
<:col
:let={member}
label={
~H"""
<.input
type="checkbox"
name="select_all"
phx-click="select_all"
checked={Enum.sort(@selected_members) == Enum.map(@members, & &1.id) |> Enum.sort()}
aria-label={gettext("Select all members")}
role="checkbox"
/>
"""
}
>
<.input
type="checkbox"
name={member.id}
phx-click="select_member"
phx-value-id={member.id}
checked={member.id in @selected_members}
phx-capture-click
phx-stop-propagation
aria-label={gettext("Select member")}
role="checkbox"
/>
</:col>
<:col
:let={member}
label={
sort_button(%{
field: :first_name,
label: gettext("Name"),
sort_field: @sort_field,
sort_order: @sort_order
})
}
>
{member.first_name} {member.last_name}
</:col>
<:col :let={member} label={gettext("Email")}>{member.email}</:col>
<:col :let={member} label={gettext("Street")}>{member.street}</:col>
<:col :let={member} label={gettext("House Number")}>{member.house_number}</:col>
<:col :let={member} label={gettext("Postal Code")}>{member.postal_code}</:col>
<:col :let={member} label={gettext("City")}>{member.city}</:col>
<:col :let={member} label={gettext("Phone Number")}>{member.phone_number}</:col>
<:col :let={member} label={gettext("Join Date")}>{member.join_date}</:col>
<:action :let={member}>
<div class="sr-only">
<.link navigate={~p"/members/#{member}"}>{gettext("Show")}</.link>
</div>
<.link navigate={~p"/members/#{member}/edit"}>{gettext("Edit")}</.link>
</:action>
<:action :let={member}>
<.link
phx-click={JS.push("delete", value: %{id: member.id}) |> hide("#row-#{member.id}")}
data-confirm={gettext("Are you sure?")}
>
{gettext("Delete")}
</.link>
</:action>
</.table>
</Layouts.app>

View file

@ -1,5 +1,5 @@
%{
"ash": {:hex, :ash, "3.5.27", "bfa227b75da2b447d1b98e16a19b2fa957fe32bef33dfe33aa93b861a532c641", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8", [hex: :ets, repo: "hexpm", optional: false]}, {:igniter, ">= 0.6.4 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:reactor, "~> 0.11", [hex: :reactor, repo: "hexpm", optional: false]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:spark, ">= 2.2.65 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, ">= 0.2.6 and < 1.0.0-0", [hex: :splode, repo: "hexpm", optional: false]}, {:stream_data, "~> 1.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f75694b0012e4e56293e1beef1d6c20a52f2f2c9baebfa5c8f2426d25d43608e"},
"ash": {:hex, :ash, "3.5.30", "6af633be79a521783e551d469dede6d996301fb29839f57b88c6cae3c7735cfd", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8", [hex: :ets, repo: "hexpm", optional: false]}, {:igniter, ">= 0.6.4 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:reactor, "~> 0.11", [hex: :reactor, repo: "hexpm", optional: false]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:spark, ">= 2.2.65 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, ">= 0.2.6 and < 1.0.0-0", [hex: :splode, repo: "hexpm", optional: false]}, {:stream_data, "~> 1.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e62128da67b55af37abd39fbc05059176e9bd5256fb66b345b4e86579f1d659f"},
"ash_admin": {:hex, :ash_admin, "0.13.12", "5d4bb5e64b1aca7ae0086411a3cafc3afba6d42699944408ef1075b32fc244af", [:mix], [{:ash, ">= 3.4.63 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_phoenix, ">= 2.1.8 and < 3.0.0-0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:gettext, "~> 0.26", [hex: :gettext, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.1-rc", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}], "hexpm", "821c94ba7066948327dc3d9f2a1a32a9ffd42db95b13ad3b650f194157591503"},
"ash_authentication": {:hex, :ash_authentication, "4.9.7", "1e7cbd21597c34cc37bd1f6a81b8a4cde15c9c555fbff2457887e3484433d399", [:mix], [{:argon2_elixir, "~> 4.0", [hex: :argon2_elixir, repo: "hexpm", optional: true]}, {:ash, ">= 3.4.29 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_postgres, ">= 2.6.8 and < 3.0.0-0", [hex: :ash_postgres, repo: "hexpm", optional: true]}, {:assent, "~> 0.2.13", [hex: :assent, repo: "hexpm", optional: false]}, {:bcrypt_elixir, "~> 3.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: false]}, {:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:finch, "~> 0.19", [hex: :finch, repo: "hexpm", optional: false]}, {:igniter, "~> 0.4", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:joken, "~> 2.5", [hex: :joken, repo: "hexpm", optional: false]}, {:plug, "~> 1.13", [hex: :plug, repo: "hexpm", optional: false]}, {:spark, "~> 2.0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}], "hexpm", "26483e61a846d17a68f4aa0bc686fb3bcb6f98955978121b4baa610f2701268d"},
"ash_authentication_phoenix": {:hex, :ash_authentication_phoenix, "2.10.3", "b3c32e51a77eefc02c155eccdd17f1b697da3314fb40102854dcdd79288325b7", [:mix], [{:ash, "~> 3.0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_authentication, ">= 4.9.1 and < 5.0.0-0", [hex: :ash_authentication, repo: "hexpm", optional: false]}, {:ash_phoenix, "~> 2.0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:bcrypt_elixir, "~> 3.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: false]}, {:gettext, "~> 0.26", [hex: :gettext, repo: "hexpm", optional: true]}, {:igniter, ">= 0.5.25 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_html_helpers, "~> 1.0", [hex: :phoenix_html_helpers, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:slugify, "~> 1.3", [hex: :slugify, repo: "hexpm", optional: false]}], "hexpm", "89be0de638123193933a54ae15b9d1c670bb4010775c38b2b22a99180ecc1ac3"},
@ -24,18 +24,16 @@
"elixir_make": {:hex, :elixir_make, "0.9.0", "6484b3cd8c0cee58f09f05ecaf1a140a8c97670671a6a0e7ab4dc326c3109726", [:mix], [], "hexpm", "db23d4fd8b757462ad02f8aa73431a426fe6671c80b200d9710caf3d1dd0ffdb"},
"esbuild": {:hex, :esbuild, "0.10.0", "b0aa3388a1c23e727c5a3e7427c932d89ee791746b0081bbe56103e9ef3d291f", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "468489cda427b974a7cc9f03ace55368a83e1a7be12fba7e30969af78e5f8c70"},
"ets": {:hex, :ets, "0.9.0", "79c6a6c205436780486f72d84230c6cba2f8a9920456750ddd1e47389107d5fd", [:mix], [], "hexpm", "2861fdfb04bcaeff370f1a5904eec864f0a56dcfebe5921ea9aadf2a481c822b"},
"ex_phone_number": {:hex, :ex_phone_number, "0.4.5", "2065cc48c3e9d1ed9821f50877c32f2f6898362cb990f44147ca217c5d1374ed", [:mix], [{:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: false]}], "hexpm", "67163f8706f8cbfef1b1f4b9230c461f19786d0d79fd0b22cbeeefc6f0b99d4a"},
"ex_phone_number": {:hex, :ex_phone_number, "0.4.8", "c1c5e6f0673822a2a7b439b43af7d3eb1a5c19ae582b772b8b8d12625dd51ec1", [:mix], [{:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: false]}], "hexpm", "43e2357c6b8cfe556bcd417f4ce9aaef267a786e31a2938902daaa0d36f69757"},
"expo": {:hex, :expo, "1.1.0", "f7b9ed7fb5745ebe1eeedf3d6f29226c5dd52897ac67c0f8af62a07e661e5c75", [:mix], [], "hexpm", "fbadf93f4700fb44c331362177bdca9eeb8097e8b0ef525c9cc501cb9917c960"},
"file_system": {:hex, :file_system, "1.1.0", "08d232062284546c6c34426997dd7ef6ec9f8bbd090eb91780283c9016840e8f", [:mix], [], "hexpm", "bfcf81244f416871f2a2e15c1b515287faa5db9c6bcf290222206d120b3d43f6"},
"finch": {:hex, :finch, "0.20.0", "5330aefb6b010f424dcbbc4615d914e9e3deae40095e73ab0c1bb0968933cadf", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"},
"fine": {:hex, :fine, "0.1.1", "df2ce44e438bed0061627e10c470873c69374ee7390a51bc612c2358ad37d556", [:mix], [], "hexpm", "41335526b82cf2c196d2588cd54d4504480e2e6ead24f2c07ae0c1cf40af61e5"},
"floki": {:hex, :floki, "0.38.0", "62b642386fa3f2f90713f6e231da0fa3256e41ef1089f83b6ceac7a3fd3abf33", [:mix], [], "hexpm", "a5943ee91e93fb2d635b612caf5508e36d37548e84928463ef9dd986f0d1abd9"},
"gettext": {:hex, :gettext, "0.26.2", "5978aa7b21fada6deabf1f6341ddba50bc69c999e812211903b169799208f2a8", [:mix], [{:expo, "~> 0.5.1 or ~> 1.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "aa978504bcf76511efdc22d580ba08e2279caab1066b76bb9aa81c4a1e0a32a5"},
"glob_ex": {:hex, :glob_ex, "0.1.11", "cb50d3f1ef53f6ca04d6252c7fde09fd7a1cf63387714fe96f340a1349e62c93", [:mix], [], "hexpm", "342729363056e3145e61766b416769984c329e4378f1d558b63e341020525de4"},
"heroicons": {:git, "https://github.com/tailwindlabs/heroicons.git", "0435d4ca364a608cc75e2f8683d374e55abbae26", [tag: "v2.2.0", sparse: "optimized", depth: 1]},
"hpax": {:hex, :hpax, "1.0.3", "ed67ef51ad4df91e75cc6a1494f851850c0bd98ebc0be6e81b026e765ee535aa", [:mix], [], "hexpm", "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a"},
"igniter": {:hex, :igniter, "0.6.19", "d87703b36890bc4278341d966a7ed8e10604a18610a4331ac10c75d1af48fff4", [:mix], [{:glob_ex, "~> 0.1.7", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:owl, "~> 0.11", [hex: :owl, repo: "hexpm", optional: false]}, {:phx_new, "~> 1.7", [hex: :phx_new, repo: "hexpm", optional: true]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:rewrite, ">= 1.1.1 and < 2.0.0-0", [hex: :rewrite, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.4", [hex: :sourceror, repo: "hexpm", optional: false]}, {:spitfire, ">= 0.1.3 and < 1.0.0-0", [hex: :spitfire, repo: "hexpm", optional: false]}], "hexpm", "c2070b3fdbd238fc0a0bfbc1f125b5c0f79a1fe2f5b3c7b43cd33de696783663"},
"inflex": {:hex, :inflex, "2.1.0", "a365cf0821a9dacb65067abd95008ca1b0bb7dcdd85ae59965deef2aa062924c", [:mix], [], "hexpm", "14c17d05db4ee9b6d319b0bff1bdf22aa389a25398d1952c7a0b5f3d93162dd8"},
"igniter": {:hex, :igniter, "0.6.21", "23d374120912873392b5c47e630b3261ed5e7572e59e16edb64357e23dc41f06", [:mix], [{:glob_ex, "~> 0.1.7", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:owl, "~> 0.11", [hex: :owl, repo: "hexpm", optional: false]}, {:phx_new, "~> 1.7", [hex: :phx_new, repo: "hexpm", optional: true]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:rewrite, ">= 1.1.1 and < 2.0.0-0", [hex: :rewrite, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.4", [hex: :sourceror, repo: "hexpm", optional: false]}, {:spitfire, ">= 0.1.3 and < 1.0.0-0", [hex: :spitfire, repo: "hexpm", optional: false]}], "hexpm", "3bd592634c5a4ec2d203e17e02791ce8b462627b606527e9598a298e00712932"},
"iterex": {:hex, :iterex, "0.1.2", "58f9b9b9a22a55cbfc7b5234a9c9c63eaac26d276b3db80936c0e1c60355a5a6", [:mix], [], "hexpm", "2e103b8bcc81757a9af121f6dc0df312c9a17220f302b1193ef720460d03029d"},
"jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"},
"joken": {:hex, :joken, "2.6.2", "5daaf82259ca603af4f0b065475099ada1b2b849ff140ccd37f4b6828ca6892a", [:mix], [{:jose, "~> 1.11.10", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "5134b5b0a6e37494e46dbf9e4dad53808e5e787904b7c73972651b51cce3d72b"},

View file

@ -10,230 +10,206 @@ msgid ""
msgstr ""
"Language: en\n"
#: lib/mv_web/components/core_components.ex:482
#: lib/mv_web/components/core_components.ex:339
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/mv_web/member_live/index.ex:39
#: lib/mv_web/live/member_live/index.html.heex:77
#, elixir-autogen, elixir-format
msgid "Are you sure?"
msgstr "Bist du sicher?"
#: lib/mv_web/components/core_components.ex:160
#: lib/mv_web/components/layouts.ex:71
#: lib/mv_web/components/layouts.ex:83
#, elixir-autogen, elixir-format
msgid "Attempting to reconnect"
msgstr "Verbindung wird wiederhergestellt"
#: lib/mv_web/member_live/form_component.ex:50
#: lib/mv_web/member_live/index.ex:25
#: lib/mv_web/member_live/show.ex:32
#: lib/mv_web/live/member_live/form.ex:25
#: lib/mv_web/live/member_live/index.html.heex:62
#: lib/mv_web/live/member_live/show.ex:36
#, elixir-autogen, elixir-format
msgid "City"
msgstr "Stadt"
#: lib/mv_web/member_live/index.ex:41
#: lib/mv_web/live/member_live/index.html.heex:79
#, elixir-autogen, elixir-format
msgid "Delete"
msgstr "Löschen"
#: lib/mv_web/member_live/index.ex:33
#: lib/mv_web/live/member_live/index.html.heex:71
#, elixir-autogen, elixir-format
msgid "Edit"
msgstr "Bearbeiten"
#: lib/mv_web/member_live/index.ex:76
#: lib/mv_web/member_live/show.ex:93
#: lib/mv_web/live/member_live/show.ex:18
#: lib/mv_web/live/member_live/show.ex:81
#, elixir-autogen, elixir-format
msgid "Edit Member"
msgstr "Mitglied bearbeiten"
#: lib/mv_web/member_live/form_component.ex:43
#: lib/mv_web/member_live/index.ex:24
#: lib/mv_web/member_live/show.ex:23
#: lib/mv_web/live/member_live/form.ex:18
#: lib/mv_web/live/member_live/index.html.heex:58
#: lib/mv_web/live/member_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Email"
msgstr "E-Mail"
#: lib/mv_web/components/core_components.ex:151
#, elixir-autogen, elixir-format
msgid "Error!"
msgstr "Fehler!"
#: lib/mv_web/member_live/form_component.ex:41
#: lib/mv_web/member_live/index.ex:22
#: lib/mv_web/member_live/show.ex:21
#: lib/mv_web/live/member_live/form.ex:16
#: lib/mv_web/live/member_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "First Name"
msgstr "Vorname"
#: lib/mv_web/components/core_components.ex:172
#, elixir-autogen, elixir-format
msgid "Hang in there while we get back on track"
msgstr "Bitte warten, wir stellen die Verbindung wieder her."
#: lib/mv_web/member_live/form_component.ex:47
#: lib/mv_web/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:29
#: lib/mv_web/live/member_live/form.ex:22
#: lib/mv_web/live/member_live/index.html.heex:64
#: lib/mv_web/live/member_live/show.ex:33
#, elixir-autogen, elixir-format
msgid "Join Date"
msgstr "Beitrittsdatum"
#: lib/mv_web/member_live/form_component.ex:42
#: lib/mv_web/member_live/index.ex:23
#: lib/mv_web/member_live/show.ex:22
#: lib/mv_web/live/member_live/form.ex:17
#: lib/mv_web/live/member_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "Last Name"
msgstr "Nachname"
#: lib/mv_web/member_live/index.ex:8
#: lib/mv_web/member_live/index.ex:88
#, elixir-autogen, elixir-format
msgid "Listing Members"
msgstr "Mitglieder"
#: lib/mv_web/member_live/index.ex:11
#: lib/mv_web/member_live/index.ex:82
#: lib/mv_web/live/member_live/index.html.heex:6
#, elixir-autogen, elixir-format
msgid "New Member"
msgstr "Neues Mitglied"
#: lib/mv_web/member_live/index.ex:30
#: lib/mv_web/live/member_live/index.html.heex:68
#, elixir-autogen, elixir-format
msgid "Show"
msgstr "Anzeigen"
#: lib/mv_web/components/core_components.ex:167
#: lib/mv_web/components/layouts.ex:78
#, elixir-autogen, elixir-format
msgid "Something went wrong!"
msgstr "Etwas ist schiefgelaufen!"
#: lib/mv_web/components/core_components.ex:150
#, elixir-autogen, elixir-format
msgid "Success!"
msgstr "Erfolg!"
#: lib/mv_web/components/core_components.ex:155
#: lib/mv_web/components/layouts.ex:66
#, elixir-autogen, elixir-format
msgid "We can't find the internet"
msgstr "Keine Internetverbindung gefunden"
#: lib/mv_web/components/core_components.ex:76
#: lib/mv_web/components/core_components.ex:130
#: lib/mv_web/components/core_components.ex:74
#, elixir-autogen, elixir-format
msgid "close"
msgstr "schließen"
#: lib/mv_web/member_live/form_component.ex:44
#: lib/mv_web/member_live/show.ex:24
#: lib/mv_web/live/member_live/form.ex:19
#: lib/mv_web/live/member_live/show.ex:28
#, elixir-autogen, elixir-format
msgid "Birth Date"
msgstr "Geburtsdatum"
#: lib/mv_web/member_live/form_component.ex:55
#: lib/mv_web/member_live/show.ex:38
#: lib/mv_web/live/member_live/form.ex:30
#: lib/mv_web/live/member_live/show.ex:42
#, elixir-autogen, elixir-format
msgid "Custom Properties"
msgstr "Eigene Eigenschaften"
#: lib/mv_web/member_live/form_component.ex:48
#: lib/mv_web/member_live/show.ex:30
#: lib/mv_web/live/member_live/form.ex:23
#: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "Exit Date"
msgstr "Austrittsdatum"
#: lib/mv_web/member_live/form_component.ex:52
#: lib/mv_web/member_live/show.ex:34
#: lib/mv_web/live/member_live/form.ex:27
#: lib/mv_web/live/member_live/index.html.heex:60
#: lib/mv_web/live/member_live/show.ex:38
#, elixir-autogen, elixir-format
msgid "House Number"
msgstr "Hausnummer"
#: lib/mv_web/member_live/form_component.ex:49
#: lib/mv_web/member_live/show.ex:31
#: lib/mv_web/live/member_live/form.ex:24
#: lib/mv_web/live/member_live/show.ex:35
#, elixir-autogen, elixir-format
msgid "Notes"
msgstr "Notizen"
#: lib/mv_web/member_live/form_component.ex:45
#: lib/mv_web/member_live/show.ex:25
#: lib/mv_web/live/member_live/form.ex:20
#: lib/mv_web/live/member_live/show.ex:29
#, elixir-autogen, elixir-format
msgid "Paid"
msgstr "Bezahlt"
#: lib/mv_web/member_live/form_component.ex:46
#: lib/mv_web/member_live/show.ex:28
#: lib/mv_web/live/member_live/form.ex:21
#: lib/mv_web/live/member_live/index.html.heex:63
#: lib/mv_web/live/member_live/show.ex:32
#, elixir-autogen, elixir-format
msgid "Phone Number"
msgstr "Telefonnummer"
#: lib/mv_web/member_live/form_component.ex:53
#: lib/mv_web/member_live/show.ex:35
#: lib/mv_web/live/member_live/form.ex:28
#: lib/mv_web/live/member_live/index.html.heex:61
#: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Postal Code"
msgstr "Postleitzahl"
#: lib/mv_web/member_live/form_component.ex:75
#: lib/mv_web/live/member_live/form.ex:50
#, elixir-autogen, elixir-format
msgid "Save Member"
msgstr "Mitglied speichern"
#: lib/mv_web/member_live/form_component.ex:75
#: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/property_live/form.ex:41
#: lib/mv_web/live/property_type_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr "Speichern..."
#: lib/mv_web/member_live/form_component.ex:51
#: lib/mv_web/member_live/show.ex:33
#: lib/mv_web/live/member_live/form.ex:26
#: lib/mv_web/live/member_live/index.html.heex:59
#: lib/mv_web/live/member_live/show.ex:37
#, elixir-autogen, elixir-format
msgid "Street"
msgstr "Straße"
#: lib/mv_web/member_live/form_component.ex:30
#: lib/mv_web/live/member_live/form.ex:11
#, elixir-autogen, elixir-format
msgid "Use this form to manage member records and their properties."
msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenschaften."
#: lib/mv_web/member_live/show.ex:52
#, elixir-autogen, elixir-format
msgid "Back to members"
msgstr "Zurück zur Mitgliederliste"
#: lib/mv_web/member_live/show.ex:14
#, elixir-autogen, elixir-format
msgid "Edit member"
msgstr "Mitglied bearbeiten"
#: lib/mv_web/member_live/show.ex:20
#: lib/mv_web/live/member_live/show.ex:24
#, elixir-autogen, elixir-format
msgid "Id"
msgstr "ID"
#: lib/mv_web/member_live/show.ex:26
#: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nein"
#: lib/mv_web/member_live/show.ex:92
#: lib/mv_web/live/member_live/show.ex:80
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Member"
msgstr "Mitglied anzeigen"
#: lib/mv_web/member_live/show.ex:10
#: lib/mv_web/live/member_live/show.ex:11
#, elixir-autogen, elixir-format
msgid "This is a member record from your database."
msgstr "Dies ist ein Mitglied aus deiner Datenbank."
#: lib/mv_web/member_live/show.ex:26
#: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Ja"
#: lib/mv_web/member_live/form_component.ex:102
#: lib/mv_web/live/member_live/form.ex:108
#: lib/mv_web/live/property_live/form.ex:200
#: lib/mv_web/live/property_type_live/form.ex:73
#, elixir-autogen, elixir-format
msgid "create"
msgstr "erstellt"
#: lib/mv_web/member_live/form_component.ex:103
#: lib/mv_web/live/member_live/form.ex:109
#: lib/mv_web/live/property_live/form.ex:201
#: lib/mv_web/live/property_type_live/form.ex:74
#, elixir-autogen, elixir-format
msgid "update"
msgstr "aktualisiert"
@ -243,7 +219,7 @@ msgstr "aktualisiert"
msgid "Incorrect email or password"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:109
#: lib/mv_web/live/member_live/form.ex:115
#, elixir-autogen, elixir-format
msgid "Member %{action} successfully"
msgstr "Mitglied %{action} erfolgreich"
@ -258,7 +234,7 @@ msgstr ""
msgid "You are now signed out"
msgstr ""
#: lib/mv_web/controllers/auth_controller.ex:36
#: lib/mv_web/controllers/auth_controller.ex:37
#, elixir-autogen, elixir-format
msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n"
msgstr ""
@ -272,3 +248,143 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Your password has successfully been reset"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/property_live/form.ex:44
#: lib/mv_web/live/property_type_live/form.ex:32
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Choose a member"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Choose a property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:26
#, elixir-autogen, elixir-format
msgid "Immutable"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:35
#, elixir-autogen, elixir-format
msgid "Logout"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Member"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:14
#: lib/mv_web/live/member_live/index.ex:12
#: lib/mv_web/live/member_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Members"
msgstr "Mitglieder"
#: lib/mv_web/live/member_live/index.html.heex:50
#: lib/mv_web/live/property_type_live/form.ex:16
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:37
#, elixir-autogen, elixir-format
msgid "Please select a property type first"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:31
#, elixir-autogen, elixir-format
msgid "Profil"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:207
#, elixir-autogen, elixir-format, fuzzy
msgid "Property %{action} successfully"
msgstr "Mitglied %{action} erfolgreich"
#: lib/mv_web/live/property_live/form.ex:18
#, elixir-autogen, elixir-format
msgid "Property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:80
#, elixir-autogen, elixir-format
msgid "Property type %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Required"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:42
#, elixir-autogen, elixir-format
msgid "Save Property"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save Property type"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:27
#, elixir-autogen, elixir-format
msgid "Select all members"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:41
#, elixir-autogen, elixir-format
msgid "Select member"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:34
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:95
#, elixir-autogen, elixir-format
msgid "Unsupported value type: %{type}"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:10
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property records in your database."
msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenschaften."
#: lib/mv_web/live/property_type_live/form.ex:11
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property_type records in your database."
msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenschaften."
#: lib/mv_web/live/property_live/form.ex:59
#, elixir-autogen, elixir-format
msgid "Value"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Value type"
msgstr ""
#: lib/mv_web/components/table_components.ex:30
#, elixir-autogen, elixir-format
msgid "ascending"
msgstr ""
#: lib/mv_web/components/table_components.ex:30
#, elixir-autogen, elixir-format
msgid "descending"
msgstr ""

View file

@ -11,230 +11,206 @@
msgid ""
msgstr ""
#: lib/mv_web/components/core_components.ex:482
#: lib/mv_web/components/core_components.ex:339
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/mv_web/member_live/index.ex:39
#: lib/mv_web/live/member_live/index.html.heex:77
#, elixir-autogen, elixir-format
msgid "Are you sure?"
msgstr ""
#: lib/mv_web/components/core_components.ex:160
#: lib/mv_web/components/layouts.ex:71
#: lib/mv_web/components/layouts.ex:83
#, elixir-autogen, elixir-format
msgid "Attempting to reconnect"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:50
#: lib/mv_web/member_live/index.ex:25
#: lib/mv_web/member_live/show.ex:32
#: lib/mv_web/live/member_live/form.ex:25
#: lib/mv_web/live/member_live/index.html.heex:62
#: lib/mv_web/live/member_live/show.ex:36
#, elixir-autogen, elixir-format
msgid "City"
msgstr ""
#: lib/mv_web/member_live/index.ex:41
#: lib/mv_web/live/member_live/index.html.heex:79
#, elixir-autogen, elixir-format
msgid "Delete"
msgstr ""
#: lib/mv_web/member_live/index.ex:33
#: lib/mv_web/live/member_live/index.html.heex:71
#, elixir-autogen, elixir-format
msgid "Edit"
msgstr ""
#: lib/mv_web/member_live/index.ex:76
#: lib/mv_web/member_live/show.ex:93
#: lib/mv_web/live/member_live/show.ex:18
#: lib/mv_web/live/member_live/show.ex:81
#, elixir-autogen, elixir-format
msgid "Edit Member"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:43
#: lib/mv_web/member_live/index.ex:24
#: lib/mv_web/member_live/show.ex:23
#: lib/mv_web/live/member_live/form.ex:18
#: lib/mv_web/live/member_live/index.html.heex:58
#: lib/mv_web/live/member_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Email"
msgstr ""
#: lib/mv_web/components/core_components.ex:151
#, elixir-autogen, elixir-format
msgid "Error!"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:41
#: lib/mv_web/member_live/index.ex:22
#: lib/mv_web/member_live/show.ex:21
#: lib/mv_web/live/member_live/form.ex:16
#: lib/mv_web/live/member_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "First Name"
msgstr ""
#: lib/mv_web/components/core_components.ex:172
#, elixir-autogen, elixir-format
msgid "Hang in there while we get back on track"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:47
#: lib/mv_web/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:29
#: lib/mv_web/live/member_live/form.ex:22
#: lib/mv_web/live/member_live/index.html.heex:64
#: lib/mv_web/live/member_live/show.ex:33
#, elixir-autogen, elixir-format
msgid "Join Date"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:42
#: lib/mv_web/member_live/index.ex:23
#: lib/mv_web/member_live/show.ex:22
#: lib/mv_web/live/member_live/form.ex:17
#: lib/mv_web/live/member_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "Last Name"
msgstr ""
#: lib/mv_web/member_live/index.ex:8
#: lib/mv_web/member_live/index.ex:88
#, elixir-autogen, elixir-format
msgid "Listing Members"
msgstr ""
#: lib/mv_web/member_live/index.ex:11
#: lib/mv_web/member_live/index.ex:82
#: lib/mv_web/live/member_live/index.html.heex:6
#, elixir-autogen, elixir-format
msgid "New Member"
msgstr ""
#: lib/mv_web/member_live/index.ex:30
#: lib/mv_web/live/member_live/index.html.heex:68
#, elixir-autogen, elixir-format
msgid "Show"
msgstr ""
#: lib/mv_web/components/core_components.ex:167
#: lib/mv_web/components/layouts.ex:78
#, elixir-autogen, elixir-format
msgid "Something went wrong!"
msgstr ""
#: lib/mv_web/components/core_components.ex:150
#, elixir-autogen, elixir-format
msgid "Success!"
msgstr ""
#: lib/mv_web/components/core_components.ex:155
#: lib/mv_web/components/layouts.ex:66
#, elixir-autogen, elixir-format
msgid "We can't find the internet"
msgstr ""
#: lib/mv_web/components/core_components.ex:76
#: lib/mv_web/components/core_components.ex:130
#: lib/mv_web/components/core_components.ex:74
#, elixir-autogen, elixir-format
msgid "close"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:44
#: lib/mv_web/member_live/show.ex:24
#: lib/mv_web/live/member_live/form.ex:19
#: lib/mv_web/live/member_live/show.ex:28
#, elixir-autogen, elixir-format
msgid "Birth Date"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:55
#: lib/mv_web/member_live/show.ex:38
#: lib/mv_web/live/member_live/form.ex:30
#: lib/mv_web/live/member_live/show.ex:42
#, elixir-autogen, elixir-format
msgid "Custom Properties"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:48
#: lib/mv_web/member_live/show.ex:30
#: lib/mv_web/live/member_live/form.ex:23
#: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "Exit Date"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:52
#: lib/mv_web/member_live/show.ex:34
#: lib/mv_web/live/member_live/form.ex:27
#: lib/mv_web/live/member_live/index.html.heex:60
#: lib/mv_web/live/member_live/show.ex:38
#, elixir-autogen, elixir-format
msgid "House Number"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:49
#: lib/mv_web/member_live/show.ex:31
#: lib/mv_web/live/member_live/form.ex:24
#: lib/mv_web/live/member_live/show.ex:35
#, elixir-autogen, elixir-format
msgid "Notes"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:45
#: lib/mv_web/member_live/show.ex:25
#: lib/mv_web/live/member_live/form.ex:20
#: lib/mv_web/live/member_live/show.ex:29
#, elixir-autogen, elixir-format
msgid "Paid"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:46
#: lib/mv_web/member_live/show.ex:28
#: lib/mv_web/live/member_live/form.ex:21
#: lib/mv_web/live/member_live/index.html.heex:63
#: lib/mv_web/live/member_live/show.ex:32
#, elixir-autogen, elixir-format
msgid "Phone Number"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:53
#: lib/mv_web/member_live/show.ex:35
#: lib/mv_web/live/member_live/form.ex:28
#: lib/mv_web/live/member_live/index.html.heex:61
#: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Postal Code"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:75
#: lib/mv_web/live/member_live/form.ex:50
#, elixir-autogen, elixir-format
msgid "Save Member"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:75
#: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/property_live/form.ex:41
#: lib/mv_web/live/property_type_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
#: lib/mv_web/member_live/form_component.ex:51
#: lib/mv_web/member_live/show.ex:33
#: lib/mv_web/live/member_live/form.ex:26
#: lib/mv_web/live/member_live/index.html.heex:59
#: lib/mv_web/live/member_live/show.ex:37
#, elixir-autogen, elixir-format
msgid "Street"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:30
#: lib/mv_web/live/member_live/form.ex:11
#, elixir-autogen, elixir-format
msgid "Use this form to manage member records and their properties."
msgstr ""
#: lib/mv_web/member_live/show.ex:52
#, elixir-autogen, elixir-format
msgid "Back to members"
msgstr ""
#: lib/mv_web/member_live/show.ex:14
#, elixir-autogen, elixir-format
msgid "Edit member"
msgstr ""
#: lib/mv_web/member_live/show.ex:20
#: lib/mv_web/live/member_live/show.ex:24
#, elixir-autogen, elixir-format
msgid "Id"
msgstr ""
#: lib/mv_web/member_live/show.ex:26
#: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
#: lib/mv_web/member_live/show.ex:92
#: lib/mv_web/live/member_live/show.ex:80
#, elixir-autogen, elixir-format
msgid "Show Member"
msgstr ""
#: lib/mv_web/member_live/show.ex:10
#: lib/mv_web/live/member_live/show.ex:11
#, elixir-autogen, elixir-format
msgid "This is a member record from your database."
msgstr ""
#: lib/mv_web/member_live/show.ex:26
#: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:102
#: lib/mv_web/live/member_live/form.ex:108
#: lib/mv_web/live/property_live/form.ex:200
#: lib/mv_web/live/property_type_live/form.ex:73
#, elixir-autogen, elixir-format
msgid "create"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:103
#: lib/mv_web/live/member_live/form.ex:109
#: lib/mv_web/live/property_live/form.ex:201
#: lib/mv_web/live/property_type_live/form.ex:74
#, elixir-autogen, elixir-format
msgid "update"
msgstr ""
@ -244,7 +220,7 @@ msgstr ""
msgid "Incorrect email or password"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:109
#: lib/mv_web/live/member_live/form.ex:115
#, elixir-autogen, elixir-format
msgid "Member %{action} successfully"
msgstr ""
@ -259,7 +235,7 @@ msgstr ""
msgid "You are now signed out"
msgstr ""
#: lib/mv_web/controllers/auth_controller.ex:36
#: lib/mv_web/controllers/auth_controller.ex:37
#, elixir-autogen, elixir-format
msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n"
msgstr ""
@ -273,3 +249,143 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Your password has successfully been reset"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/property_live/form.ex:44
#: lib/mv_web/live/property_type_live/form.ex:32
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Choose a member"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Choose a property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:26
#, elixir-autogen, elixir-format
msgid "Immutable"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:35
#, elixir-autogen, elixir-format
msgid "Logout"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Member"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:14
#: lib/mv_web/live/member_live/index.ex:12
#: lib/mv_web/live/member_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Members"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:50
#: lib/mv_web/live/property_type_live/form.ex:16
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:37
#, elixir-autogen, elixir-format
msgid "Please select a property type first"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:31
#, elixir-autogen, elixir-format
msgid "Profil"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:207
#, elixir-autogen, elixir-format
msgid "Property %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:18
#, elixir-autogen, elixir-format
msgid "Property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:80
#, elixir-autogen, elixir-format
msgid "Property type %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Required"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:42
#, elixir-autogen, elixir-format
msgid "Save Property"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save Property type"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:27
#, elixir-autogen, elixir-format
msgid "Select all members"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:41
#, elixir-autogen, elixir-format
msgid "Select member"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:34
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:95
#, elixir-autogen, elixir-format
msgid "Unsupported value type: %{type}"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:10
#, elixir-autogen, elixir-format
msgid "Use this form to manage property records in your database."
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:11
#, elixir-autogen, elixir-format
msgid "Use this form to manage property_type records in your database."
msgstr ""
#: lib/mv_web/live/property_live/form.ex:59
#, elixir-autogen, elixir-format
msgid "Value"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Value type"
msgstr ""
#: lib/mv_web/components/table_components.ex:30
#, elixir-autogen, elixir-format
msgid "ascending"
msgstr ""
#: lib/mv_web/components/table_components.ex:30
#, elixir-autogen, elixir-format
msgid "descending"
msgstr ""

View file

@ -11,230 +11,206 @@ msgstr ""
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/mv_web/components/core_components.ex:482
#: lib/mv_web/components/core_components.ex:339
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/mv_web/member_live/index.ex:39
#: lib/mv_web/live/member_live/index.html.heex:77
#, elixir-autogen, elixir-format
msgid "Are you sure?"
msgstr ""
#: lib/mv_web/components/core_components.ex:160
#: lib/mv_web/components/layouts.ex:71
#: lib/mv_web/components/layouts.ex:83
#, elixir-autogen, elixir-format
msgid "Attempting to reconnect"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:50
#: lib/mv_web/member_live/index.ex:25
#: lib/mv_web/member_live/show.ex:32
#: lib/mv_web/live/member_live/form.ex:25
#: lib/mv_web/live/member_live/index.html.heex:62
#: lib/mv_web/live/member_live/show.ex:36
#, elixir-autogen, elixir-format
msgid "City"
msgstr ""
#: lib/mv_web/member_live/index.ex:41
#: lib/mv_web/live/member_live/index.html.heex:79
#, elixir-autogen, elixir-format
msgid "Delete"
msgstr ""
#: lib/mv_web/member_live/index.ex:33
#: lib/mv_web/live/member_live/index.html.heex:71
#, elixir-autogen, elixir-format
msgid "Edit"
msgstr ""
#: lib/mv_web/member_live/index.ex:76
#: lib/mv_web/member_live/show.ex:93
#: lib/mv_web/live/member_live/show.ex:18
#: lib/mv_web/live/member_live/show.ex:81
#, elixir-autogen, elixir-format
msgid "Edit Member"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:43
#: lib/mv_web/member_live/index.ex:24
#: lib/mv_web/member_live/show.ex:23
#: lib/mv_web/live/member_live/form.ex:18
#: lib/mv_web/live/member_live/index.html.heex:58
#: lib/mv_web/live/member_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Email"
msgstr ""
#: lib/mv_web/components/core_components.ex:151
#, elixir-autogen, elixir-format
msgid "Error!"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:41
#: lib/mv_web/member_live/index.ex:22
#: lib/mv_web/member_live/show.ex:21
#: lib/mv_web/live/member_live/form.ex:16
#: lib/mv_web/live/member_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "First Name"
msgstr ""
#: lib/mv_web/components/core_components.ex:172
#, elixir-autogen, elixir-format
msgid "Hang in there while we get back on track"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:47
#: lib/mv_web/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:29
#: lib/mv_web/live/member_live/form.ex:22
#: lib/mv_web/live/member_live/index.html.heex:64
#: lib/mv_web/live/member_live/show.ex:33
#, elixir-autogen, elixir-format
msgid "Join Date"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:42
#: lib/mv_web/member_live/index.ex:23
#: lib/mv_web/member_live/show.ex:22
#: lib/mv_web/live/member_live/form.ex:17
#: lib/mv_web/live/member_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "Last Name"
msgstr ""
#: lib/mv_web/member_live/index.ex:8
#: lib/mv_web/member_live/index.ex:88
#, elixir-autogen, elixir-format
msgid "Listing Members"
msgstr ""
#: lib/mv_web/member_live/index.ex:11
#: lib/mv_web/member_live/index.ex:82
#: lib/mv_web/live/member_live/index.html.heex:6
#, elixir-autogen, elixir-format
msgid "New Member"
msgstr ""
#: lib/mv_web/member_live/index.ex:30
#: lib/mv_web/live/member_live/index.html.heex:68
#, elixir-autogen, elixir-format
msgid "Show"
msgstr ""
#: lib/mv_web/components/core_components.ex:167
#: lib/mv_web/components/layouts.ex:78
#, elixir-autogen, elixir-format
msgid "Something went wrong!"
msgstr ""
#: lib/mv_web/components/core_components.ex:150
#, elixir-autogen, elixir-format
msgid "Success!"
msgstr ""
#: lib/mv_web/components/core_components.ex:155
#: lib/mv_web/components/layouts.ex:66
#, elixir-autogen, elixir-format
msgid "We can't find the internet"
msgstr ""
#: lib/mv_web/components/core_components.ex:76
#: lib/mv_web/components/core_components.ex:130
#: lib/mv_web/components/core_components.ex:74
#, elixir-autogen, elixir-format
msgid "close"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:44
#: lib/mv_web/member_live/show.ex:24
#: lib/mv_web/live/member_live/form.ex:19
#: lib/mv_web/live/member_live/show.ex:28
#, elixir-autogen, elixir-format
msgid "Birth Date"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:55
#: lib/mv_web/member_live/show.ex:38
#: lib/mv_web/live/member_live/form.ex:30
#: lib/mv_web/live/member_live/show.ex:42
#, elixir-autogen, elixir-format
msgid "Custom Properties"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:48
#: lib/mv_web/member_live/show.ex:30
#: lib/mv_web/live/member_live/form.ex:23
#: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "Exit Date"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:52
#: lib/mv_web/member_live/show.ex:34
#: lib/mv_web/live/member_live/form.ex:27
#: lib/mv_web/live/member_live/index.html.heex:60
#: lib/mv_web/live/member_live/show.ex:38
#, elixir-autogen, elixir-format
msgid "House Number"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:49
#: lib/mv_web/member_live/show.ex:31
#: lib/mv_web/live/member_live/form.ex:24
#: lib/mv_web/live/member_live/show.ex:35
#, elixir-autogen, elixir-format
msgid "Notes"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:45
#: lib/mv_web/member_live/show.ex:25
#: lib/mv_web/live/member_live/form.ex:20
#: lib/mv_web/live/member_live/show.ex:29
#, elixir-autogen, elixir-format
msgid "Paid"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:46
#: lib/mv_web/member_live/show.ex:28
#: lib/mv_web/live/member_live/form.ex:21
#: lib/mv_web/live/member_live/index.html.heex:63
#: lib/mv_web/live/member_live/show.ex:32
#, elixir-autogen, elixir-format
msgid "Phone Number"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:53
#: lib/mv_web/member_live/show.ex:35
#: lib/mv_web/live/member_live/form.ex:28
#: lib/mv_web/live/member_live/index.html.heex:61
#: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Postal Code"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:75
#: lib/mv_web/live/member_live/form.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Save Member"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:75
#: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/property_live/form.ex:41
#: lib/mv_web/live/property_type_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
#: lib/mv_web/member_live/form_component.ex:51
#: lib/mv_web/member_live/show.ex:33
#: lib/mv_web/live/member_live/form.ex:26
#: lib/mv_web/live/member_live/index.html.heex:59
#: lib/mv_web/live/member_live/show.ex:37
#, elixir-autogen, elixir-format
msgid "Street"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:30
#: lib/mv_web/live/member_live/form.ex:11
#, elixir-autogen, elixir-format
msgid "Use this form to manage member records and their properties."
msgstr ""
#: lib/mv_web/member_live/show.ex:52
#, elixir-autogen, elixir-format
msgid "Back to members"
msgstr ""
#: lib/mv_web/member_live/show.ex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit member"
msgstr ""
#: lib/mv_web/member_live/show.ex:20
#: lib/mv_web/live/member_live/show.ex:24
#, elixir-autogen, elixir-format
msgid "Id"
msgstr ""
#: lib/mv_web/member_live/show.ex:26
#: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
#: lib/mv_web/member_live/show.ex:92
#: lib/mv_web/live/member_live/show.ex:80
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Member"
msgstr ""
#: lib/mv_web/member_live/show.ex:10
#: lib/mv_web/live/member_live/show.ex:11
#, elixir-autogen, elixir-format
msgid "This is a member record from your database."
msgstr ""
#: lib/mv_web/member_live/show.ex:26
#: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:102
#: lib/mv_web/live/member_live/form.ex:108
#: lib/mv_web/live/property_live/form.ex:200
#: lib/mv_web/live/property_type_live/form.ex:73
#, elixir-autogen, elixir-format
msgid "create"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:103
#: lib/mv_web/live/member_live/form.ex:109
#: lib/mv_web/live/property_live/form.ex:201
#: lib/mv_web/live/property_type_live/form.ex:74
#, elixir-autogen, elixir-format
msgid "update"
msgstr ""
@ -244,7 +220,7 @@ msgstr ""
msgid "Incorrect email or password"
msgstr ""
#: lib/mv_web/member_live/form_component.ex:109
#: lib/mv_web/live/member_live/form.ex:115
#, elixir-autogen, elixir-format
msgid "Member %{action} successfully"
msgstr ""
@ -259,7 +235,7 @@ msgstr ""
msgid "You are now signed out"
msgstr ""
#: lib/mv_web/controllers/auth_controller.ex:36
#: lib/mv_web/controllers/auth_controller.ex:37
#, elixir-autogen, elixir-format
msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n"
msgstr ""
@ -273,3 +249,143 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Your password has successfully been reset"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/property_live/form.ex:44
#: lib/mv_web/live/property_type_live/form.ex:32
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Choose a member"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Choose a property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:26
#, elixir-autogen, elixir-format
msgid "Immutable"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:35
#, elixir-autogen, elixir-format
msgid "Logout"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Member"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:14
#: lib/mv_web/live/member_live/index.ex:12
#: lib/mv_web/live/member_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Members"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:50
#: lib/mv_web/live/property_type_live/form.ex:16
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:37
#, elixir-autogen, elixir-format
msgid "Please select a property type first"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:31
#, elixir-autogen, elixir-format
msgid "Profil"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:207
#, elixir-autogen, elixir-format, fuzzy
msgid "Property %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:18
#, elixir-autogen, elixir-format
msgid "Property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:80
#, elixir-autogen, elixir-format
msgid "Property type %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Required"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:42
#, elixir-autogen, elixir-format
msgid "Save Property"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save Property type"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:27
#, elixir-autogen, elixir-format
msgid "Select all members"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:41
#, elixir-autogen, elixir-format
msgid "Select member"
msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:34
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:95
#, elixir-autogen, elixir-format
msgid "Unsupported value type: %{type}"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:10
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property records in your database."
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:11
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property_type records in your database."
msgstr ""
#: lib/mv_web/live/property_live/form.ex:59
#, elixir-autogen, elixir-format
msgid "Value"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Value type"
msgstr ""
#: lib/mv_web/components/table_components.ex:30
#, elixir-autogen, elixir-format
msgid "ascending"
msgstr ""
#: lib/mv_web/components/table_components.ex:30
#, elixir-autogen, elixir-format
msgid "descending"
msgstr ""