Add error message to hub form modals (#2329)

This commit is contained in:
Alexandre de Souza 2023-11-08 15:19:42 -03:00 committed by GitHub
parent c65a85b689
commit 53de306ff4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 6 deletions

View file

@ -102,7 +102,7 @@ defmodule LivebookWeb.Hub.FileSystemFormComponent do
|> push_redirect(to: socket.assigns.return_to)} |> push_redirect(to: socket.assigns.return_to)}
else else
{:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, changeset: changeset)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, changeset: changeset)}
{:transport_error, message} -> {:noreply, put_flash(socket, :error, message)} {:transport_error, message} -> {:noreply, assign(socket, error_message: message)}
{:error, message} -> {:noreply, assign(socket, error_message: message)} {:error, message} -> {:noreply, assign(socket, error_message: message)}
end end
end end

View file

@ -15,7 +15,13 @@ defmodule LivebookWeb.Hub.SecretFormComponent do
socket = assign(socket, assigns) socket = assign(socket, assigns)
{:ok, assign(socket, title: title(socket), button: button(socket), changeset: changeset)} {:ok,
assign(socket,
title: title(socket),
button: button(socket),
changeset: changeset,
error_message: nil
)}
end end
@impl true @impl true
@ -25,6 +31,9 @@ defmodule LivebookWeb.Hub.SecretFormComponent do
<h3 class="text-2xl font-semibold text-gray-800"> <h3 class="text-2xl font-semibold text-gray-800">
<%= @title %> <%= @title %>
</h3> </h3>
<div :if={@error_message} class="error-box">
<%= @error_message %>
</div>
<div class="flex flex-columns gap-4"> <div class="flex flex-columns gap-4">
<.form <.form
:let={f} :let={f}
@ -91,10 +100,7 @@ defmodule LivebookWeb.Hub.SecretFormComponent do
{:noreply, assign(socket, changeset: Map.replace!(changeset, :action, :validate))} {:noreply, assign(socket, changeset: Map.replace!(changeset, :action, :validate))}
{:transport_error, error} -> {:transport_error, error} ->
{:noreply, {:noreply, assign(socket, error_message: error)}
socket
|> put_flash(:error, error)
|> push_patch(to: "/hub/#{socket.assigns.hub.id}/secrets/new")}
end end
end end