memEx/lib/memex_web/live/context_live/form_component.html.heex
2023-11-04 22:40:56 -04:00

55 lines
1.6 KiB
Plaintext

<div class="h-full flex flex-col justify-start items-stretch space-y-4">
<.form
:let={f}
for={@changeset}
id="context-form"
phx-target={@myself}
phx-change="validate"
phx-submit="save"
phx-hook="CtrlEnter"
class="flex flex-col justify-start items-stretch space-y-4"
>
<%= text_input(f, :slug,
class: "input input-primary",
placeholder: gettext("slug"),
aria_label: gettext("slug"),
phx_debounce: 300
) %>
<%= error_tag(f, :slug) %>
<%= textarea(f, :content,
id: "context-form-content",
class: "input input-primary h-64 min-h-64",
phx_update: "ignore",
placeholder: gettext("use [[note-slug]] to link to a note"),
aria_label: gettext("use [[note-slug]] to link to a note"),
phx_debounce: 300
) %>
<%= error_tag(f, :content) %>
<%= text_input(f, :tags_string,
id: "tags-input",
class: "input input-primary",
placeholder: gettext("tag1,tag2"),
aria_label: gettext("tag1,tag2"),
phx_debounce: 300
) %>
<%= error_tag(f, :tags_string) %>
<div class="flex justify-center items-stretch space-x-4">
<%= select(f, :visibility, Ecto.Enum.values(Memex.Contexts.Context, :visibility),
class: "grow input input-primary",
prompt: gettext("select privacy"),
aria_label: gettext("select privacy"),
phx_debounce: 300
) %>
<%= submit(dgettext("actions", "save"),
phx_disable_with: gettext("saving..."),
class: "mx-auto btn btn-primary"
) %>
</div>
<%= error_tag(f, :visibility) %>
</.form>
</div>