Update design of public pages
This commit is contained in:
38
lib/outlook_web/components/public_components.ex
Normal file
38
lib/outlook_web/components/public_components.ex
Normal file
@ -0,0 +1,38 @@
|
||||
defmodule OutlookWeb.PublicComponents do
|
||||
@moduledoc """
|
||||
Provides components for showing and listing artikel and autoren.
|
||||
"""
|
||||
use Phoenix.Component
|
||||
import Phoenix.HTML
|
||||
|
||||
alias Phoenix.LiveView.JS
|
||||
|
||||
attr :autor, :any, required: true
|
||||
|
||||
def autor(assigns) do
|
||||
~H"""
|
||||
<a href={"/autoren/#{@autor.id}"}>
|
||||
<div class="p-4 my-2 border rounded-lg border-slate-400 text-slate-800">
|
||||
<div class="font-bold"><%= @autor.name %></div>
|
||||
<div class=""><%= @autor.description %></div>
|
||||
</div>
|
||||
</a>
|
||||
"""
|
||||
end
|
||||
|
||||
attr :artikel, :any, required: true
|
||||
attr :show_author, :boolean, default: true
|
||||
|
||||
def artikel(assigns) do
|
||||
~H"""
|
||||
<.link navigate={"/artikel/#{@artikel.id}"}>
|
||||
<div class="my-2 px-2 rounded border-2 border-solid border-gray-300">
|
||||
<h4 class="font-bold py-2"><%= @artikel.title %></h4>
|
||||
<div :if={@show_author}><small><%= @artikel.article.author.name %></small></div>
|
||||
<div><small><%= @artikel.date |> Calendar.strftime("%d.%m.%Y") %></small></div>
|
||||
<div><%= @artikel.teaser |> raw %></div>
|
||||
</div>
|
||||
</.link>
|
||||
"""
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user