defmodule ComfycampWeb.NotesEditorHTML do
use ComfycampWeb, :html
def index(assigns) do
~H"""
Заметки
<.link href={~p"/admin/notes/new"}>
Создать заметку
<%= for note <- @notes do %>
-
<.link href={~p"/admin/notes/#{note}"}>
<%= note.title %>
<%= note.updated_at %>
<% end %>
"""
end
def show(assigns) do
~H"""
<%= @note.title %>
<.back navigate={~p"/admin/notes"}>Назад
<.link href={~p"/admin/notes/#{@note}/edit"}>
Редактировать
Создана: <%= @note.inserted_at %>
Обновлена: <%= @note.updated_at %>
<%= @note.markdown %>
"""
end
def new(assigns) do
~H"""
Новая заметка
<.note_form changeset={@changeset} action={~p"/admin/notes"} />
"""
end
def edit(assigns) do
~H"""
Редактировать заметку
<.note_form changeset={@changeset} action={~p"/admin/notes/#{@changeset.data.id}"} />
"""
end
def note_form(assigns) do
~H"""
<.simple_form :let={f} for={@changeset} action={@action}>
<.input field={f[:title]} type="text" label="Заголовок" />
<.input field={f[:markdown]} type="textarea" label="Содержание (markdown)" />
<:actions>
<.button>Сохранить
<%= if @changeset.data.id do %>
<.link
href={~p"/admin/notes/#{@changeset.data}"}
method="DELETE"
data-confirm="Вы уверены?"
>
Удалить
<% end %>
"""
end
end