livebook/lib/livebook_web/live/file_system_helpers.ex
Jonatan Kłosko 91253923b2
Improve wording around file system selector (#2157)
Co-authored-by: José Valim <jose.valim@dashbit.co>
2023-08-11 11:52:19 +02:00

40 lines
1,013 B
Elixir

defmodule LivebookWeb.FileSystemHelpers do
use LivebookWeb, :html
alias Livebook.FileSystem
@doc """
Formats the given file system into a short name.
"""
def file_system_name(file_system)
def file_system_name(%FileSystem.Local{}), do: "Disk"
def file_system_name(%FileSystem.S3{}), do: "S3"
@doc """
Formats the given file system into a descriptive label.
"""
def file_system_label(file_system)
def file_system_label(%FileSystem.Local{}), do: "Disk"
def file_system_label(%FileSystem.S3{} = fs), do: fs.bucket_url
@doc """
Renders an icon representing the given file system.
"""
def file_system_icon(assigns)
def file_system_icon(%{file_system: %FileSystem.Local{}} = assigns) do
~H"""
<.remix_icon icon="hard-drive-2-line leading-none" />
"""
end
def file_system_icon(%{file_system: %FileSystem.S3{}} = assigns) do
~H"""
<i class="not-italic">
<span class="text-[0.75em] font-semibold align-middle">S3</span>
</i>
"""
end
end