package main import ( "github.com/charmbracelet/huh" ) func run_command_form(m *model) *huh.Form { return huh.NewForm( huh.NewGroup( huh.NewInput().Title("Remote Command").Key("remote_command").Value(&m.RemoteCommand), huh.NewInput().Title("Private Key File").Key("private_key_file").Value(&m.PrivateKeyFile), huh.NewInput().Title("Username").Key("username").Value(&m.Username), huh.NewInput().Title("Host").Key("host").Value(&m.Host), ), ) } func transfer_file_form(m *model) *huh.Form { return huh.NewForm( huh.NewGroup( huh.NewInput().Title("Local Filepath").Key("local_filepath").Value(&m.LocalFilepath), huh.NewInput().Title("Destination Filepath").Key("destination_filepath").Value(&m.DestinationFilepath), huh.NewInput().Title("Private Key File").Key("private_key_file").Value(&m.PrivateKeyFile), huh.NewInput().Title("Username").Key("username").Value(&m.Username), huh.NewInput().Title("Host").Key("host").Value(&m.Host), ), ) } func acme_record_form(m *model) *huh.Form { return huh.NewForm( huh.NewGroup( huh.NewInput().Title("Cloudflare API Token").Key("cloudflare_api_token").Value(&m.CloudflareAPIToken), huh.NewInput().Title("Zone ID").Key("zone_id").Value(&m.ZoneID), huh.NewInput().Title("Record Name").Key("record_name").Value(&m.RecordName), huh.NewInput().Title("Record Value").Key("record_value").Value(&m.RecordValue), ), ) } func (m *model) SetForm() { switch m.choice { case 0: m.form = run_command_form(m) case 1: m.form = transfer_file_form(m) case 2: m.form = acme_record_form(m) default: m.form = acme_record_form(m) } }