# `PhoenixKit.Notifications.Render`
[🔗](https://github.com/BeamLabEU/phoenix_kit/blob/v1.7.102/lib/phoenix_kit/notifications/render.ex#L1)

Human-readable rendering for notifications.

Maps `{activity.action, activity.metadata}` → `%{icon, text, link, actor_uuid}`
so the bell dropdown and inbox page don't need to know the action taxonomy.

Unknown actions fall back to the raw action string with a generic icon, so a
new action that hasn't been mapped yet still displays safely.

# `render_result`

```elixir
@type render_result() :: %{
  icon: String.t(),
  text: String.t(),
  link: String.t() | nil,
  actor_uuid: String.t() | nil
}
```

# `render`

```elixir
@spec render(PhoenixKit.Notifications.Notification.t()) :: render_result()
```

Returns the display payload for a notification.

`notification.activity` must be preloaded.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
