Files
odroid-power-mate/example/powermate-console-frontend/main.go
YoungSoo Shin a7ed7f9df2 WIP
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
(cherry picked from commit 61db696a03)
2025-12-16 06:08:22 +09:00

64 lines
1.2 KiB
Go

package main
import (
"flag"
"fmt"
"os"
tea "github.com/charmbracelet/bubbletea"
)
func initialModel(ip, user, pass string) model {
formPtr := &ConnectionDetails{IP: "192.168.0.100", Username: "admin"}
if ip != "" {
formPtr.IP = ip
}
if user != "" {
formPtr.Username = user
}
if pass != "" {
formPtr.Password = pass
}
connPtr := &ConnectionDetails{IP: ip, Username: user, Password: pass}
// [수정] menuSelection 초기화
menuSel := "scan"
m := model{
state: StateLogin,
connDetails: connPtr,
formData: formPtr,
menuSelection: &menuSel, // 포인터 할당
settingsData: SettingsPayload{
Baudrate: "115200",
Period: "1000",
},
}
if ip != "" && user != "" && pass != "" {
return m
}
m.initLoginForm()
return m
}
func (m model) Init() tea.Cmd {
if m.connDetails.IP != "" && m.connDetails.Username != "" && m.connDetails.Password != "" {
return performLogin(*m.connDetails)
}
return m.loginForm.Init()
}
func main() {
host := flag.String("h", "", "IP")
user := flag.String("u", "", "User")
pass := flag.String("p", "", "Pass")
flag.Parse()
if _, err := tea.NewProgram(initialModel(*host, *user, *pass), tea.WithAltScreen()).Run(); err != nil {
fmt.Println("Error:", err)
os.Exit(1)
}
}