24 lines
640 B
Elixir
24 lines
640 B
Elixir
defmodule Llmex.PostLayout do
|
|
use Tableau.Layout, layout: Llmex.RootLayout
|
|
use Phoenix.Component
|
|
|
|
def template(assigns) do
|
|
~H"""
|
|
<%= {:safe, render(@inner_content)} %>
|
|
<%= if @page[:date] do %>
|
|
<time datetime={@page[:date]}><%= format_date(@page[:date]) %></time>
|
|
<% end %>
|
|
"""
|
|
end
|
|
|
|
defp format_date(date_string) when is_binary(date_string) do
|
|
case Date.from_iso8601(date_string) do
|
|
{:ok, date} -> Calendar.strftime(date, "%B %d, %Y")
|
|
{:error, _} -> date_string
|
|
end
|
|
end
|
|
|
|
defp format_date(%Date{} = date), do: Calendar.strftime(date, "%B %d, %Y")
|
|
defp format_date(_), do: ""
|
|
end
|