defmodule CanneryWeb.Components.InviteCard do @moduledoc """ Display card for an invite """ use CanneryWeb, :component alias Cannery.Accounts.{Invite, Invites, User} alias CanneryWeb.Endpoint attr :invite, Invite, required: true attr :current_user, User, required: true slot(:inner_block) slot(:code_actions) def invite_card(%{invite: invite, current_user: current_user} = assigns) do assigns = assigns |> assign(:use_count, Invites.get_use_count(invite, current_user)) |> assign_new(:code_actions, fn -> [] end) ~H"""
<%= Routes.user_registration_url(Endpoint, :new, invite: @invite.token) %>
<%= render_slot(@code_actions) %>