| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package chat
- import (
- "log/slog"
- "github.com/ayn2op/tview"
- "github.com/gdamore/tcell/v3"
- )
- type LogoutEvent struct{ tcell.EventTime }
- func NewLogoutEvent() *LogoutEvent {
- event := &LogoutEvent{}
- event.SetEventNow()
- return event
- }
- type QuitEvent struct{ tcell.EventTime }
- func NewQuitEvent() *QuitEvent {
- event := &QuitEvent{}
- event.SetEventNow()
- return event
- }
- func (v *View) closeState() tcell.Event {
- if err := v.CloseState(); err != nil {
- slog.Error("failed to close the session", "err", err)
- return tcell.NewEventError(err)
- }
- return nil
- }
- func (v *View) logout() tview.Command {
- return tview.BatchCommand{
- tview.EventCommand(v.closeState),
- tview.EventCommand(func() tcell.Event { return NewLogoutEvent() }),
- }
- }
|