From 7546933e816a13ade663849c53defdade61a3d47 Mon Sep 17 00:00:00 2001 From: Leo Date: Mon, 23 Sep 2024 16:42:40 +0200 Subject: [PATCH] bug fix and Run all components --- osui.go | 6 ++++++ ui/components.go | 16 ++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/osui.go b/osui.go index a4e1ecc..27d3559 100644 --- a/osui.go +++ b/osui.go @@ -76,6 +76,12 @@ func (r *Render) Render() error { return nil } +func (r *Render) Run() { + for _, c := range r.components { + c.Run() + } +} + func Clear() { fmt.Print("\x1b[H\x1b[2J\x1b[3J") } diff --git a/ui/components.go b/ui/components.go index 2f39f3c..5c142d5 100644 --- a/ui/components.go +++ b/ui/components.go @@ -21,22 +21,22 @@ func (t ComponentText) Run(cw *osui.ComponentWrapper) error { type ComponentInputBox struct { max_size uint - data string + Data string } func (s ComponentInputBox) Render(cw *osui.ComponentWrapper) string { return fmt.Sprintf( " %s\n|%s%s|\n %s", strings.Repeat("_", int(s.max_size)), - s.data, - strings.Repeat(" ", int(s.max_size)-len(s.data)), + s.Data, + strings.Repeat(" ", int(s.max_size)-len(s.Data)), strings.Repeat("‾", int(s.max_size)), ) } func (s ComponentInputBox) Run(cw *osui.ComponentWrapper) error { for { - fmt.Printf("\x1B[%d;%dH", cw.Y+2, int(cw.X+2)+len(s.data)) + fmt.Printf("\x1B[%d;%dH", cw.Y+2, int(cw.X+2)+len(s.Data)) key, err := osui.ReadKey() if err != nil { fmt.Println(err) @@ -58,13 +58,13 @@ func (s ComponentInputBox) Run(cw *osui.ComponentWrapper) error { return nil case osui.Key.Backspace: - if len(s.data) > 0 { - s.data = s.data[:len(s.data)-1] + if len(s.Data) > 0 { + s.Data = s.Data[:len(s.Data)-1] } default: - if int(s.max_size) > len(s.data) { - s.data += key + if int(s.max_size) > len(s.Data) { + s.Data += key } } cw.Render(s)