defmodule HomepageWeb.PageHTML do
use HomepageWeb, :html
import HomepageWeb.HelperComponents
embed_templates "page_html/*"
attr :url, :string, required: true
attr :forge_url, :string, default: nil
slot :inner_block, required: true
slot :title, required: true
def project(assigns) do
~H"""
<.link target="_blank" class="" href={@url}>
<%= render_slot(@title) %>
<.markdown><%= render_slot(@inner_block) %>
<.link target="_blank" href={@url} class="icon-link">
<.icon name="hero-arrow-top-right-on-square" /> Visit website
<.link :if={@forge_url} target="_blank" href={@forge_url} class="icon-link">
<.icon name="hero-code-bracket-square" /> See the code
"""
end
attr :id, :string, required: true
slot :inner_block, required: true
slot :title, required: true
def resume_section(assigns) do
~H"""
<%= render_slot(@title) %>
<%= render_slot(@inner_block) %>
"""
end
slot :inner_block, required: true
slot :title
def point(assigns) do
~H"""
<.point_heading><%= render_slot(@title) %>
<%= render_slot(@inner_block) %>
"""
end
slot :inner_block, required: true
def point_heading(assigns) do
~H"""
"""
end
slot :inner_block, required: true
def timeline_heading(assigns) do
~H"""
<%= render_slot(@inner_block) %>
"""
end
end