complete consoleMenu class

This commit is contained in:
2026-06-29 21:31:02 +03:30
parent ccf7343a26
commit 95e75c02ba
2 changed files with 66 additions and 24 deletions
+65 -23
View File
@@ -1,44 +1,86 @@
package dev.ui; package dev.ui;
import dev.model.User;
import dev.service.AuthService;
import dev.service.MenuService;
import dev.service.OrderService;
import java.util.Scanner; import java.util.Scanner;
public class ConsoleMenu { public class ConsoleMenu {
private final Scanner scanner = private final Scanner scanner = new Scanner(System.in);
new Scanner(System.in); private final AuthService authService = new AuthService();
private final MenuService menuService = new MenuService();
private final OrderService orderService = new OrderService();
public void start() { public void start() {
while (true) { while (true) {
System.out.println("\n===========================");
System.out.println(); System.out.println(" 🍕 JAVA PIZZERIA 🍕");
System.out.println("===== JAVA PIZZERIA ====="); System.out.println("===========================");
System.out.println("1. Login"); System.out.println("1. Login");
System.out.println("2. Register"); System.out.println("2. Register");
System.out.println("3. Exit"); System.out.println("3. Exit");
System.out.print("Choose: ");
int choice = scanner.nextInt(); int choice = scanner.nextInt();
scanner.nextLine(); // consume newline
switch (choice) { switch (choice) {
case 1 -> {
case 1: User user = handleLogin();
// TODO if (user != null) showMainMenu(user);
break; }
case 2 -> handleRegister();
case 2: case 3 -> { System.out.println("Goodbye!"); return; }
// TODO default -> System.out.println("Invalid choice.");
break;
case 3:
return;
default:
System.out.println("Invalid choice");
} }
} }
} }
private void handleRegister() {
System.out.println("\n[Register]");
System.out.print("Username: "); String username = scanner.nextLine();
System.out.print("Password: "); String password = scanner.nextLine();
System.out.print("Email (optional, press Enter to skip): "); String email = scanner.nextLine();
if (authService.register(username, password, email)) {
System.out.println("Registration successful! Please log in.");
}
}
private User handleLogin() {
System.out.println("\n[Login]");
System.out.print("Username: "); String username = scanner.nextLine();
System.out.print("Password: "); String password = scanner.nextLine();
User user = authService.login(username, password);
if (user != null) System.out.println("Welcome, " + user.getUsername() + "!");
return user;
}
private void showMainMenu(User user) {
while (true) {
System.out.println("\n===========================");
System.out.println(" 🍽️ MAIN MENU 🍽️");
System.out.println("===========================");
System.out.println("1. View Menu");
System.out.println("2. Place Order");
System.out.println("3. Order History");
System.out.println("4. Logout");
System.out.print("Choose: ");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1 -> menuService.showMenu();
case 2 -> orderService.placeOrder(user.getId());
case 3 -> orderService.showOrderHistory(user.getId());
case 4 -> { System.out.println("Logged out."); return; }
default -> System.out.println("Invalid choice.");
}
}
}
} }