defmodule LivebookWeb.SessionLive.IndicatorsComponent do use LivebookWeb, :live_component @impl true def render(assigns) do ~L"""
<%= if @data_view.path do %> <%= if @data_view.dirty do %> <%= live_patch to: Routes.session_path(@socket, :file_settings, @session_id), class: "icon-button icon-outlined-button border-blue-400 hover:bg-blue-50 focus:bg-blue-50" do %> <%= remix_icon("save-line", class: "text-xl text-blue-500") %> <% end %> <% else %> <%= live_patch to: Routes.session_path(@socket, :file_settings, @session_id), class: "icon-button icon-outlined-button border-green-300 hover:bg-green-50 focus:bg-green-50" do %> <%= remix_icon("save-line", class: "text-xl text-green-400") %> <% end %> <% end %> <% else %> <%= live_patch to: Routes.session_path(@socket, :file_settings, @session_id), class: "icon-button icon-outlined-button border-gray-200 hover:bg-gray-100 focus:bg-gray-100" do %> <%= remix_icon("save-line", class: "text-xl text-gray-400") %> <% end %> <% end %> <%= if @data_view.runtime do %> <%= render_global_evaluation_status(@data_view.global_evaluation_status) %> <% else %> <%= live_patch to: Routes.session_path(@socket, :runtime_settings, @session_id), class: "icon-button icon-outlined-button border-gray-200 hover:bg-gray-100 focus:bg-gray-100" do %> <%= remix_icon("loader-3-line", class: "text-xl text-gray-400") %> <% end %> <% end %> <%# Note: this indicator is shown/hidden using CSS based on the current mode %> ins
""" end defp render_global_evaluation_status({:evaluating, cell_id}) do assigns = %{cell_id: cell_id} ~L""" """ end defp render_global_evaluation_status({:evaluated, cell_id}) do assigns = %{cell_id: cell_id} ~L""" """ end defp render_global_evaluation_status({:stale, cell_id}) do assigns = %{cell_id: cell_id} ~L""" """ end defp render_global_evaluation_status({:fresh, nil}) do assigns = %{} ~L""" """ end end