[Enhancement] Improve layout of media item page on large displays (#192)

* Improved layout of media items page

* Removed useless anchor tag
This commit is contained in:
Kieran
2024-04-17 11:31:50 -07:00
committed by GitHub
parent aea40a3f92
commit 6f78ec40d7
7 changed files with 49 additions and 19 deletions
@@ -35,11 +35,12 @@ defmodule PinchflatWeb.CustomComponents.TextComponents do
Renders a subtle link with the given href and content.
"""
attr :href, :string, required: true
attr :target, :string, default: "_self"
slot :inner_block
def subtle_link(assigns) do
~H"""
<.link href={@href} class="underline decoration-bodydark decoration-1 hover:decoration-white">
<.link href={@href} target={@target} class="underline decoration-bodydark decoration-1 hover:decoration-white">
<%= render_slot(@inner_block) %>
</.link>
"""
@@ -59,4 +60,22 @@ defmodule PinchflatWeb.CustomComponents.TextComponents do
</.link>
"""
end
@doc """
Renders a block of text with each line broken into a separate span.
"""
attr :text, :string, required: true
def break_on_newline(assigns) do
broken_text =
assigns.text
|> String.split("\n", trim: false)
|> Enum.intersperse(Phoenix.HTML.Tag.tag(:span, class: "inline-block mt-2"))
assigns = Map.put(assigns, :text, broken_text)
~H"""
<span><%= @text %></span>
"""
end
end