diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-07-22 14:25:30 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-07-22 14:25:30 +0300 |
| commit | 92ae03f9dc9310bb4ad2557f1122b465de885d1e (patch) | |
| tree | 27dc60cd15a8ef464e25f0df3a464026f55d3212 | |
| parent | 3d3324e36311aadd02e25e8e11e5d98272c0aa0e (diff) | |
| download | ctfc-92ae03f9dc9310bb4ad2557f1122b465de885d1e.tar ctfc-92ae03f9dc9310bb4ad2557f1122b465de885d1e.tar.gz ctfc-92ae03f9dc9310bb4ad2557f1122b465de885d1e.zip | |
Moved a lot of window strings to their own file
| -rw-r--r-- | go-src/windowMessages.go | 35 | ||||
| -rw-r--r-- | go-src/windows.go | 48 |
2 files changed, 59 insertions, 24 deletions
diff --git a/go-src/windowMessages.go b/go-src/windowMessages.go new file mode 100644 index 0000000..4f3e151 --- /dev/null +++ b/go-src/windowMessages.go @@ -0,0 +1,35 @@ +package ctfc + +const ( + // Navgiation + loginNavTitle = "Login" + registerNavTitle = "Register" + directMessagesNavTitle = "Direct Messages" + accountNavTitle = "Account" + logoutNavTitle = "Logout" + createChatNavTitle = "Creating a new chat" + chatNavTitle = "Chats" + + // Help messages + chatsWindowHelpMsg = "Chats page options: [(D)irect messages/(A)ccount/(L)ogout/(<) for previous page/(>) for next page/(C) for create chat/(name) for go to chat room by name/(number) for go to chat room by number/(H)elp]" + chatWindowHelpMsg = "Help info" + + // Input names + usernameInName = "Username" + passwordInName = "Password" + nameInName = "Name" + chatNameInName = "Chat name" + chatDescInName = "Description" + + // Input specifications + startupWindowSpec = "[L/R]" + chatWindowSpec = "Message or [C/D/A/L/</>/H]" + logoutWindowSpec = "[Y/N]" + inputBackSpec = " or [B for Back to start page]" + usernameSpec = " [A-z, 0-9, *, ., _, -; at least 1 letter] or [B for Back to start page]" + passwordSpec = " [5-40 characters; at least 1 number]" + nameSpec = " [2-60 characters]" + chatsSpec = "[D/A/L/</>/C/E/name/number/H]" + chatNameSpec = " [2-20 characters; A-z, 0-9, spaces, _, -] or [B for Back to chats page]" + chatDescSpec = " [0-30 characters]" +) diff --git a/go-src/windows.go b/go-src/windows.go index e7e414b..e5b0d34 100644 --- a/go-src/windows.go +++ b/go-src/windows.go @@ -16,8 +16,8 @@ type window func(...string) func StartupWindow(...string) { csi.ClearScreen() - ui.NormalBox(true, "Login", "Register") - input := ui.InputField("[L/R]") + ui.NormalBox(true, loginNavTitle, registerNavTitle) + input := ui.InputField(startupWindowSpec) handled := handleInputActions(input, false, inputAction{"L", loginWindow, nil}, @@ -33,10 +33,10 @@ func StartupWindow(...string) { func loginWindow(values ...string) { // Takes form user input - inputs := formWindow("Login", StartupWindow, + inputs := formWindow(loginNavTitle, StartupWindow, []formInput{ - {"Username", " or [B for Back to start page]", nil}, - {"Password", "", nil}, + {usernameInName, inputBackSpec, nil}, + {passwordInName, "", nil}, }, values..., ) @@ -53,11 +53,11 @@ func loginWindow(values ...string) { } func registerWindow(values ...string) { - inputs := formWindow("Register", StartupWindow, + inputs := formWindow(registerNavTitle, StartupWindow, []formInput{ - {"Username", " [A-z, 0-9, *, ., _, -; at least 1 letter] or [B for Back to start page]", stringValidUsername}, - {"Password", " [5-40 characters; at least 1 number]", stringValidPassword}, - {"Name", " [2-60 characters]", stringValidName}, + {usernameInName, usernameSpec, stringValidUsername}, + {passwordInName, passwordSpec, stringValidPassword}, + {nameInName, nameSpec, stringValidName}, }, values..., ) @@ -65,7 +65,7 @@ func registerWindow(values ...string) { return } if usernameExists(inputs[0]) { - defer showError(valueAlreadyTaken("Username"), registerWindow, values...) + defer showError(valueAlreadyTaken(usernameInName), registerWindow, values...) return } @@ -79,7 +79,7 @@ func chatsWindow(values ...string) { initPaginatedValues(0, values) - ui.NormalBox(true, "Direct Messages", "Account", "Logout") + ui.NormalBox(true, directMessagesNavTitle, accountNavTitle, logoutNavTitle) allChats := getAllChats() ui.EmptyLines(pageSize + 3) // empty line + message lines + page number line + empty line @@ -96,14 +96,14 @@ func chatsWindow(values ...string) { ) if values[1] == showHelp { - ui.TextField("Chats page options: [(D)irect messages/(A)ccount/(L)ogout/(<) for previous page/(>) for next page/(C) for create chat/(name) for go to chat room by name/(number) for go to chat room by number/(H)elp]") + ui.TextField(chatsWindowHelpMsg) } - input := ui.InputField("[D/A/L/</>/C/E/name/number/H]") + input := ui.InputField(chatsSpec) handled := handleInputActions(input, true, inputAction{"C", createChatWindow, nil}, - inputAction{"H", chatsWindow, []string{values[0], "ShowHelp"}}, + inputAction{"H", chatsWindow, []string{values[0], showHelp}}, ) if handled == nil { @@ -120,10 +120,10 @@ func chatsWindow(values ...string) { } func createChatWindow(values ...string) { - inputs := formWindow("Creating a new chat", chatsWindow, + inputs := formWindow(createChatNavTitle, chatsWindow, []formInput{ - {"Name", " [2-20 characters; A-z, 0-9, spaces, _, -] or [B for Back to chats page]", stringValidChatName}, - {"Description", " [0-30 characters]", stringValidChatDesc}, + {chatNameInName, chatNameSpec, stringValidChatName}, + {chatDescInName, chatDescSpec, stringValidChatDesc}, }, values..., ) @@ -131,7 +131,7 @@ func createChatWindow(values ...string) { return } if chatNameExists(inputs[0]) { - defer showError(valueAlreadyTaken("Chat name"), createChatWindow, values...) + defer showError(valueAlreadyTaken(chatNameInName), createChatWindow, values...) return } @@ -148,7 +148,7 @@ func chatWindow(values ...string) { currChat := getChat(values[0]) - ui.NormalBox(true, "Chats", "Direct Messages", "Account", "Logout") + ui.NormalBox(true, chatNavTitle, directMessagesNavTitle, accountNavTitle, logoutNavTitle) ui.TextFields( currChat.Name+" : "+currChat.Description, "Brought to you by "+currChat.Owner.Name+" ("+currChat.Owner.Username+")", @@ -156,7 +156,7 @@ func chatWindow(values ...string) { ui.EmptyLines(pageSize + 3) // empty line + messages lines + page number line + empty line - customLinesBelow := utils.If(values[2] == "ShowHelp").Int(3, 2) + customLinesBelow := utils.If(values[2] == showHelp).Int(3, 2) lastLine := -1 go routinePaginatedSubwindow(&currChat.Messages, @@ -167,12 +167,12 @@ func chatWindow(values ...string) { false, ) - if values[2] == "ShowHelp" { - ui.TextField("Help info") + if values[2] == showHelp { + ui.TextField(chatWindowHelpMsg) values[2] = "" } - input := ui.InputField("Message or [C/D/A/L/</>/H]") + input := ui.InputField(chatWindowSpec) handled := handleInputActions(input, true, inputAction{"H", chatWindow, []string{values[0], values[1], showHelp}}, @@ -209,7 +209,7 @@ func logoutWindow(...string) { ui.NormalBox(true, "Are you sure you want to Log out of "+loggedInUser.Username+"?") ui.EmptyLine() - input := ui.InputField("[Y/N]") + input := ui.InputField(logoutWindowSpec) if strings.ToLower(input) == "y" { logoutUser() |
