package design.controller.userinput.menus; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; import design.controller.userinput.UndoActions; import design.runtime.Session; import java.util.List; public class MainMenu extends Menu { @Override public String getTitle() { return "main menu"; } @Override public List getMenuOptions() { boolean guest = Session.isGuest(); if (guest) { return List.of( new MenuOption("quit", () -> System.exit(0)), new MenuOption("guest settings...", () -> new UserSettings().present()), new MenuOption("browse courses...", () -> new SearchMenu().present()) ); } else { return List.of( new MenuOption("quit", () -> System.exit(0)), new MenuOption("undo", () -> { UndoActions.undoWithSave(); this.present(); }), new MenuOption("redo", () -> { UndoActions.redoWithSave(); this.present(); }), new MenuOption("user settings...", () -> new UserSettings().present()), new MenuOption("manage courses...", () -> new ManageCourses().present()), new MenuOption("manage clubs...", () -> new ManageClubs().present()), new MenuOption("statistics...", () -> new StatisticsMenu().present()), new MenuOption("log round...", () -> new HolePlayMenu().present()), new MenuOption("League play...", () -> new SelectLeague().present()), new MenuOption("manage data...", () -> new ImportExportMenu().present()) ); } } }