56 lines
1.6 KiB
Plaintext
56 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="note-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,
|
|
aria_label: gettext("slug"),
|
|
class: "input input-primary",
|
|
phx_debounce: 300,
|
|
phx_hook: "SanitizeTitles",
|
|
placeholder: gettext("slug")
|
|
) %>
|
|
<%= error_tag(f, :slug) %>
|
|
|
|
<%= textarea(f, :content,
|
|
id: "note-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.Notes.Note, :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>
|