# `FrappeUIPhx.Live.ThemeHook`
[🔗](https://github.com/moacirbishopcamata/frappe_ui_phx/blob/v0.3.1/lib/frappe_ui_phx/live/theme_hook.ex#L1)

`on_mount` que copia o tema resolvido por `FrappeUIPhx.Plug.Theme` (guardado
na sessão) para `socket.assigns.frappe_ui_theme`, mantendo o estado autoritativo
no servidor também dentro do LiveView.

    live_session :default, on_mount: [FrappeUIPhx.Live.ThemeHook] do
      ...
    end

# `on_mount`

```elixir
@spec on_mount(:default | keyword(), map(), map(), Phoenix.LiveView.Socket.t()) ::
  {:cont, Phoenix.LiveView.Socket.t()}
```

`on_mount: [FrappeUIPhx.Live.ThemeHook]` ou, para outro tema padrão (o mesmo `default:`
do `FrappeUIPhx.Plug.Theme`), `on_mount: [{FrappeUIPhx.Live.ThemeHook, default: "dark"}]`.

---

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