Packages

An Elixir UI components library to make engineers' life easier.

Current section

Files

Jump to
paleta lib components restrict.ex
Raw

lib/components/restrict.ex

defmodule Paleta.Components.Restrict do
use Phoenix.Component
attr(:permission, :string, default: "")
attr(:permissions, :any, default: [])
slot(:inner_block, required: true)
def restrict(%{permission: permission, permissions: permissions} = assigns) do
assigns
|> render(String.contains?(permission, permissions))
end
defp render(assigns, true) do
~H"""
<%= render_slot(@inner_block) %>
"""
end
defp render(assigns, false) do
~H"""
"""
end
end