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.java23
-rw-r--r--src/main/java/design/controller/userinput/menus/SelectUser.java27
-rw-r--r--src/main/java/design/controller/userinput/menus/StatisticsMenu.java21
-rw-r--r--src/main/java/design/controller/userinput/menus/UserSettings.java24
4 files changed, 95 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..fb3cee9
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/MainMenu.java
@@ -0,0 +1,23 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+
+import java.util.List;
+
+public class MainMenu extends Menu {
+ @Override
+ public String getTitle() {
+ return "main menu";
+ }
+
+ @Override
+ public List<MenuOption> getMenuOptions() {
+ return List.of(
+ 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..1963f1d
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/SelectUser.java
@@ -0,0 +1,27 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+import design.persistence.PersonalDatabase;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class SelectUser extends Menu {
+ PersonalDatabase personalDB = PersonalDatabase.INSTANCE;
+
+ @Override
+ public String getTitle() {
+ return "select user";
+ }
+
+ @Override
+ public List<MenuOption> getMenuOptions() {
+ var l = new ArrayList<MenuOption>();
+ l.addAll(Arrays.stream(personalDB.getGolfers())
+ .map(i -> new MenuOption(i.getUsername(), (a) -> {})).toList());
+ l.add(new MenuOption("<create>", (a) -> {}));
+ return l;
+ }
+}
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..66d60e3
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/StatisticsMenu.java
@@ -0,0 +1,21 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+
+import java.util.List;
+
+public class StatisticsMenu extends Menu {
+
+ @Override
+ public String getTitle() {
+ return "statistics menu";
+ }
+
+ @Override
+ public List<MenuOption> getMenuOptions() {
+ return List.of(
+ 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..a866889
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/UserSettings.java
@@ -0,0 +1,24 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+
+import java.util.List;
+
+public class UserSettings extends Menu {
+
+ @Override
+ public String getTitle() {
+ return "user settings";
+ }
+
+ @Override
+ public List<MenuOption> getMenuOptions() {
+ return List.of(
+ 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) -> {})
+ );
+ }
+}