From 1e243817fc4072c8da1905f0e5791e1756f179e4 Mon Sep 17 00:00:00 2001 From: sowgro Date: Mon, 6 Oct 2025 23:17:33 -0400 Subject: prompt user first and code cleanup --- .../controller/userinput/menus/SelectUser.java | 28 ++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/SelectUser.java') diff --git a/src/main/java/design/controller/userinput/menus/SelectUser.java b/src/main/java/design/controller/userinput/menus/SelectUser.java index fd73b47..82e2338 100644 --- a/src/main/java/design/controller/userinput/menus/SelectUser.java +++ b/src/main/java/design/controller/userinput/menus/SelectUser.java @@ -1,16 +1,22 @@ package design.controller.userinput.menus; +import design.controller.userinput.Action; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; +import design.model.Golfer; import design.runtime.Session; 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; + private final PersonalDatabase personalDB = PersonalDatabase.INSTANCE; + private final Action doAfter; + + public SelectUser(Action doAfter) { + this.doAfter = doAfter; + } @Override public String getTitle() { @@ -20,14 +26,16 @@ public class SelectUser extends Menu { @Override public List getMenuOptions() { var l = new ArrayList(); - // Sets user in Session too - l.addAll(Arrays.stream(personalDB.getGolfers()).map(i -> new MenuOption(i.getUsername(), () -> { - Session.setCurrentGolfer(i); - System.out.printf("Loaded user: %s%n", i.getUsername()); - new UserSettings().present(); - })).toList()); - l.add(new MenuOption("", () -> { - })); + for (Golfer i : personalDB.getGolfers()) { + MenuOption menuOption = new MenuOption(i.getUsername(), () -> { + // Sets user in Session too + Session.setCurrentGolfer(i); + System.out.printf("Loaded user: %s%n", i.getUsername()); + doAfter.onCommand(); + }); + l.add(menuOption); + } + l.add(new MenuOption("", () -> {})); return l; } } -- cgit v1.2.3