summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/controller/userinput/menus')
-rw-r--r--src/main/java/design/controller/userinput/menus/MainMenu.java17
-rw-r--r--src/main/java/design/controller/userinput/menus/SelectUser.java20
-rw-r--r--src/main/java/design/controller/userinput/menus/StatisticsMenu.java14
-rw-r--r--src/main/java/design/controller/userinput/menus/UserSettings.java18
4 files changed, 69 insertions, 0 deletions
diff --git a/src/main/java/design/controller/userinput/menus/MainMenu.java b/src/main/java/design/controller/userinput/menus/MainMenu.java
new file mode 100644
index 0000000..b6fca7c
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/MainMenu.java
@@ -0,0 +1,17 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+
+public class MainMenu extends Menu {
+ public MainMenu() {
+ super("main menu");
+
+ addAll(
+ new MenuOption("user settings...", (a) -> new UserSettings().present()),
+ new MenuOption("statistics...", (a) -> new StatisticsMenu().present()),
+ new MenuOption("log round...", (a) -> {}),
+ new MenuOption("quit", (a) -> {})
+ );
+ }
+}
diff --git a/src/main/java/design/controller/userinput/menus/SelectUser.java b/src/main/java/design/controller/userinput/menus/SelectUser.java
new file mode 100644
index 0000000..f5ddd64
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/SelectUser.java
@@ -0,0 +1,20 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+import design.persistence.PersonalDatabase;
+
+import java.util.Arrays;
+
+public class SelectUser extends Menu {
+
+ PersonalDatabase personalDB = PersonalDatabase.INSTANCE;
+
+ public SelectUser() {
+ super("select user");
+
+ addAll(Arrays.stream(personalDB.getGolfers())
+ .map(i -> new MenuOption(i.getUsername(), (a) -> {})).toList());
+ add(new MenuOption("<create>", (a) -> {}));
+ }
+}
diff --git a/src/main/java/design/controller/userinput/menus/StatisticsMenu.java b/src/main/java/design/controller/userinput/menus/StatisticsMenu.java
new file mode 100644
index 0000000..1d6de4b
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/StatisticsMenu.java
@@ -0,0 +1,14 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+
+public class StatisticsMenu extends Menu {
+ public StatisticsMenu() {
+ super("statistics menu");
+
+ addAll(
+ new MenuOption("return to main menu", (c) -> new MainMenu().present())
+ );
+ }
+}
diff --git a/src/main/java/design/controller/userinput/menus/UserSettings.java b/src/main/java/design/controller/userinput/menus/UserSettings.java
new file mode 100644
index 0000000..fd9a311
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/UserSettings.java
@@ -0,0 +1,18 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+
+public class UserSettings extends Menu {
+
+ public UserSettings() {
+ super("user settings");
+
+ addAll(
+ new MenuOption("return to main menu", (a) -> new MainMenu().present()),
+ new MenuOption("switch user...", (a) -> new SelectUser().present()),
+ new MenuOption("set username...", (a -> {})),
+ new MenuOption("set password...", (a) -> {})
+ );
+ }
+}