diff --git a/lib/decentralised_book_index_web.ex b/lib/decentralised_book_index_web.ex index 8620eef..84fa833 100644 --- a/lib/decentralised_book_index_web.ex +++ b/lib/decentralised_book_index_web.ex @@ -90,6 +90,7 @@ defmodule DecentralisedBookIndexWeb do # Core UI components import DecentralisedBookIndexWeb.CoreComponents use DecentralisedBookIndexWeb.Components.MyPartials + use DecentralisedBookIndexWeb.Components.MyComponents # Shortcut for generating JS commands alias Phoenix.LiveView.JS diff --git a/lib/decentralised_book_index_web/components/my_components.ex b/lib/decentralised_book_index_web/components/my_components.ex new file mode 100644 index 0000000..312d4f6 --- /dev/null +++ b/lib/decentralised_book_index_web/components/my_components.ex @@ -0,0 +1,9 @@ +defmodule DecentralisedBookIndexWeb.Components.MyComponents do + alias DecentralisedBookIndexWeb.Components.MyComponents + + defmacro __using__(_) do + quote do + import MyComponents.AuthorCard, only: [author_card: 1] + end + end +end diff --git a/lib/decentralised_book_index_web/components/my_components/author_card.ex b/lib/decentralised_book_index_web/components/my_components/author_card.ex new file mode 100644 index 0000000..a995cdb --- /dev/null +++ b/lib/decentralised_book_index_web/components/my_components/author_card.ex @@ -0,0 +1,24 @@ +defmodule DecentralisedBookIndexWeb.Components.MyComponents.AuthorCard do + use Phoenix.Component + + attr(:author, :map, required: true) + + def author_card(assigns) do + ~H""" +