33 lines
555 B
Go
33 lines
555 B
Go
package tui
|
|
|
|
import (
|
|
"git.embergate.com/saeedafzal/restui/tui/rest"
|
|
"github.com/gdamore/tcell/v2"
|
|
"github.com/rivo/tview"
|
|
)
|
|
|
|
type Tui struct {
|
|
app *tview.Application
|
|
pages *tview.Pages
|
|
}
|
|
|
|
func New(app *tview.Application) Tui {
|
|
return Tui{app, tview.NewPages()}
|
|
}
|
|
|
|
func (t Tui) Root() *tview.Pages {
|
|
rest := rest.New(t.app)
|
|
|
|
t.pages.AddPage("rest", rest.Root(), true, true)
|
|
|
|
t.pages.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
|
|
if event.Rune() == 'q' {
|
|
t.app.Stop()
|
|
return nil
|
|
}
|
|
return event
|
|
})
|
|
|
|
return t.pages
|
|
}
|