defmodule LivebookWeb.SettingsLive.FileSystemsComponent do use LivebookWeb, :live_component alias Livebook.FileSystem @impl true def render(assigns) do ~H"""
<%= for {file_system, index} <- Enum.with_index(@file_systems) do %>
<.file_system_info file_system={file_system} />
<%= unless is_struct(file_system, FileSystem.Local) do %> <%= live_patch "Detach", to: Routes.settings_path(@socket, :detach_file_system, index), class: "button-base button-outlined-red" %> <% end %>
<% end %>
<%= live_patch "Add file system", to: Routes.settings_path(@socket, :add_file_system), class: "button-base button-blue" %>
""" end defp file_system_info(%{file_system: %FileSystem.Local{}} = assigns) do ~H""" <.labeled_text label="Type" text="Local disk" /> """ end defp file_system_info(%{file_system: %FileSystem.S3{}} = assigns) do ~H""" <.labeled_text label="Type" text="S3" /> <.labeled_text label="Bucket URL" text={@file_system.bucket_url} /> """ end end