forked from hiway/freedive
Add custom component helper and module stub (Liliform)
This commit is contained in:
parent
9c4822d602
commit
88acb91054
4 changed files with 29 additions and 1 deletions
23
lib/freedive_web/components/liliform.ex
Normal file
23
lib/freedive_web/components/liliform.ex
Normal file
|
@ -0,0 +1,23 @@
|
|||
defmodule Liliform do
|
||||
use Phoenix.Component
|
||||
import PhxComponentHelpers
|
||||
|
||||
@doc """
|
||||
Renders a button.
|
||||
"""
|
||||
slot :inner_block, required: true
|
||||
|
||||
def button(assigns) do
|
||||
assigns =
|
||||
assigns
|
||||
|> extend_class("bg-blue-500 text-white px-4 py-2 rounded-md")
|
||||
|> set_attributes([:type, :id], required: [:id])
|
||||
|> set_phx_attributes()
|
||||
|
||||
~H"""
|
||||
<button {@heex_id} {@heex_type} {@heex_phx_attributes} {@heex_class}>
|
||||
<%= render_slot(@inner_block) %>
|
||||
</button>
|
||||
"""
|
||||
end
|
||||
end
|
|
@ -4,5 +4,8 @@
|
|||
<div class="bg-white p-4 shadow-lg rounded-lg">
|
||||
<Lucideicons.triangle_alert class="h-48 w-48" aria-hidden />
|
||||
<h1 class="text-xl">Under Construction!</h1>
|
||||
<p class="text-gray-500 text-center my-4">
|
||||
<Liliform.button id="btn_test">Test</Liliform.button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
3
mix.exs
3
mix.exs
|
@ -59,7 +59,8 @@ defmodule Freedive.MixProject do
|
|||
{:dns_cluster, "~> 0.1.1"},
|
||||
{:bandit, "~> 1.2"},
|
||||
{:phx_tailwind_freebsd, "~> 0.2.1", runtime: Mix.env() == :dev},
|
||||
{:lucide_icons, "~> 1.1"}
|
||||
{:lucide_icons, "~> 1.1"},
|
||||
{:phx_component_helpers, "~> 1.4"}
|
||||
]
|
||||
end
|
||||
|
||||
|
|
1
mix.lock
1
mix.lock
|
@ -32,6 +32,7 @@
|
|||
"phoenix_live_view": {:hex, :phoenix_live_view, "0.20.14", "70fa101aa0539e81bed4238777498f6215e9dda3461bdaa067cad6908110c364", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "82f6d006c5264f979ed5eb75593d808bbe39020f20df2e78426f4f2d570e2402"},
|
||||
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"},
|
||||
"phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"},
|
||||
"phx_component_helpers": {:hex, :phx_component_helpers, "1.4.1", "dbbc8ed3082055a901e3918cb24ec43df64f0f3bb81d6865beaf114fb355569e", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_html, ">= 4.0.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, ">= 0.18.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "cf499d28f2af3c8398230994c54d2ea86cd4759523693b6b75b9897cc7f57912"},
|
||||
"phx_tailwind_freebsd": {:hex, :phx_tailwind_freebsd, "0.2.1", "23583bb200196f879fbedd49be69b4d2d7ad2137971ad9a060f2cf38358c14a8", [:mix], [], "hexpm", "04aabe4b93ba850ca9116ba0a0cf302cbc5b846d09d0e268213a4553a9c53b31"},
|
||||
"plug": {:hex, :plug, "1.15.3", "712976f504418f6dff0a3e554c40d705a9bcf89a7ccef92fc6a5ef8f16a30a97", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "cc4365a3c010a56af402e0809208873d113e9c38c401cabd88027ef4f5c01fd2"},
|
||||
"plug_crypto": {:hex, :plug_crypto, "2.1.0", "f44309c2b06d249c27c8d3f65cfe08158ade08418cf540fd4f72d4d6863abb7b", [:mix], [], "hexpm", "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa"},
|
||||
|
|
Loading…
Reference in a new issue