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) } }