diff --git a/src/main/java/stud/ntnu/idatt1005/pantrypal/utils/FontPalette.java b/src/main/java/stud/ntnu/idatt1005/pantrypal/utils/FontPalette.java index b44d98b326b3c0f6306b96c4dfb616c49755b17c..8087e4e590042394db4874a9b5cb8b3799fb13ba 100644 --- a/src/main/java/stud/ntnu/idatt1005/pantrypal/utils/FontPalette.java +++ b/src/main/java/stud/ntnu/idatt1005/pantrypal/utils/FontPalette.java @@ -8,4 +8,6 @@ public final class FontPalette { public static final Font BUTTON = Font.font("", FontWeight.BOLD , 20); public static final Font TEXT = Font.font("", FontWeight.MEDIUM, 16); public static final Font SMALL = Font.font("", FontWeight.NORMAL, 14); + public static final Font INPUT_PROMPT_SEARCH = Font.font("inter", FontWeight.BOLD, 70); + } \ No newline at end of file diff --git a/src/main/java/stud/ntnu/idatt1005/pantrypal/views/components/StyledTextField.java b/src/main/java/stud/ntnu/idatt1005/pantrypal/views/components/StyledTextField.java new file mode 100644 index 0000000000000000000000000000000000000000..a28ac85ce732e4175e979ba6765c69f99f76656b --- /dev/null +++ b/src/main/java/stud/ntnu/idatt1005/pantrypal/views/components/StyledTextField.java @@ -0,0 +1,60 @@ +package stud.ntnu.idatt1005.pantrypal.views.components; + +import javafx.geometry.Insets; +import javafx.geometry.Rectangle2D; +import javafx.scene.control.TextField; +import javafx.scene.layout.Background; +import javafx.scene.layout.BackgroundFill; +import javafx.scene.layout.Border; +import javafx.scene.layout.BorderStroke; +import javafx.scene.layout.BorderStrokeStyle; +import javafx.scene.layout.BorderWidths; +import javafx.scene.layout.CornerRadii; +import stud.ntnu.idatt1005.pantrypal.utils.ColorPalette; +import stud.ntnu.idatt1005.pantrypal.utils.FontPalette; + +/** + * A custom TextField with a default style and a search style + * Goal: Create a custom TextField with a default style and a search style + */ +public class StyledTextField extends TextField { + public enum Variant { + DEFAULT, SEARCH + } + public StyledTextField(String promptText) { + super(); + this.setPromptText(promptText); + this.setDefaultStyle(); + } + + public StyledTextField(String promptText, Variant variant) { + super(); + this.setPromptText(promptText); + if (variant == Variant.DEFAULT) { + this.setDefaultStyle(); + } else if (variant == Variant.SEARCH) { + this.setSearchStyle(); + } + } + + public void setDefaultStyle() { + this.setBackground(new Background(new BackgroundFill( + ColorPalette.WHITE, new CornerRadii(5), null))); + this.setBorder(new Border(new BorderStroke( + ColorPalette.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), new BorderWidths(1)))); + } + + public void setSearchStyle() { + this.setBackground(new Background(new BackgroundFill( + ColorPalette.WHITE, null, null))); + this.setBorder(new Border(new BorderStroke( + ColorPalette.BLACK, BorderStrokeStyle.SOLID, null, new BorderWidths(2)))); + + this.setPrefHeight(100); + Rectangle2D primaryScreenBounds = javafx.stage.Screen.getPrimary().getVisualBounds(); + this.setPrefWidth(primaryScreenBounds.getWidth()); + + this.setFont(FontPalette.INPUT_PROMPT_SEARCH); + this.setPadding(new Insets(0, 0, 0, 20)); + } +}