Files
nak/view/main.go

74 lines
1.5 KiB
Go

package main
import (
"os"
"fiatjaf.com/nostr"
"github.com/therecipe/qt/widgets"
)
var (
currentSec nostr.SecretKey
currentKeyer nostr.Keyer
statusLabel *widgets.QLabel
)
func main() {
app := widgets.NewQApplication(len(os.Args), os.Args)
window := widgets.NewQMainWindow(nil, 0)
window.SetMinimumSize2(800, 600)
window.SetWindowTitle("nakv")
centralWidget := widgets.NewQWidget(nil, 0)
window.SetCentralWidget(centralWidget)
mainLayout := widgets.NewQVBoxLayout()
centralWidget.SetLayout(mainLayout)
// private key input
secLabel := widgets.NewQLabel2("private key (hex or nsec):", nil, 0)
mainLayout.AddWidget(secLabel, 0, 0)
secEdit := widgets.NewQLineEdit(nil)
mainLayout.AddWidget(secEdit, 0, 0)
secEdit.ConnectTextChanged(func(text string) {
if text == "" {
currentSec = nostr.SecretKey{}
currentKeyer = nil
statusLabel.SetText("")
return
}
sk, bunker, err := handleSecretKeyOrBunker(text)
if err != nil {
statusLabel.SetText(err.Error())
currentSec = nostr.SecretKey{}
currentKeyer = nil
return
}
currentSec = sk
currentKeyer = bunker
statusLabel.SetText("")
updateEvent()
})
tabWidget := widgets.NewQTabWidget(nil)
eventTab := setupEventTab()
reqTab := widgets.NewQWidget(nil, 0)
tabWidget.AddTab(eventTab, "event")
tabWidget.AddTab(reqTab, "req")
mainLayout.AddWidget(tabWidget, 0, 0)
statusLabel = widgets.NewQLabel2("", nil, 0)
mainLayout.AddWidget(statusLabel, 0, 0)
// initial render
updateEvent()
window.Show()
app.Exec()
}