diff --git a/src/main/java/edu/group5/app/control/MainController.java b/src/main/java/edu/group5/app/control/MainController.java index b6e7b19..9aa4bc5 100644 --- a/src/main/java/edu/group5/app/control/MainController.java +++ b/src/main/java/edu/group5/app/control/MainController.java @@ -19,6 +19,9 @@ public void showLoginPage() { public void showSignInPage() { view.showSignInPage(); } + public void showPaymentCompletePage() { + view.showPaymentCompletePage(); + } public void showBrowsePage() { view.showBrowsePage(); } diff --git a/src/main/java/edu/group5/app/control/donationpage/PaymentCompleteController.java b/src/main/java/edu/group5/app/control/donationpage/PaymentCompleteController.java index 63114c5..d1bc3a5 100644 --- a/src/main/java/edu/group5/app/control/donationpage/PaymentCompleteController.java +++ b/src/main/java/edu/group5/app/control/donationpage/PaymentCompleteController.java @@ -1,4 +1,15 @@ package edu.group5.app.control.donationpage; +import edu.group5.app.control.MainController; + public class PaymentCompleteController { + private final MainController controller; + + public PaymentCompleteController(MainController controller) { + this.controller = controller; + } + public void handleHomeBtn() { + System.out.println("Home button pressed"); + controller.showHomePage(); + } } diff --git a/src/main/java/edu/group5/app/view/MainView.java b/src/main/java/edu/group5/app/view/MainView.java index 6b405d6..3796f89 100644 --- a/src/main/java/edu/group5/app/view/MainView.java +++ b/src/main/java/edu/group5/app/view/MainView.java @@ -1,6 +1,10 @@ package edu.group5.app.view; import edu.group5.app.control.*; +import edu.group5.app.control.donationpage.DonationPageController; +import edu.group5.app.control.donationpage.PaymentCompleteController; +import edu.group5.app.view.donationpage.DonationPageView; +import edu.group5.app.view.donationpage.PaymentCompletePageView; import edu.group5.app.view.homepage.HomePageView; import edu.group5.app.view.loginpage.LoginPageView; import edu.group5.app.view.loginpage.SignInPageView; @@ -12,6 +16,8 @@ public class MainView { private final HomePageController homePageController; private final LoginPageController loginPageController; private final SignInPageController signInPageController; + private final DonationPageController donationPageController; + private final PaymentCompleteController paymentCompleteController; private final BorderPane root; public MainView(MainController mainController) { @@ -19,6 +25,8 @@ public MainView(MainController mainController) { this.homePageController = new HomePageController(mainController); this.loginPageController = new LoginPageController(mainController); this.signInPageController = new SignInPageController(mainController); + this.donationPageController = new DonationPageController(mainController); + this.paymentCompleteController = new PaymentCompleteController(mainController); this.root = new BorderPane(); } @@ -39,5 +47,9 @@ public void showSignInPage() { } public void showBrowsePage() {} + public void showPaymentCompletePage() { + root.setCenter(new PaymentCompletePageView(paymentCompleteController)); + } + public void showAboutUsPage() {} } diff --git a/src/main/java/edu/group5/app/view/donationpage/PaymentCompletePageView.java b/src/main/java/edu/group5/app/view/donationpage/PaymentCompletePageView.java index c40dcc6..d563fef 100644 --- a/src/main/java/edu/group5/app/view/donationpage/PaymentCompletePageView.java +++ b/src/main/java/edu/group5/app/view/donationpage/PaymentCompletePageView.java @@ -1,4 +1,48 @@ package edu.group5.app.view.donationpage; -public class PaymentCompletePageView { +import edu.group5.app.control.donationpage.PaymentCompleteController; +import javafx.geometry.Insets; +import javafx.geometry.Pos; +import javafx.scene.control.Button; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.VBox; + +import java.awt.*; +import java.util.Objects; + +public class PaymentCompletePageView extends BorderPane { + private final PaymentCompleteController controller; + + public PaymentCompletePageView(PaymentCompleteController paymentCompleteController) { + this.controller = paymentCompleteController; + getStylesheets().add(getClass().getResource("/donationpage/paymentcomplete.css").toExternalForm()); + + VBox content = new VBox(20); + content.setAlignment(Pos.CENTER); + content.setPadding(new Insets(40)); + content.getChildren().addAll(getImageSection(), getHomeBtn()); + setCenter(content); + } + public VBox getImageSection() { + Image image = new Image(Objects.requireNonNull(getClass().getResourceAsStream("/donationpage/Payment Complete.png"))); + ImageView imageView = new ImageView(image); + imageView.setPreserveRatio(true); + + imageView.fitWidthProperty().bind(widthProperty()); + imageView.setFitHeight(500); + + VBox imageSection = new VBox(imageView); + imageSection.setAlignment(Pos.CENTER); + return imageSection; + } + + public Button getHomeBtn() { + Button home = new Button("Home"); + home.setOnAction(e -> controller.handleHomeBtn()); + home.setId("home-button"); + return home; + } + } diff --git a/src/main/resources/donationpage/Payment Complete.png b/src/main/resources/donationpage/Payment Complete.png new file mode 100644 index 0000000..e2b3d6a Binary files /dev/null and b/src/main/resources/donationpage/Payment Complete.png differ diff --git a/src/main/resources/donationpage/paymentcomplete.css b/src/main/resources/donationpage/paymentcomplete.css index e69de29..0e1e786 100644 --- a/src/main/resources/donationpage/paymentcomplete.css +++ b/src/main/resources/donationpage/paymentcomplete.css @@ -0,0 +1,14 @@ +#home-button { + -fx-background-color: #4caf50; + -fx-text-fill: white; + -fx-font-size: 18px; + -fx-font-weight: bold; + -fx-pref-width: 200px; + -fx-pref-height: 50px; + -fx-background-radius: 8; + -fx-cursor: hand; +} + +#home-button:hover { + -fx-background-color: #388e3c; +} \ No newline at end of file