aboutsummaryrefslogtreecommitdiff
path: root/go-src/windows/windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'go-src/windows/windows.go')
-rw-r--r--go-src/windows/windows.go104
1 files changed, 94 insertions, 10 deletions
diff --git a/go-src/windows/windows.go b/go-src/windows/windows.go
index b805a69..5076053 100644
--- a/go-src/windows/windows.go
+++ b/go-src/windows/windows.go
@@ -2,19 +2,103 @@ package windows
import (
"fmt"
+ "os"
+ "os/exec"
+ "runtime"
+ "strings"
"gitlab.com/Syndamia/ctfc/go-src/ui"
)
-func Test() {
- // Temporary values for testing purposes
- fmt.Println(ui.ErrorBox("Test error"))
- fmt.Println(ui.NormalBox(true, "Page 1"))
- fmt.Println(ui.NormalBox(false, "Page 1", "Page 2"))
- fmt.Println(ui.NormalBox(true, "af", "Page dfsdf", "fd ffdfs dfsdf sd Page 3", "A"))
+func StartupWindow() {
+ clearScreen()
+
+ fmt.Println(ui.NormalBox(true, "Login", "Register"))
+ fmt.Print(ui.InputField("[L/R]"))
+ command := strings.ToLower(ui.GetInput())
+
+ if command == "l" {
+ defer LoginWindow()
+ } else if command == "r" {
+ defer RegisterWindow()
+ } else {
+ ShowError(invalidCommand)
+ defer StartupWindow()
+ }
+}
+
+func LoginWindow(values ...string) {
+ clearScreen()
+
fmt.Println(ui.NormalBox(true, "Login"))
- fmt.Println(ui.TextField("Login to your account"))
- fmt.Println(ui.NumberedFields("Option 1", "Option 2", "Option 3"))
- fmt.Println(ui.InputFieldFilled("Username", "John"))
- fmt.Println(ui.InputField("Password"))
+
+ switch len(values) {
+ case 0:
+ fmt.Print(ui.InputField("Username"))
+ case 1:
+ fmt.Println(ui.InputFieldFilled("Username", values[0]))
+ fmt.Print(ui.InputField("Password"))
+ }
+
+ val := ui.GetInput()
+
+ switch len(values) {
+ case 0:
+ defer LoginWindow(val)
+ case 1:
+ fmt.Println(values[0], val)
+ }
+}
+
+func RegisterWindow(values ...string) {
+ clearScreen()
+
+ fmt.Println(ui.NormalBox(true, "Register"))
+
+ switch len(values) {
+ case 0:
+ fmt.Print(ui.InputField("Username"))
+ case 1:
+ fmt.Println(ui.InputFieldFilled("Username", values[0]))
+ fmt.Print(ui.InputField("Password"))
+ case 2:
+ fmt.Println(ui.InputFieldFilled("Username", values[0]))
+ fmt.Println(ui.InputFieldFilled("Password", values[1]))
+ fmt.Print(ui.InputField("Name"))
+ }
+
+ val := ui.GetInput()
+
+ switch len(values) {
+ case 0:
+ defer RegisterWindow(val)
+ case 1:
+ defer RegisterWindow(values[0], val)
+ case 2:
+ fmt.Println(values, val)
+ }
+}
+
+var clearNext = true
+
+func ShowError(message string) {
+ clearScreen()
+
+ fmt.Println(ui.ErrorBox(message))
+ clearNext = false
+}
+
+func clearScreen() {
+ if !clearNext {
+ clearNext = true
+ return
+ }
+
+ if runtime.GOOS == "windows" {
+ cmd := exec.Command("cmd", "/c", "cls")
+ cmd.Stdout = os.Stdout
+ cmd.Run()
+ } else {
+ fmt.Println("\033[2J")
+ }
}