summaryrefslogtreecommitdiff
path: root/client/cmd_window.go
diff options
context:
space:
mode:
authorcitrons <citrons@mondecitronne.com>2025-06-02 14:03:36 -0500
committercitrons <citrons@mondecitronne.com>2025-06-02 14:03:36 -0500
commitfe33ae88d3610eceeb79d5ecb2729aa1a6e81828 (patch)
tree323cfed94898ce9d225809c9a89da1d7f1227521 /client/cmd_window.go
parent8c4e3c81890f26f056eff7b3344f23fed4c1d970 (diff)
put default window functionality in concrete type
Diffstat (limited to 'client/cmd_window.go')
-rw-r--r--client/cmd_window.go53
1 files changed, 8 insertions, 45 deletions
diff --git a/client/cmd_window.go b/client/cmd_window.go
index 66245a0..fe6e60a 100644
--- a/client/cmd_window.go
+++ b/client/cmd_window.go
@@ -10,9 +10,7 @@ import (
type cmdWindowLocation struct {}
type cmdWindow struct {
- buf buffer.Buffer
- input tui.TextInput
- login bool
+ window.DefaultWindow
}
type logMsg struct {
@@ -65,50 +63,20 @@ func (w *cmdWindow) Location() window.Location {
return cmdWindowLocation {}
}
-func (w *cmdWindow) Kill() {}
-
-func (w *cmdWindow) Buffer() *buffer.Buffer {
- return &w.buf
-}
-
-func (w *cmdWindow) Input() *tui.TextInput {
- return &w.input
-}
-
func (w *cmdWindow) Send(text string) {
- if w.login {
- w.login = false
- previousText := w.input.Text()
- w.input.SetText("")
- globalApp.auth(text, func(success bool) {
- if !success {
- w.loginMode()
- w.input.SetText(previousText)
- }
- })
- }
if text == ":wq" {
globalApp.quit = true
}
}
func (w *cmdWindow) ShowStatusLine() {
- if !w.login {
- tui.Text("command window", &tui.Style {
- Bg: tui.White, Fg: tui.Black, Italic: true,
- })
- } else {
- tui.Text("[", nil)
- tui.Text("login", &tui.Style {
- Bg: tui.White, Fg: tui.Blue, Bold: true,
- })
- tui.Text("]", nil)
- tui.Text(" username:", nil)
- }
+ tui.Text("command window", &tui.Style {
+ Bg: tui.White, Fg: tui.Black, Italic: true,
+ })
}
func (w *cmdWindow) showPreview() {
- bottom := w.buf.Bottom()
+ bottom := w.Buf.Bottom()
if bottom == nil {
return
}
@@ -141,22 +109,17 @@ func (w *cmdWindow) showPreview() {
tui.Pop()
}
-func (w *cmdWindow) loginMode() {
- w.login = true
- w.input.SetText("")
-}
-
func (w *cmdWindow) info(f string, a ...any) {
lastIndex++
- w.buf.Add(logMsg {lastIndex, fmt.Sprintf(f, a...), logInfo})
+ w.Buf.Add(logMsg {lastIndex, fmt.Sprintf(f, a...), logInfo})
}
func (w *cmdWindow) err(f string, a ...any) {
lastIndex++
- w.buf.Add(logMsg {lastIndex, fmt.Sprintf(f, a...), logErr})
+ w.Buf.Add(logMsg {lastIndex, fmt.Sprintf(f, a...), logErr})
}
func (w *cmdWindow) cmd(f string, a ...any) {
lastIndex++
- w.buf.Add(logMsg {lastIndex, fmt.Sprintf(f, a...), logCmd})
+ w.Buf.Add(logMsg {lastIndex, fmt.Sprintf(f, a...), logCmd})
}