defmodule LivebookWeb.SessionLive.ExportElixirComponent do use LivebookWeb, :live_component alias Livebook.Session @impl true def update(assigns, socket) do socket = assign(socket, assigns) source = Livebook.Notebook.Export.Elixir.notebook_to_elixir(socket.assigns.notebook) socket = assign(socket, :source, source) {:ok, socket} end @impl true def render(assigns) do ~H"""
<%= Session.file_name_for_download(@session) <> ".exs" %>
<.remix_icon icon="download-2-line" class="text-lg" />
<.code_preview source_id="export-notebook-source" language="elixir" source={@source} />
""" end end