v/GTT
1
0
mirror of https://github.com/eeeXun/GTT.git synced 2025-05-16 07:40:44 -07:00
GTT/main.go
2023-01-09 19:17:01 +00:00

59 lines
1.7 KiB
Go

package main
import (
"gtt/internal/color"
"gtt/internal/translate"
"gtt/internal/ui"
"github.com/rivo/tview"
"github.com/spf13/viper"
)
var (
// Translate
translator = translate.NewTranslator()
// UI
app = tview.NewApplication()
srcInput = tview.NewTextArea()
dstOutput = tview.NewTextView()
srcLangDropDown = tview.NewDropDown()
dstLangDropDown = tview.NewDropDown()
langCycle = ui.NewUICycle(srcLangDropDown, dstLangDropDown)
themeDropDown = tview.NewDropDown()
transparentDropDown = tview.NewDropDown()
srcBorderDropDown = tview.NewDropDown()
dstBorderDropDown = tview.NewDropDown()
styleCycle = ui.NewUICycle(themeDropDown, transparentDropDown, srcBorderDropDown, dstBorderDropDown)
keyMapMenu = tview.NewTextView()
langButton = tview.NewButton("(1)Language")
styleButton = tview.NewButton("(2)Style")
keyMapButton = tview.NewButton("(3)KeyMap")
translateWindow = tview.NewFlex()
langWindow = tview.NewFlex()
styleWindow = tview.NewFlex()
keyMapWindow = tview.NewFlex()
mainPage = tview.NewPages()
// settings
config = viper.New()
style = color.NewStyle()
)
func main() {
SetTermTitle("GTT")
configInit()
uiInit()
mainPage.AddPage("translatePage", translateWindow, true, true)
mainPage.AddPage("langPage", langWindow, true, false)
mainPage.AddPage("stylePage", styleWindow, true, false)
mainPage.AddPage("keyMapPage", keyMapWindow, true, false)
if err := app.SetRoot(mainPage, true).
EnableMouse(true).Run(); err != nil {
panic(err)
}
// Check if config need to update
defer updateConfig()
}