chiya/lib/chiya_web/controllers/page_html/note.html.heex

112 lines
3.8 KiB
Text
Raw Normal View History

2023-05-22 20:05:44 +02:00
<div>
<header class="mx-auto max-w-xl">
2023-05-23 22:19:37 +02:00
<h1 class="mt-16 lg:text-5xl md:text-4xl text-3xl font-bold text-theme-base">
2023-04-03 22:22:02 +02:00
<%= @note.name %>
</h1>
2023-05-23 22:19:37 +02:00
<p class="mt-2 leading-6 text-theme-base">
2023-04-30 11:56:45 +02:00
<%= if @note.published_at do %>
2023-05-07 10:32:26 +02:00
<span>Published</span>
2023-04-30 11:56:45 +02:00
<% else %>
2023-05-07 10:32:26 +02:00
<span>Unpublished</span>
2023-04-30 11:56:45 +02:00
<% end %>
2023-05-20 19:26:58 +02:00
<time class="font-semibold"><%= pretty_date(@note.published_at) %></time>
2023-05-23 22:19:37 +02:00
<.dot />
2023-04-10 12:08:19 +02:00
<span>Last Updated</span>
2023-05-20 19:26:58 +02:00
<time class="font-semibold"><%= pretty_date(@note.updated_at) %></time>
<%= if not Enum.empty?(@note.tags) do %>
<.dot />
<span>Tags</span>
<span>
<%= for tag <- @note.tags do %>
<a href={~p"/t/#{tag.slug}"} class="underline-link font-semibold"><%= tag.name %></a>
<% end %>
</span>
2023-05-20 19:26:58 +02:00
<% end %>
2023-04-09 13:43:54 +02:00
<%= if @current_user do %>
2023-05-23 22:19:37 +02:00
<.dot />
<a href={~p"/admin/notes/#{@note}"} class="underline-link font-semibold">Show in Admin</a>
2023-04-09 13:43:54 +02:00
<% end %>
2023-04-03 22:22:02 +02:00
</p>
</header>
2023-05-22 20:05:44 +02:00
<section class="mx-auto mt-8 prose prose-gruvbox md:prose-lg lg:prose-xl">
2023-04-03 22:22:02 +02:00
<%= Markdown.render(@note.content) |> raw %>
</section>
2023-03-13 03:26:39 +01:00
2023-05-22 21:05:33 +02:00
<section class="mt-8 mx-auto max-w-xl">
2023-05-22 20:05:44 +02:00
<%= if !Enum.empty?(@note.images) do %>
<.line />
2023-03-13 05:59:40 +01:00
2023-05-22 20:05:44 +02:00
<div class="flex flex-wrap gap-3">
<%= for image <- @note.images do %>
<a
href={ChiyaWeb.Uploaders.NoteImage.url({image.path, image}, :full_dithered)}
class="lightbox | w-28"
data-gallery="note"
data-description={ChiyaWeb.Markdown.render(image.content)}
>
<img
src={ChiyaWeb.Uploaders.NoteImage.url({image.path, image}, :thumb_dithered)}
class="rounded"
/>
</a>
<% end %>
</div>
<% end %>
2023-05-22 20:05:44 +02:00
</section>
2023-04-30 13:35:22 +02:00
2023-05-22 20:05:44 +02:00
<section class="mt-8 mx-auto max-w-xl">
<%= if not Enum.empty?(@note.comments) do %>
<.line />
2023-04-30 13:35:22 +02:00
2023-05-22 20:05:44 +02:00
<h2 class="mb-6 text-theme-base"><%= Enum.count(@note.comments) %> Comments</h2>
2023-05-07 10:32:26 +02:00
2023-05-22 20:05:44 +02:00
<aside id="comments" class="flex flex-col gap-6">
<%= for comment <- @note.comments do %>
<article class="text-theme-base bg-theme-base/10 p-1">
<header class="flex flex-row justify-between">
<strong class="text-theme-primary"><%= comment.author_name %></strong>
<span class="text-theme-dim"><%= from_now(comment.inserted_at) %></span>
</header>
<p><%= comment.content %></p>
</article>
<% end %>
</aside>
<% else %>
<.line />
2023-05-22 20:05:44 +02:00
<h2 class="mb-6 text-theme-base">No comments yet.</h2>
<% end %>
2023-05-07 10:32:26 +02:00
2023-05-22 20:05:44 +02:00
<.line />
2023-04-30 13:35:22 +02:00
<.simple_form
:let={f}
for={@changeset}
action={~p"/#{@note.slug}/comment"}
class="bg-theme-background -m-3"
>
2023-05-22 20:05:44 +02:00
<.error :if={@changeset.action}>
Oops, something went wrong! Please check the errors below.
</.error>
<.input
field={f[:author_name]}
type="text"
placeholder="Name"
class="bg-theme-background dark:bg-theme-background border-theme-base/20 dark:border-theme-base/20 text-theme-base dark:text-theme-base placeholder-theme-base/40 dark:placeholder-theme-base/60 dark:focus:border-theme-base/60 dark:focus:border-theme-base/60"
/>
<.input
field={f[:content]}
type="textarea"
placeholder="Content"
rows="3"
class="bg-theme-background dark:bg-theme-background border-theme-base/20 dark:border-theme-base/20 text-theme-base dark:text-theme-base placeholder-theme-base/60 dark:placeholder-theme-base/60 focus:border-theme-base/60 dark:focus:border-theme-base/60"
/>
2023-05-22 20:05:44 +02:00
<.input field={f[:note_id]} type="hidden" />
<:actions>
<.button>Submit Comment</.button>
</:actions>
</.simple_form>
</section>
2023-04-10 12:08:19 +02:00
</div>