mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-02-22 13:53:23 +08:00
* Update phoenix deps
* Update reference to LiveDashboard encode_pid
* Fix form input id references
* Move to HEEx
* Update back to filesystem LV npm package
* Further HEEx rewrites
* Refactor icons into function components
* .html.leex -> .html.heex
* Further refactoring
* Move render helpers into function components
* Add doctype back
* Further refactoring
* Refactor cell component
* Further refactoring
* Compose sidebar using function components
* Rewrite notebook card component as function component
* Fruther refactoring
* Fix race condition in runtime tests
* Rewrite tooltips into function component
* Update Tailwind purge rules
* Revert "Rewrite tooltips into function component"
This reverts commit bd6ca8f0b5
.
* Refactor conditional tooltip
34 lines
1.1 KiB
Elixir
34 lines
1.1 KiB
Elixir
defmodule LivebookWeb.HomeLive.CloseSessionComponent do
|
|
use LivebookWeb, :live_component
|
|
|
|
alias Livebook.SessionSupervisor
|
|
|
|
@impl true
|
|
def render(assigns) do
|
|
~H"""
|
|
<div class="p-6 pb-4 flex flex-col space-y-8">
|
|
<h3 class="text-2xl font-semibold text-gray-800">
|
|
Close session
|
|
</h3>
|
|
<p class="text-gray-700">
|
|
Are you sure you want to close this section -
|
|
<span class="font-semibold">“<%= @session_summary.notebook_name %>”</span>?
|
|
This won't delete any persisted files.
|
|
</p>
|
|
<div class="mt-8 flex justify-end space-x-2">
|
|
<button class="button button-red" phx-click="close" phx-target={@myself}>
|
|
<.remix_icon icon="close-circle-line" class="align-middle mr-1" />
|
|
Close session
|
|
</button>
|
|
<%= live_patch "Cancel", to: @return_to, class: "button button-outlined-gray" %>
|
|
</div>
|
|
</div>
|
|
"""
|
|
end
|
|
|
|
@impl true
|
|
def handle_event("close", %{}, socket) do
|
|
SessionSupervisor.close_session(socket.assigns.session_summary.session_id)
|
|
{:noreply, push_patch(socket, to: socket.assigns.return_to)}
|
|
end
|
|
end
|