summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-10-04 15:13:22 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-10-04 15:13:22 -0400
commitd97f1a846bb872db8a0954c2214fb0a757542e8b (patch)
treeaf7a2c4d18d27a9de0b12e2070eb55df20eb4f8b /src/main/java/design/controller/userinput/menus
parentb34c67556d47c74974adad32668dc0801ff9d1ed (diff)
downloaddesignproject-design-6-d97f1a846bb872db8a0954c2214fb0a757542e8b.tar.gz
designproject-design-6-d97f1a846bb872db8a0954c2214fb0a757542e8b.tar.bz2
designproject-design-6-d97f1a846bb872db8a0954c2214fb0a757542e8b.zip
Initial version mostly working
Diffstat (limited to '')
-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) -> {})
+ );
+ }
+}