diff --git a/src/main/java/ui/controller/MainController.java b/src/main/java/ui/controller/MainController.java index 2bcc6cc..1586f28 100644 --- a/src/main/java/ui/controller/MainController.java +++ b/src/main/java/ui/controller/MainController.java @@ -58,5 +58,6 @@ public void loadPage(Page page) throws IOException { mainPane.setCenter(root); navbarController.setActivePage(page); + navbarController.updateAuthButton(); } } diff --git a/src/main/java/ui/controller/MyProfileController.java b/src/main/java/ui/controller/MyProfileController.java index 133f5eb..b2a9d0c 100644 --- a/src/main/java/ui/controller/MyProfileController.java +++ b/src/main/java/ui/controller/MyProfileController.java @@ -1,4 +1,23 @@ package ui.controller; -public class MyProfileController { +import javafx.fxml.FXML; +import ui.Page; +import util.SessionManager; + +import java.util.function.Consumer; + +public class MyProfileController implements NavigationAware { + + private Consumer onNavigate; + + public void setOnNavigate(Consumer onNavigate) { + this.onNavigate = onNavigate; + } + + + @FXML + private void handleSignOut() { + SessionManager.signOut(); + onNavigate.accept(Page.HOME); + } } diff --git a/src/main/java/ui/controller/NavbarController.java b/src/main/java/ui/controller/NavbarController.java index 7523c33..24e7aac 100644 --- a/src/main/java/ui/controller/NavbarController.java +++ b/src/main/java/ui/controller/NavbarController.java @@ -5,6 +5,7 @@ import javafx.fxml.FXML; import javafx.scene.control.Button; import ui.Page; +import util.SessionManager; public class NavbarController { @@ -28,7 +29,7 @@ public void setActivePage(Page page) { Button buttonForPage = switch (page) { case HOME -> homeBtn; case ORGANIZATIONS -> orgBtn; - case SIGNIN -> signInBtn; + case SIGNIN, PROFILE -> signInBtn; default -> null; }; @@ -42,7 +43,11 @@ public void goHome() { } public void goToSignIn() { - onNavigate.accept(Page.SIGNIN); + if (SessionManager.isSignedIn()) { + onNavigate.accept(Page.PROFILE); + } else { + onNavigate.accept(Page.SIGNIN); + } } public void goToOrganizations() { @@ -52,4 +57,12 @@ public void goToOrganizations() { public void goToMyProfile() { onNavigate.accept(Page.PROFILE); } + + public void updateAuthButton() { + if (SessionManager.isSignedIn()) { + signInBtn.setText("My Profile"); + } else { + signInBtn.setText("Sign In"); + } + } } diff --git a/src/main/java/util/SessionManager.java b/src/main/java/util/SessionManager.java index 0a2f9b5..9d020c3 100644 --- a/src/main/java/util/SessionManager.java +++ b/src/main/java/util/SessionManager.java @@ -11,7 +11,7 @@ public static void signIn(User user) { currentUser = user; } - public static void logout() { + public static void signOut() { SignedIn = false; currentUser = null; } diff --git a/src/main/resources/view/MyProfile.fxml b/src/main/resources/view/MyProfile.fxml index 7e2aaaa..2d28b05 100644 --- a/src/main/resources/view/MyProfile.fxml +++ b/src/main/resources/view/MyProfile.fxml @@ -12,14 +12,11 @@ - - - - +
- + - + @@ -85,14 +82,14 @@ - - +