feat: add custom field slug

This commit is contained in:
Moritz 2025-11-13 19:17:18 +01:00
parent bc75a5853a
commit edf8b2b79e
Signed by: moritz
GPG key ID: 1020A035E5DD0824
10 changed files with 756 additions and 9 deletions

View file

@ -19,6 +19,9 @@ defmodule MvWeb.CustomFieldLive.Form do
- immutable - If true, values cannot be changed after creation (default: false)
- required - If true, all members must have this custom field (default: false)
**Read-only (Edit mode only):**
- slug - Auto-generated URL-friendly identifier (immutable)
## Value Type Selection
- `:string` - Text data (unlimited length)
- `:integer` - Numeric data
@ -48,6 +51,20 @@ defmodule MvWeb.CustomFieldLive.Form do
<.form for={@form} id="custom_field-form" phx-change="validate" phx-submit="save">
<.input field={@form[:name]} type="text" label={gettext("Name")} />
<%!-- Show slug in edit mode (read-only) --%>
<div :if={@custom_field} class="mb-4">
<label class="block text-sm font-semibold leading-6 text-zinc-800">
{gettext("Slug")}
</label>
<div class="mt-2 p-3 bg-zinc-50 border border-zinc-300 rounded-lg text-sm text-zinc-700">
{@custom_field.slug}
</div>
<p class="mt-2 text-sm leading-6 text-zinc-600">
{gettext("Auto-generated identifier (immutable)")}
</p>
</div>
<.input
field={@form[:value_type]}
type="select"