This produces the same files as Phoenix's mix phx.gen.live (). The only difference is that the templates use Tailwind and Petal Components. You can try it out with:
mix petal.gen.live Todos Todo todos label:string is_done:boolean
Add the routes from the output.
If you're wondering where to put the routes, you can search in the router file for the text "page_builder:live:protected", and add them straight after that line.
def PetalProWeb.Router do
...
scope "/", PetalProWeb do
pipe_through [
:browser,
:require_authenticated_user,
:kick_user_if_suspended_or_deleted,
:onboard_new_users
]
live_session :require_authenticated_user,
on_mount: {PetalProWeb.UserOnMountHooks, :require_authenticated_user} do
...
# page_builder:live:protected
live "/todos", TodoLive.Index, :index
live "/todos/new", TodoLive.Index, :new
live "/todos/:id/edit", TodoLive.Index, :edit
live "/todos/:id", TodoLive.Show, :show
live "/todos/:id/show/edit", TodoLive.Show, :edit
end
end
...
end
mix petal.gen.html
Example:
mix petal.gen.html Todos Todo todos label:string is_done:boolean
Same file output as phx.gen.html (), but uses Petal Components and a layout from Pro.