2021-08-14 03:17:43 +08:00
|
|
|
defmodule LivebookWeb.SettingsLive.FileSystemsComponent do
|
|
|
|
use LivebookWeb, :live_component
|
|
|
|
|
|
|
|
alias Livebook.FileSystem
|
|
|
|
|
|
|
|
@impl true
|
|
|
|
def render(assigns) do
|
|
|
|
~H"""
|
|
|
|
<div class="flex flex-col space-y-4">
|
|
|
|
<div class="flex flex-col space-y-4">
|
2022-02-23 05:42:54 +08:00
|
|
|
<%= for {file_system_id, file_system} <- @file_systems do %>
|
2021-08-14 03:17:43 +08:00
|
|
|
<div class="flex items-center justify-between border border-gray-200 rounded-lg p-4">
|
|
|
|
<div class="flex items-center space-x-12">
|
|
|
|
<.file_system_info file_system={file_system} />
|
|
|
|
</div>
|
|
|
|
<%= unless is_struct(file_system, FileSystem.Local) do %>
|
2022-03-02 07:26:40 +08:00
|
|
|
<button class="button-base button-outlined-red"
|
|
|
|
phx-click={
|
|
|
|
with_confirm(
|
|
|
|
JS.push("detach_file_system", value: %{id: file_system_id}),
|
|
|
|
title: "Detach file system",
|
|
|
|
description: "Are you sure you want to detach this file system? Any sessions using it will keep the access until they get closed.",
|
|
|
|
confirm_text: "Detach",
|
|
|
|
confirm_icon: "close-circle-line"
|
|
|
|
)
|
|
|
|
}>
|
|
|
|
Detach
|
|
|
|
</button>
|
2021-08-14 03:17:43 +08:00
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
<div class="flex">
|
|
|
|
<%= live_patch "Add file system",
|
|
|
|
to: Routes.settings_path(@socket, :add_file_system),
|
2021-12-04 04:57:21 +08:00
|
|
|
class: "button-base button-blue" %>
|
2021-08-14 03:17:43 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
"""
|
|
|
|
end
|
|
|
|
|
|
|
|
defp file_system_info(%{file_system: %FileSystem.Local{}} = assigns) do
|
|
|
|
~H"""
|
2022-04-15 20:23:41 +08:00
|
|
|
<.labeled_text label="Type">Local disk</.labeled_text>
|
2021-08-14 03:17:43 +08:00
|
|
|
"""
|
|
|
|
end
|
|
|
|
|
|
|
|
defp file_system_info(%{file_system: %FileSystem.S3{}} = assigns) do
|
|
|
|
~H"""
|
2022-04-15 20:23:41 +08:00
|
|
|
<.labeled_text label="Type">S3</.labeled_text>
|
|
|
|
<.labeled_text label="Bucket URL"><%= @file_system.bucket_url %></.labeled_text>
|
2021-08-14 03:17:43 +08:00
|
|
|
"""
|
|
|
|
end
|
|
|
|
end
|