fix: added delete buttons on chats and have chat titeling (maybe)
This commit is contained in:
@@ -458,6 +458,30 @@ defmodule BDS.Desktop.ShellLive do
|
||||
end
|
||||
end
|
||||
|
||||
def handle_event("delete_sidebar_chat", %{"id" => conversation_id}, socket) do
|
||||
case AI.delete_chat_conversation(conversation_id) do
|
||||
{:ok, :deleted} ->
|
||||
workbench = Workbench.close_tab(socket.assigns.workbench, :chat, conversation_id)
|
||||
tab_meta = Map.delete(socket.assigns.tab_meta, {:chat, conversation_id})
|
||||
|
||||
{:noreply,
|
||||
socket
|
||||
|> assign(:tab_meta, tab_meta)
|
||||
|> reload_shell(workbench)}
|
||||
|
||||
{:error, reason} ->
|
||||
{:noreply,
|
||||
socket
|
||||
|> append_output_entry(
|
||||
translated("sidebar.chat.deleteConversation"),
|
||||
inspect(reason),
|
||||
nil,
|
||||
"error"
|
||||
)
|
||||
|> reload_shell(socket.assigns.workbench)}
|
||||
end
|
||||
end
|
||||
|
||||
def handle_event("toggle_offline_mode", _params, socket) do
|
||||
next_mode = not socket.assigns.offline_mode
|
||||
|
||||
|
||||
@@ -353,7 +353,7 @@ defmodule BDS.Desktop.ShellLive.SidebarComponents do
|
||||
<%= if Enum.any?(Map.get(@sidebar_data, :items, [])) do %>
|
||||
<div class={if(template_sidebar?(@sidebar_data), do: "chat-list-items", else: "settings-nav-list")}>
|
||||
<%= for item <- Map.get(@sidebar_data, :items, []) do %>
|
||||
<%= if item.route == "templates" do %>
|
||||
<%= if item.route in ["templates", "chat"] do %>
|
||||
<div
|
||||
class={["chat-list-item", if(sidebar_item_selected?(@workbench, item.route, item.id), do: "active")]}
|
||||
data-item-id={item.id}
|
||||
@@ -379,11 +379,11 @@ defmodule BDS.Desktop.ShellLive.SidebarComponents do
|
||||
</button>
|
||||
<button
|
||||
class="chat-item-delete"
|
||||
data-testid="sidebar-delete-template"
|
||||
data-testid={if(item.route == "chat", do: "sidebar-delete-chat", else: "sidebar-delete-template")}
|
||||
data-item-id={item.id}
|
||||
type="button"
|
||||
title={translated("Delete") <> " " <> translated("Template")}
|
||||
phx-click="delete_sidebar_template"
|
||||
title={if(item.route == "chat", do: translated("sidebar.chat.deleteConversation"), else: translated("Delete") <> " " <> translated("Template"))}
|
||||
phx-click={if(item.route == "chat", do: "delete_sidebar_chat", else: "delete_sidebar_template")}
|
||||
phx-value-id={item.id}
|
||||
>
|
||||
×
|
||||
|
||||
Reference in New Issue
Block a user