From b9ac442fa92fea8614ba0dc2f32bcca566e362ec Mon Sep 17 00:00:00 2001 From: pawelsa Date: Sun, 10 May 2026 22:28:27 +0200 Subject: [PATCH 01/26] chore: Add CSS styles. --- .../java/edu/ntnu/idi/idatt/view/util/CssUtils.java | 2 ++ src/main/resources/themes/default.css | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/edu/ntnu/idi/idatt/view/util/CssUtils.java b/src/main/java/edu/ntnu/idi/idatt/view/util/CssUtils.java index ff3d64c..1a2866b 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/util/CssUtils.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/util/CssUtils.java @@ -6,6 +6,8 @@ public class CssUtils { public static final String BIG_TEXT_32 = "big-text-32"; public static final String MED_TEXT_16 = "med-text-16"; + public static final String RED = "red"; + public static final String GREEN = "green"; public static void apply(Parent parent, String cssClass) { parent.getStyleClass().add(cssClass); diff --git a/src/main/resources/themes/default.css b/src/main/resources/themes/default.css index a372c2b..8f89e2c 100644 --- a/src/main/resources/themes/default.css +++ b/src/main/resources/themes/default.css @@ -10,6 +10,7 @@ -fx-background-color: #3B8C6E; } + .title { -fx-font-size: 56px; -fx-font-weight: 700; @@ -32,6 +33,15 @@ -fx-text-fill: #EEEEEE; } + +.red { + -fx-text-fill: #FF0000; +} + +.green { + -fx-text-fill: #00FF00; +} + /* ======================= BUTTON STYLE ======================= */ From 1341261109e1be1b8c81645e16f7b054df772358 Mon Sep 17 00:00:00 2001 From: pawelsa Date: Sun, 10 May 2026 22:29:54 +0200 Subject: [PATCH 02/26] feat: Add StockComponent class --- .../components/elements/StockComponent.java | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/main/java/edu/ntnu/idi/idatt/view/components/elements/StockComponent.java diff --git a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/StockComponent.java b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/StockComponent.java new file mode 100644 index 0000000..79b400a --- /dev/null +++ b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/StockComponent.java @@ -0,0 +1,77 @@ +package edu.ntnu.idi.idatt.view.components.elements; + +import java.math.BigDecimal; +import java.util.List; +import java.util.function.Consumer; + +import edu.ntnu.idi.idatt.model.market.Stock; +import edu.ntnu.idi.idatt.view.components.ui.UIElementCompositor; +import edu.ntnu.idi.idatt.view.util.CssUtils; +import javafx.geometry.Insets; +import javafx.geometry.Pos; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; + +public class StockComponent extends HBox { + + private final Stock stock; + + public StockComponent(Stock stock) { + this.stock = stock; + this.setMaxSize(Double.MAX_VALUE, 100); + this.setPadding(new Insets(40)); + this.setAlignment(Pos.BASELINE_CENTER); + + this.setStyle("-fx-background-color: #404950;"); + + Label title = new Label(stock.getCompany() + " (" + stock.getSymbol() + ")"); + + Label latestText = new Label("Latest"); + Label latestValue = new Label(stock.getSalesPrice().toString() + "USD"); + + Label changeText = new Label("Change"); + Label changeValue = new Label(stock.getLatestPriceChange().toString() + "USD"); + Label changeValuePercent = new Label( + String.valueOf(stock.getLatestPriceChange().divide(new BigDecimal("100"))) + "%"); + // TODO: Move to stocks? Over. + + List