From 14b7411e8bdbbbe0885b202639b01a175ec75f97 Mon Sep 17 00:00:00 2001 From: Joshua Herring Date: Thu, 14 May 2026 03:30:03 -0400 Subject: [PATCH] move form setting into separate file --- forms.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ main.go | 47 ----------------------------------------------- 2 files changed, 53 insertions(+), 47 deletions(-) create mode 100644 forms.go diff --git a/forms.go b/forms.go new file mode 100644 index 0000000..a008275 --- /dev/null +++ b/forms.go @@ -0,0 +1,53 @@ +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) + } +} + diff --git a/main.go b/main.go index b36c94d..a203c6a 100644 --- a/main.go +++ b/main.go @@ -124,53 +124,6 @@ func execCommand(choice int, m model) tea.Cmd { } } -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) - } -} - func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { switch m.state { case stateList: