defmodule LivebookWeb.SidebarHelpers do
use Phoenix.Component
import LivebookWeb.LiveHelpers
import LivebookWeb.UserHelpers
alias Phoenix.LiveView.JS
alias LivebookWeb.Router.Helpers, as: Routes
@doc """
Renders sidebar container.
Other functions in this module render sidebar
items of various type.
"""
def sidebar(assigns) do
~H"""
"""
end
def logo_item(assigns) do
~H"""
<%= live_redirect to: Routes.home_path(@socket, :page), aria_label: "go to homepage" do %>
<% end %>
"""
end
def button_item(assigns) do
~H"""
"""
end
def link_item(assigns) do
assigns = assign_new(assigns, :link_attrs, fn -> [] end)
~H"""
<%= live_patch [to: @path,
class: "text-gray-400 hover:text-gray-50 focus:text-gray-50 rounded-xl h-10 w-10 flex items-center justify-center #{if(@active, do: "text-gray-50 bg-gray-700")}",
aria_label: @label] ++ @link_attrs do %>
<.remix_icon icon={@icon} class="text-2xl" />
<% end %>
"""
end
def shutdown_item(assigns) do
if Livebook.Config.shutdown_enabled?() do
~H"""
"""
else
~H"""
"""
end
end
def break_item(assigns) do
~H"""