aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--go-src/windows.go25
-rw-r--r--go-src/windowsHelpers.go15
2 files changed, 18 insertions, 22 deletions
diff --git a/go-src/windows.go b/go-src/windows.go
index 89294a1..73f8733 100644
--- a/go-src/windows.go
+++ b/go-src/windows.go
@@ -32,16 +32,14 @@ func StartupWindow(...string) {
func loginWindow(values ...string) {
// Takes form user input
- inputs := formWindow(loginNavTitle, StartupWindow,
+ var inputs []string
+ formWindow(loginNavTitle, StartupWindow,
[]formInput{
{usernameInName, inputBackSpec, nil},
{passwordInName, "", nil},
},
- values...,
+ &inputs,
)
- if len(inputs) == 0 {
- return
- }
if !usernameExists(inputs[0]) {
defer showError(valueDoesNotExist(usernameInName), loginWindow)
@@ -56,17 +54,16 @@ func loginWindow(values ...string) {
}
func registerWindow(values ...string) {
- inputs := formWindow(registerNavTitle, StartupWindow,
+ var inputs []string
+ formWindow(registerNavTitle, StartupWindow,
[]formInput{
{usernameInName, usernameSpec, stringValidUsername},
{passwordInName, passwordSpec, stringValidPassword},
{nameInName, nameSpec, stringValidName},
},
- values...,
+ &inputs,
)
- if len(inputs) == 0 {
- return
- }
+
if usernameExists(inputs[0]) {
defer showError(valueAlreadyTaken(usernameInName), registerWindow, values...)
return
@@ -126,16 +123,14 @@ func chatsWindow(values ...string) {
}
func createChatWindow(values ...string) {
- inputs := formWindow(createChatNavTitle, chatsWindow,
+ var inputs []string
+ formWindow(createChatNavTitle, chatsWindow,
[]formInput{
{chatNameInName, chatNameSpec, stringValidChatName},
{chatDescInName, chatDescSpec, stringValidChatDesc},
},
- values...,
+ &inputs,
)
- if len(inputs) == 0 {
- return
- }
if chatNameExists(inputs[0]) {
defer showError(valueAlreadyTaken(chatNameInName), createChatWindow, values...)
return
diff --git a/go-src/windowsHelpers.go b/go-src/windowsHelpers.go
index 7d2e35c..c5845ea 100644
--- a/go-src/windowsHelpers.go
+++ b/go-src/windowsHelpers.go
@@ -121,16 +121,15 @@ type formInput struct {
validationFunc func(string) bool
}
-func formWindow(boxTitle string, backWindow window, formInputs []formInput, currentValues ...string) (userInputs []string) {
- userInputs = currentValues
+func formWindow(boxTitle string, backWindow window, formInputs []formInput, output *[]string) {
// Go through all inputs
- for i, v := range formInputs[len(currentValues):] {
+ for i, v := range formInputs[len(*output):] {
csi.ClearScreen()
ui.NormalBox(true, boxTitle)
// Show filled input fields
- for j, va := range userInputs {
+ for j, va := range *output {
ui.InputFieldFilled(formInputs[j].name, va)
}
@@ -148,7 +147,7 @@ func formWindow(boxTitle string, backWindow window, formInputs []formInput, curr
// If input data isn't valid, show an error and the same screen
if !v.validationFunc(input) {
formCallback := func(...string) {
- defer formWindow(boxTitle, backWindow, formInputs, userInputs...)
+ defer formWindow(boxTitle, backWindow, formInputs, output)
}
defer showError(invalidValueFor(v.name), formCallback)
return
@@ -156,7 +155,7 @@ func formWindow(boxTitle string, backWindow window, formInputs []formInput, curr
}
// Add current input as a filled input
- userInputs = append(userInputs, input)
+ *output = append(*output, input)
}
return
}
@@ -177,7 +176,9 @@ func validatedMultiForm(input string, returnWindow window, props ...multiFormPro
if v.propInd == propInd {
triedUpdate = true
- values := formWindow(v.editTitle, returnWindow, append(inputs, v.formInp))
+ var values []string
+ formWindow(v.editTitle, returnWindow, append(inputs, v.formInp), &values)
+
updateSuccessful = v.updateF(values)
if updateSuccessful && v.postSucUpdateF != nil {