From 92ae03f9dc9310bb4ad2557f1122b465de885d1e Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 22 Jul 2021 14:25:30 +0300 Subject: Moved a lot of window strings to their own file --- go-src/windowMessages.go | 35 +++++++++++++++++++++++++++++++++++ go-src/windows.go | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 59 insertions(+), 24 deletions(-) create mode 100644 go-src/windowMessages.go 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() -- cgit v1.2.3