diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 8b3c6d3..c17e057 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -23,6 +23,7 @@ jobs: run: mvn clean verify site - name: Deploy to Github Pages + if: github.event_name == 'push' uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java b/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java index 8ffb7d8..9a513f3 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java @@ -1,8 +1,5 @@ package edu.ntnu.idi.idatt.view; -import java.util.ArrayDeque; -import java.util.Deque; - import edu.ntnu.idi.idatt.model.market.Stock; import edu.ntnu.idi.idatt.session.UserSession; import edu.ntnu.idi.idatt.view.entry.StartController; @@ -19,6 +16,9 @@ import edu.ntnu.idi.idatt.view.primary.transactions.TransactionView; import javafx.scene.Parent; +import java.util.ArrayDeque; +import java.util.Deque; + public class SceneFactory { @FunctionalInterface @@ -66,6 +66,24 @@ public static Parent createStartView() { return view.getInstance(); } + public static Parent createPortfolioView(){ + Stock stock = new Stock("int", "intel", List.of(new BigDecimal("100"))); + Share share = new Share(stock, new BigDecimal("50"), new BigDecimal("100")); + UserSession.getInstance().getPlayer().getPortfolio().addShare(share); + UserSession.getInstance().getPlayer().getPortfolio().addShare(share); + UserSession.getInstance().getPlayer().getPortfolio().addShare(share); + UserSession.getInstance().getPlayer().getPortfolio().addShare(share); + UserSession.getInstance().getPlayer().getPortfolio().addShare(share); + UserSession.getInstance().getPlayer().getPortfolio().addShare(share); + PortfolioModel model = new PortfolioModel(); + PortfolioView view = new PortfolioView(); + PortfolioController controller = new PortfolioController(model); + + view.setModel(model); + view.setController(controller); + + return view.getInstance(); + } public static Parent createExchangeView() { diff --git a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/PlayerPortfolioComponent.java b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/PlayerPortfolioComponent.java new file mode 100644 index 0000000..0881593 --- /dev/null +++ b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/PlayerPortfolioComponent.java @@ -0,0 +1,43 @@ +package edu.ntnu.idi.idatt.view.components.elements; + +import edu.ntnu.idi.idatt.model.portfolio.Portfolio; +import edu.ntnu.idi.idatt.view.components.ui.UICompositor; +import javafx.geometry.Pos; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; + +import java.util.ArrayList; +import java.util.Collections; + +public class PlayerPortfolioComponent extends HBox { + + public PlayerPortfolioComponent(Portfolio portfolio){ + this.setMaxSize(Double.MAX_VALUE, 500); + this.getStyleClass().add("light"); + Label userTitle = new Label("Name Title"); + Label netWorth = new Label("Total net worth: "+portfolio.getNetWorth().toString()); + Label percentageChange = new Label("Percentage change: "); + Label playerStatus = new Label("Novice"); + Label portfolioWorth = new Label("Portfolio net worth: "); + Label totalShares = new Label("Total shares owned: "); + + ArrayList