refactor(ui): inline command event literals
This commit is contained in:
parent
bc22f45f64
commit
8b99036acf
5 changed files with 22 additions and 66 deletions
|
|
@ -11,20 +11,12 @@ type LogoutEvent struct{ tcell.EventTime }
|
|||
|
||||
func (v *Model) logout() tview.Command {
|
||||
return func() tcell.Event {
|
||||
event := &LogoutEvent{}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &LogoutEvent{}
|
||||
}
|
||||
}
|
||||
|
||||
type QuitEvent struct{ tcell.EventTime }
|
||||
|
||||
func NewQuitEvent() *QuitEvent {
|
||||
event := &QuitEvent{}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
}
|
||||
|
||||
func (v *Model) closeState() tview.Command {
|
||||
return func() tcell.Event {
|
||||
if err := v.CloseState(); err != nil {
|
||||
|
|
@ -42,8 +34,6 @@ type closeLayerEvent struct {
|
|||
|
||||
func closeLayer(name string) tview.Command {
|
||||
return func() tcell.Event {
|
||||
event := &closeLayerEvent{name: name}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &closeLayerEvent{name: name}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,9 +41,7 @@ func (m *Model) connect() tview.Command {
|
|||
if err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &connCreateEvent{conn: conn}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &connCreateEvent{conn: conn}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -54,9 +52,7 @@ func (m *Model) close() tview.Command {
|
|||
return tcell.NewEventError(err)
|
||||
}
|
||||
}
|
||||
event := &connCloseEvent{}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &connCloseEvent{}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -115,9 +111,7 @@ func (m *Model) listen() tview.Command {
|
|||
if err := json.Unmarshal(data, &payload); err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &helloEvent{heartbeatInterval: payload.HeartbeatInterval, timeoutMS: payload.TimeoutMS}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &helloEvent{heartbeatInterval: payload.HeartbeatInterval, timeoutMS: payload.TimeoutMS}
|
||||
case "nonce_proof":
|
||||
var payload struct {
|
||||
EncryptedNonce string `json:"encrypted_nonce"`
|
||||
|
|
@ -125,9 +119,7 @@ func (m *Model) listen() tview.Command {
|
|||
if err := json.Unmarshal(data, &payload); err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &nonceProofEvent{encryptedNonce: payload.EncryptedNonce}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &nonceProofEvent{encryptedNonce: payload.EncryptedNonce}
|
||||
case "pending_remote_init":
|
||||
var payload struct {
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
|
|
@ -135,9 +127,7 @@ func (m *Model) listen() tview.Command {
|
|||
if err := json.Unmarshal(data, &payload); err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &pendingRemoteInitEvent{fingerprint: payload.Fingerprint}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &pendingRemoteInitEvent{fingerprint: payload.Fingerprint}
|
||||
case "pending_ticket":
|
||||
var payload struct {
|
||||
EncryptedUserPayload string `json:"encrypted_user_payload"`
|
||||
|
|
@ -145,13 +135,9 @@ func (m *Model) listen() tview.Command {
|
|||
if err := json.Unmarshal(data, &payload); err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &pendingTicketEvent{encryptedUserPayload: payload.EncryptedUserPayload}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &pendingTicketEvent{encryptedUserPayload: payload.EncryptedUserPayload}
|
||||
case "cancel":
|
||||
event := &cancelEvent{}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &cancelEvent{}
|
||||
case "pending_login":
|
||||
var payload struct {
|
||||
Ticket string `json:"ticket"`
|
||||
|
|
@ -159,9 +145,7 @@ func (m *Model) listen() tview.Command {
|
|||
if err := json.Unmarshal(data, &payload); err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &pendingLoginEvent{ticket: payload.Ticket}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &pendingLoginEvent{ticket: payload.Ticket}
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
|
|
@ -173,9 +157,7 @@ type heartbeatTickEvent struct{ tcell.EventTime }
|
|||
func (m *Model) heartbeat() tview.Command {
|
||||
return func() tcell.Event {
|
||||
time.Sleep(m.heartbeatInterval)
|
||||
event := &heartbeatTickEvent{}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &heartbeatTickEvent{}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -205,9 +187,7 @@ func (m *Model) generatePrivateKey() tview.Command {
|
|||
if err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &privateKeyEvent{privateKey: privateKey}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &privateKeyEvent{privateKey: privateKey}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -269,9 +249,7 @@ func (m *Model) generateQRCode(fingerprint string) tview.Command {
|
|||
return tcell.NewEventError(err)
|
||||
}
|
||||
qrCode.DisableBorder = true
|
||||
event := &qrCodeEvent{qrCode: qrCode}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &qrCodeEvent{qrCode: qrCode}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -298,9 +276,7 @@ func (m *Model) decryptUserPayload(encryptedPayload string) tview.Command {
|
|||
return tcell.NewEventError(errors.New("invalid user payload"))
|
||||
}
|
||||
|
||||
event := &userEvent{discriminator: parts[1], username: parts[3]}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &userEvent{discriminator: parts[1], username: parts[3]}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -329,8 +305,6 @@ func (m *Model) exchangeTicket(ticket string) tview.Command {
|
|||
if err != nil {
|
||||
return tcell.NewEventError(err)
|
||||
}
|
||||
event := &TokenEvent{Token: string(decryptedToken)}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &TokenEvent{Token: string(decryptedToken)}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@ type TokenEvent struct {
|
|||
|
||||
func tokenCommand(token string) tview.Command {
|
||||
return func() tcell.Event {
|
||||
event := &TokenEvent{Token: token}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &TokenEvent{Token: token}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,7 @@ type tokenEvent struct {
|
|||
|
||||
func tokenCommand(token string) tview.Command {
|
||||
return func() tcell.Event {
|
||||
event := &tokenEvent{token: token}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &tokenEvent{token: token}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -29,13 +27,9 @@ func getToken() tview.Command {
|
|||
token, err := keyring.GetToken()
|
||||
if err != nil {
|
||||
slog.Info("failed to retrieve token from keyring", "err", err)
|
||||
event := &loginEvent{}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &loginEvent{}
|
||||
}
|
||||
event := &tokenEvent{token: token}
|
||||
event.SetEventNow()
|
||||
return event
|
||||
return &tokenEvent{token: token}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,13 +55,13 @@ func NewModel(cfg *config.Config, app *tview.Application) *Model {
|
|||
func (m *Model) showLogin() tview.Command {
|
||||
m.inner = login.NewModel(m.cfg)
|
||||
m.buildLayout()
|
||||
return tview.Batch(m.inner.HandleEvent(tview.NewInitEvent()), tview.SetFocus(m))
|
||||
return tview.Batch(m.inner.HandleEvent(&tview.InitEvent{}), tview.SetFocus(m))
|
||||
}
|
||||
|
||||
func (m *Model) showChat(token string) tview.Command {
|
||||
m.inner = chat.NewView(m.app, m.cfg, token)
|
||||
m.buildLayout()
|
||||
return tview.Batch(m.inner.HandleEvent(tview.NewInitEvent()), tview.SetFocus(m))
|
||||
return tview.Batch(m.inner.HandleEvent(&tview.InitEvent{}), tview.SetFocus(m))
|
||||
}
|
||||
|
||||
func (m *Model) buildLayout() {
|
||||
|
|
@ -122,7 +122,7 @@ func (m *Model) HandleEvent(event tcell.Event) tview.Command {
|
|||
case keybind.Matches(event, m.cfg.Keybinds.Quit.Keybind):
|
||||
var innerCmd tview.Command
|
||||
if m.inner != nil {
|
||||
innerCmd = m.inner.HandleEvent(chat.NewQuitEvent())
|
||||
innerCmd = m.inner.HandleEvent(&chat.QuitEvent{})
|
||||
}
|
||||
return tview.Batch(innerCmd, tview.Quit())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue