From c3b2cacf9565290cc99bb074eb05c76caf6e0730 Mon Sep 17 00:00:00 2001 From: emilfa Date: Fri, 20 Mar 2026 12:52:31 +0100 Subject: [PATCH] refactor: made application run with new controller structure --- .../java/edu/group5/app/view/MainView.java | 19 ++++++++----------- .../app/view/browsepage/BrowseCard.java | 9 +++++---- .../app/view/browsepage/BrowsePageView.java | 11 +++++------ .../view/donationpage/DonationPageView.java | 12 ++++-------- .../donationpage/PaymentCompletePageView.java | 8 ++++---- .../app/view/loginpage/LoginPageView.java | 7 ++++--- .../app/view/loginpage/SignInPageView.java | 7 ++++--- .../OrganizationPageView.java | 7 +++---- .../app/view/userpage/UserPageView.java | 8 ++++---- 9 files changed, 41 insertions(+), 47 deletions(-) diff --git a/src/main/java/edu/group5/app/view/MainView.java b/src/main/java/edu/group5/app/view/MainView.java index 42999ff..3ebf457 100644 --- a/src/main/java/edu/group5/app/view/MainView.java +++ b/src/main/java/edu/group5/app/view/MainView.java @@ -1,11 +1,8 @@ package edu.group5.app.view; import edu.group5.app.control.*; -import edu.group5.app.model.organization.OrganizationRepository; import edu.group5.app.view.browsepage.BrowsePageView; import edu.group5.app.control.*; -import edu.group5.app.control.donationpage.DonationPageController; -import edu.group5.app.control.donationpage.PaymentCompleteController; import edu.group5.app.model.user.Customer; import edu.group5.app.view.donationpage.DonationPageView; import edu.group5.app.view.donationpage.PaymentCompletePageView; @@ -31,14 +28,14 @@ public class MainView extends BorderPane { public MainView(MainController controller) { this.controller = controller; Header header = new Header(controller.getPageController()); - this.homePageView = new HomePageView(); - this.loginPageView = new LoginPageView(); - this.signInPageView = new SignInPageView(); - this.browsePageView = new BrowsePageView(); - this.organizationPageView = new OrganizationPageView(); - this.donationPageView = new DonationPageView(); - this.paymentCompletePageView = new PaymentCompletePageView(); - this.userPageView = new UserPageView(); + this.homePageView = new HomePageView(controller.getPageController()); + this.loginPageView = new LoginPageView(controller.getPageController()); + this.signInPageView = new SignInPageView(controller.getPageController()); + this.browsePageView = new BrowsePageView(controller.getPageController()); + this.organizationPageView = new OrganizationPageView(controller.getPageController()); + this.donationPageView = new DonationPageView(controller.getPageController()); + this.paymentCompletePageView = new PaymentCompletePageView(controller.getPageController()); + this.userPageView = new UserPageView(controller.getPageController(), new Customer(1, "John", "Pedersen", "jh@gmail.com", "1234")); Scene root = new Scene(this, 1280, 720); diff --git a/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java b/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java index 5184614..3a46244 100644 --- a/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java +++ b/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java @@ -1,5 +1,6 @@ package edu.group5.app.view.browsepage; +import edu.group5.app.control.PageController; import javafx.geometry.Pos; import javafx.scene.image.Image; import javafx.scene.image.ImageView; @@ -8,10 +9,10 @@ import javafx.scene.text.Text; public class BrowseCard extends VBox { - private final BrowseCardController controller; + private final PageController controller; - public BrowseCard(BrowseCardController browseCardController, String img, String name) { - this.controller = browseCardController; + public BrowseCard(PageController controller, String img, String name) { + this.controller = controller; setId("mainContainer"); getStylesheets().add(getClass().getResource("/browsepage/browse_org.css").toExternalForm()); @@ -22,7 +23,7 @@ public BrowseCard(BrowseCardController browseCardController, String img, String ); setOnMouseClicked(e -> { - controller.handleCardClick(); + controller.handleBrowseCardClick(); }); setSpacing(20); diff --git a/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java b/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java index 5ecce7e..b529765 100644 --- a/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java +++ b/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java @@ -1,17 +1,16 @@ package edu.group5.app.view.browsepage; +import edu.group5.app.control.PageController; import javafx.geometry.Pos; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextField; import javafx.scene.layout.*; public class BrowsePageView extends BorderPane { - private final BrowsePageController controller; - private final BrowseCardController browseCardController; + private final PageController controller; - public BrowsePageView(BrowsePageController browsePageController, BrowseCardController browseCardController) { - this.controller = browsePageController; - this.browseCardController = browseCardController; + public BrowsePageView(PageController controller) { + this.controller = controller; getStylesheets().add(getClass().getResource("/browsepage/browsepage.css").toExternalForm()); setCenter(createBody()); } @@ -48,7 +47,7 @@ private GridPane createOrganizationSection() { int column = 0; int row = 0; for (int i = 0; i < 16; i++) { - BrowseCard card = new BrowseCard(browseCardController, "/browsepage/images/children_of_shambala.png", "Shambala Foundation"); + BrowseCard card = new BrowseCard(controller, "/browsepage/images/children_of_shambala.png", "Shambala Foundation"); GridPane.setFillWidth(card, true); grid.setAlignment(Pos.CENTER); diff --git a/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java b/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java index 49b0d7b..f521657 100644 --- a/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java +++ b/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java @@ -1,7 +1,6 @@ package edu.group5.app.view.donationpage; -import edu.group5.app.control.donationpage.DonationPageController; -import edu.group5.app.view.Header; +import edu.group5.app.control.PageController; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.control.Button; @@ -14,15 +13,12 @@ import javafx.scene.text.TextAlignment; public class DonationPageView extends BorderPane { - private final DonationPageController controller; + private final PageController controller; - public DonationPageView(DonationPageController donationPageController, HeaderController headerController) { - this.controller = donationPageController; + public DonationPageView(PageController controller) { + this.controller = controller; getStylesheets().add(getClass().getResource("/donationpage/donation.css").toExternalForm()); - Header headerView = new Header(headerController); - setTop(headerView); - VBox content = new VBox(); content.getChildren().addAll(createDonationGrid(), createDonateSection()); setCenter(content); 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 d563fef..2cd407b 100644 --- a/src/main/java/edu/group5/app/view/donationpage/PaymentCompletePageView.java +++ b/src/main/java/edu/group5/app/view/donationpage/PaymentCompletePageView.java @@ -1,6 +1,6 @@ package edu.group5.app.view.donationpage; -import edu.group5.app.control.donationpage.PaymentCompleteController; +import edu.group5.app.control.PageController; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.control.Button; @@ -13,10 +13,10 @@ import java.util.Objects; public class PaymentCompletePageView extends BorderPane { - private final PaymentCompleteController controller; + private final PageController controller; - public PaymentCompletePageView(PaymentCompleteController paymentCompleteController) { - this.controller = paymentCompleteController; + public PaymentCompletePageView(PageController controller) { + this.controller = controller; getStylesheets().add(getClass().getResource("/donationpage/paymentcomplete.css").toExternalForm()); VBox content = new VBox(20); diff --git a/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java b/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java index b08423c..ba306ee 100644 --- a/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java +++ b/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java @@ -1,6 +1,7 @@ package edu.group5.app.view.loginpage; +import edu.group5.app.control.PageController; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; @@ -11,10 +12,10 @@ import java.util.Objects; public class LoginPageView extends BorderPane { - private final LoginPageController controller; + private final PageController controller; - public LoginPageView(LoginPageController loginPageController) { - this.controller = loginPageController; + public LoginPageView(PageController controller) { + this.controller = controller; LoginHeader loginHeaderView = new LoginHeader(); setTop(loginHeaderView); diff --git a/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java b/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java index 462a1a5..01b0a44 100644 --- a/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java +++ b/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java @@ -1,5 +1,6 @@ package edu.group5.app.view.loginpage; +import edu.group5.app.control.PageController; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; @@ -11,10 +12,10 @@ public class SignInPageView extends BorderPane { - private final SignInPageController controller; + private final PageController controller; - public SignInPageView(SignInPageController signInPageController) { - this.controller = signInPageController; + public SignInPageView(PageController controller) { + this.controller = controller; setTop(new LoginHeader()); HBox content = new HBox(); diff --git a/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java b/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java index ca0d8e6..24ee8f7 100644 --- a/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java +++ b/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java @@ -1,5 +1,6 @@ package edu.group5.app.view.organizationpage; +import edu.group5.app.control.PageController; import edu.group5.app.view.Header; import javafx.geometry.Pos; import javafx.scene.control.Button; @@ -14,13 +15,11 @@ import javafx.scene.text.Text; public class OrganizationPageView extends BorderPane { - private final OrganizationPageController controller; + private final PageController controller; - public OrganizationPageView(OrganizationPageController controller, HeaderController headerController) { + public OrganizationPageView(PageController controller) { this.controller = controller; getStylesheets().add(getClass().getResource("/organizationpage/organizationpage.css").toExternalForm()); - Header headerView = new Header(headerController); - setTop(headerView); setCenter(createBody()); } diff --git a/src/main/java/edu/group5/app/view/userpage/UserPageView.java b/src/main/java/edu/group5/app/view/userpage/UserPageView.java index 152c281..2678ae8 100644 --- a/src/main/java/edu/group5/app/view/userpage/UserPageView.java +++ b/src/main/java/edu/group5/app/view/userpage/UserPageView.java @@ -1,5 +1,6 @@ package edu.group5.app.view.userpage; +import edu.group5.app.control.PageController; import edu.group5.app.model.user.Customer; import edu.group5.app.view.Header; import javafx.geometry.Insets; @@ -15,15 +16,14 @@ public class UserPageView extends BorderPane { + private final PageController controller; private final Customer customer; - public UserPageView(HeaderController headerController, Customer customer) { + public UserPageView(PageController controller, Customer customer) { + this.controller = controller; this.customer = customer; getStylesheets().add(getClass().getResource("/userpage/userpage.css").toExternalForm()); - Header headerView = new Header(headerController); - setTop(headerView); - VBox content = new VBox(30); content.setPadding(new Insets(40)); content.getChildren().addAll(createProfileSection(), createCausesSection(), createDonationsSection());