From 9609c1803e68ecd753572972cb2cd531b48f1438 Mon Sep 17 00:00:00 2001 From: adamdotdevin <2363879+adamdottv@users.noreply.github.com> Date: Fri, 15 Aug 2025 08:39:58 -0500 Subject: feat: /tui/show-toast api --- packages/tui/internal/tui/tui.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'packages/tui') diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go index 7b5fc72c5..97e5527bc 100644 --- a/packages/tui/internal/tui/tui.go +++ b/packages/tui/internal/tui/tui.go @@ -705,6 +705,45 @@ func (a Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { updated, cmd := a.executeCommand(commands.Command(command)) a = updated.(Model) cmds = append(cmds, cmd) + case "/tui/show-toast": + var body struct { + Title string `json:"title,omitempty"` + Message string `json:"message"` + Variant string `json:"variant"` + } + json.Unmarshal((msg.Body), &body) + + var toastCmd tea.Cmd + switch body.Variant { + case "info": + if body.Title != "" { + toastCmd = toast.NewInfoToast(body.Message, toast.WithTitle(body.Title)) + } else { + toastCmd = toast.NewInfoToast(body.Message) + } + case "success": + if body.Title != "" { + toastCmd = toast.NewSuccessToast(body.Message, toast.WithTitle(body.Title)) + } else { + toastCmd = toast.NewSuccessToast(body.Message) + } + case "warning": + if body.Title != "" { + toastCmd = toast.NewErrorToast(body.Message, toast.WithTitle(body.Title)) + } else { + toastCmd = toast.NewErrorToast(body.Message) + } + case "error": + if body.Title != "" { + toastCmd = toast.NewErrorToast(body.Message, toast.WithTitle(body.Title)) + } else { + toastCmd = toast.NewErrorToast(body.Message) + } + default: + slog.Error("Invalid toast variant", "variant", body.Variant) + return a, nil + } + cmds = append(cmds, toastCmd) default: break -- cgit v1.2.3