on main help sign in
chore: prevent multiple dialogs from opening
commita28244948f413b333ebd84315c68008eb78d658f authorKujtim Hoxha <kujtimii.h@gmail.com> dateMon 14 Jul 2025, 11:34 (1 year ago) parent1045148
1 file changed+4−4
internal/tui/tui.go+4−4
internal/tui/tui.go+4−4
@@ -315,7 +315,6 @@ func (a *appModel) handleKeyPressMsg(msg tea.KeyPressMsg) tea.Cmd {
315315 // dialogs
316316 case key.Matches(msg, a.keyMap.Quit):
317317 if a.dialog.ActiveDialogID() == quit.QuitDialogID {
318− // if the quit dialog is already open, close the app
319318 return tea.Quit
320319 }
321320 return util.CmdHandler(dialogs.OpenDialogMsg{
@@ -324,20 +323,21 @@ func (a *appModel) handleKeyPressMsg(msg tea.KeyPressMsg) tea.Cmd {
324323
325324 case key.Matches(msg, a.keyMap.Commands):
326325 if a.dialog.ActiveDialogID() == commands.CommandsDialogID {
327− // If the commands dialog is already open, close it
328326 return util.CmdHandler(dialogs.CloseDialogMsg{})
329327 }
330328 if a.dialog.HasDialogs() {
331− return nil // Don't open commands dialog if another dialog is active
329+ return nil
332330 }
333331 return util.CmdHandler(dialogs.OpenDialogMsg{
334332 Model: commands.NewCommandDialog(a.selectedSessionID),
335333 })
336334 case key.Matches(msg, a.keyMap.Sessions):
337335 if a.dialog.ActiveDialogID() == sessions.SessionsDialogID {
338− // If the sessions dialog is already open, close it
339336 return util.CmdHandler(dialogs.CloseDialogMsg{})
340337 }
338+ if a.dialog.HasDialogs() && a.dialog.ActiveDialogID() != commands.CommandsDialogID {
339+ return nil
340+ }
341341 var cmds []tea.Cmd
342342 if a.dialog.ActiveDialogID() == commands.CommandsDialogID {
343343 // If the commands dialog is open, close it first