+ def preferred_frontend(conn) do
+ %{req_cookies: cookies} =
+ conn
+ |> Plug.Conn.fetch_cookies()
+
+ Map.get(cookies, @frontend_cookie_name)
+ end
+
+ def preferred_or_fallback(conn, fallback) do
+ case preferred_frontend(conn) do
+ nil ->
+ fallback
+
+ frontend ->
+ frontend
+ end
+ end
+
+ defp enabled?(if_opt) when is_function(if_opt), do: if_opt.()
+ defp enabled?(true), do: true
+ defp enabled?(_), do: false
+