AHHHHHHHHHH COMMITED TO GITHUB INSTEAD OF FORGEJO FOR WEEKS

This commit is contained in:
sageTheDM 2024-12-16 20:32:46 +01:00
parent d6ef44f3d1
commit 0919005cb2
163 changed files with 3875 additions and 47 deletions

View file

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.PrimaryController">
<top>
<HBox id="header" alignment="CENTER" prefHeight="60.0" prefWidth="631.0" spacing="20.0" styleClass="header" BorderPane.alignment="CENTER">
<children>
<!-- Main Title -->
<Label id="mainTitle" styleClass="mainTitle" text="Bookshop - Fantasy Brigade" />
<!-- Spacer for alignment -->
<Pane HBox.hgrow="ALWAYS" />
<!-- Buttons -->
<Button id="cartBtn" mnemonicParsing="false" styleClass="cartBtn" text="Cart" />
<Button id="loginBtn" mnemonicParsing="false" styleClass="loginBtn" text="Login" />
</children>
<padding>
<Insets bottom="10.0" left="20.0" right="20.0" top="10.0" />
</padding>
</HBox>
</top>
<center>
<GridPane id="main" styleClass="main" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="100.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="449.0" minHeight="17.0" prefHeight="18.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="449.0" minHeight="30.0" prefHeight="394.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="223.0" minHeight="9.0" prefHeight="9.0" vgrow="SOMETIMES" />
</rowConstraints>
<BorderPane.margin>
<Insets />
</BorderPane.margin>
<children>
<Button id="btnCheckOut" mnemonicParsing="false" styleClass="btnCheckOut" text="Check out" GridPane.rowIndex="2" />
<Label id="cartTitle" styleClass="cartTitle" text="Your cart" />
<TableView prefHeight="0.0" prefWidth="364.0" GridPane.rowIndex="1">
<columns>
<TableColumn prefWidth="243.0" text="Name" />
<TableColumn prefWidth="615.0" text="Description" />
<TableColumn minWidth="0.0" prefWidth="154.0" text="Quantaty" />
<TableColumn minWidth="0.0" prefWidth="147.0" text="Price" />
</columns>
</TableView>
</children>
</GridPane>
</center>
<bottom>
<VBox id="footer" prefHeight="188.0" prefWidth="1200.0" styleClass="footer" BorderPane.alignment="CENTER">
<children>
<HBox id="footerLinks" alignment="TOP_CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<VBox id="quickLinks" alignment="TOP_LEFT" prefHeight="145.0" prefWidth="470.0" spacing="10.0">
<children>
<Label id="footerText" prefHeight="25.0" prefWidth="226.0" styleClass="footerHeading" text="Quick Links" />
<Label id="footerHome" styleClass="footerText" text="Home" />
<Label id="footerAbout" styleClass="footerText" text="About Us" />
<Label id="footerContact" styleClass="footerText" text="Contact" />
</children>
</VBox>
<VBox id="contactUs" prefHeight="145.0" prefWidth="583.0" spacing="10.0">
<children>
<Label id="footerHeading2" prefWidth="534.0" styleClass="footerHeading" text="Contact Us" />
<Label id="footerEmail" styleClass="footerText" text="Email: info@example.com" />
<Label id="footerPhone" styleClass="footerText" text="Phone: +1 123 456 7890" />
</children>
</VBox>
<VBox id="followUs" alignment="TOP_RIGHT" spacing="10.0">
<children>
<Label id="footerHeading3" styleClass="footerHeading" text="Follow Us" />
<Label id="footerFacebook" styleClass="footerLink" text="Facebook" />
<Label id="footerTwitter" styleClass="footerLink" text="Twitter" />
<Label id="footerInstagram" styleClass="footerLink" text="Instagram" />
</children>
</VBox>
</children>
</HBox>
<VBox id="footerCopy" alignment="BOTTOM_CENTER" prefHeight="68.0" prefWidth="1170.0" spacing="10.0">
<children>
<Label id="footerCopyText" alignment="CENTER" contentDisplay="CENTER" styleClass="footerCopy" text="© 2024 My Website. All rights reserved." />
</children>
</VBox>
</children>
</VBox>
</bottom>
</BorderPane>

View file

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.PrimaryController">
<top>
<HBox id="header" alignment="CENTER" prefHeight="60.0" prefWidth="631.0" spacing="20.0" styleClass="header" BorderPane.alignment="CENTER">
<children>
<!-- Main Title -->
<Label id="mainTitle" styleClass="mainTitle" text="Bookshop - Fantasy Brigade" />
<!-- Spacer for alignment -->
<Pane HBox.hgrow="ALWAYS" />
<!-- Buttons -->
<Button id="cartBtn" mnemonicParsing="false" styleClass="cartBtn" text="Cart" />
<Button id="loginBtn" mnemonicParsing="false" styleClass="loginBtn" text="Login" />
</children>
<padding>
<Insets bottom="10.0" left="20.0" right="20.0" top="10.0" />
</padding>
</HBox>
</top>
<bottom>
<VBox id="footer" prefHeight="188.0" prefWidth="1200.0" styleClass="footer" BorderPane.alignment="CENTER">
<children>
<HBox id="footerLinks" alignment="TOP_CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<VBox id="quickLinks" alignment="TOP_LEFT" prefHeight="145.0" prefWidth="470.0" spacing="10.0">
<children>
<Label id="footerText" prefHeight="25.0" prefWidth="226.0" styleClass="footerHeading" text="Quick Links" />
<Label id="footerHome" styleClass="footerText" text="Home" />
<Label id="footerAbout" styleClass="footerText" text="About Us" />
<Label id="footerContact" styleClass="footerText" text="Contact" />
</children>
</VBox>
<VBox id="contactUs" prefHeight="145.0" prefWidth="583.0" spacing="10.0">
<children>
<Label id="footerHeading2" prefWidth="534.0" styleClass="footerHeading" text="Contact Us" />
<Label id="footerEmail" styleClass="footerText" text="Email: info@example.com" />
<Label id="footerPhone" styleClass="footerText" text="Phone: +1 123 456 7890" />
</children>
</VBox>
<VBox id="followUs" alignment="TOP_RIGHT" spacing="10.0">
<children>
<Label id="footerHeading3" styleClass="footerHeading" text="Follow Us" />
<Label id="footerFacebook" styleClass="footerLink" text="Facebook" />
<Label id="footerTwitter" styleClass="footerLink" text="Twitter" />
<Label id="footerInstagram" styleClass="footerLink" text="Instagram" />
</children>
</VBox>
</children>
</HBox>
<VBox id="footerCopy" alignment="BOTTOM_CENTER" prefHeight="68.0" prefWidth="1170.0" spacing="10.0">
<children>
<Label id="footerCopyText" alignment="CENTER" contentDisplay="CENTER" styleClass="footerCopy" text="© 2024 My Website. All rights reserved." />
</children>
</VBox>
</children>
</VBox>
</bottom>
<center>
<GridPane id="main" styleClass="main" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<GridPane fx:id="billingForm" alignment="TOP_CENTER" hgap="10" prefHeight="600.0" prefWidth="800.0" style="-fx-background-color: rgba(238, 130, 238, 0.8);" vgap="20">
<children>
<!-- Check Out Header -->
<Label id="checkoutHeader" style="-fx-font-size: 24px; -fx-font-weight: bold;" text="Check out" textFill="WHITE" GridPane.columnSpan="2" GridPane.rowIndex="0" />
<!-- Payment Title -->
<Label id="paymentTitle" style="-fx-font-size: 30px; -fx-font-weight: bold;" text="Payment" textFill="WHITE" GridPane.columnSpan="2" GridPane.rowIndex="1" />
<Label id="paymentSubtitle" style="-fx-font-size: 14px;" text="Choose payment method below" textFill="WHITE" GridPane.columnSpan="2" GridPane.rowIndex="2" />
<!-- Payment Icons -->
<HBox id="paymentMethods" alignment="CENTER" spacing="20" GridPane.columnSpan="2" GridPane.rowIndex="3">
<Button id="creditCard" mnemonicParsing="false" styleClass="creditCard" />
<Button id="bill" mnemonicParsing="false" styleClass="bill" />
<Button id="paypal" mnemonicParsing="false" styleClass="paypal" />
</HBox>
<!-- Billing Info Section -->
<Label id="billingInfoTitle" style="-fx-font-size: 18px; -fx-font-weight: bold;" text="Billing Info" textFill="WHITE" GridPane.columnIndex="0" GridPane.rowIndex="4" />
<HBox id="billingName" spacing="10" GridPane.columnIndex="0" GridPane.rowIndex="5">
<Label id="fullNameLabel" text="Full Name:" textFill="WHITE" />
<TextField fx:id="addressField1" prefWidth="200" promptText="Jon Doe" />
</HBox>
<HBox id="billingAddress" spacing="10" GridPane.columnIndex="0" GridPane.rowIndex="6">
<Label id="addressLabel" text="Address:" textFill="WHITE" />
<TextField fx:id="addressField" prefWidth="200" promptText="497 Evergreen Rd." />
</HBox>
<HBox id="billingCityZip" spacing="10" GridPane.columnIndex="0" GridPane.rowIndex="7">
<Label id="cityLabel" text="City:" textFill="WHITE" />
<TextField fx:id="cityField" prefWidth="100" promptText="Roseville" />
<Label id="zipLabel" text="ZIP Code:" textFill="WHITE" />
<TextField fx:id="zipField" prefWidth="80" promptText="95673" />
</HBox>
<HBox id="billingCountry" spacing="10" GridPane.columnIndex="0" GridPane.rowIndex="8">
<Label id="countryLabel" text="Country:" textFill="WHITE" />
<ComboBox fx:id="countryComboBox" prefWidth="150.0" />
</HBox>
<!-- Credit Card Info Section -->
<Label id="creditCardInfoTitle" style="-fx-font-size: 18px; -fx-font-weight: bold;" text="Credit Card Info" textFill="WHITE" GridPane.columnIndex="1" GridPane.rowIndex="4" />
<HBox id="creditCardNumber" spacing="10" GridPane.columnIndex="1" GridPane.rowIndex="5">
<Label id="cardNumberLabel" text="Card Number:" textFill="WHITE" />
<TextField fx:id="cardNumberField" prefWidth="200" promptText="1234 5678 3456 2456" />
</HBox>
<HBox id="creditCardHolder" spacing="10" GridPane.columnIndex="1" GridPane.rowIndex="6">
<Label id="cardHolderNameLabel" text="Cardholder Name:" textFill="WHITE" />
<TextField fx:id="cardHolderNameField" prefWidth="200" promptText="John Doe" />
</HBox>
<HBox id="creditCardExpiry" spacing="10" GridPane.columnIndex="1" GridPane.rowIndex="7">
<Label id="expiryDateLabel" text="Expire Date:" textFill="WHITE" />
<TextField fx:id="expiryDateField" prefWidth="80" promptText="MM / YY" />
<Label id="cvvLabel" text="CVV:" textFill="WHITE" />
<PasswordField fx:id="cvvField" />
</HBox>
<!-- Submit Button -->
<Button id="submitBtn" fx:id="submitButton" alignment="CENTER" contentDisplay="CENTER" prefWidth="150" style="-fx-alignment: #4CAF50; -fx-text-fill: white; -fx-font-size: 16px; -fx-font-weight: bold;" styleClass="cartBtn" text="Submit" GridPane.columnSpan="2" GridPane.rowIndex="9" />
</children>
<columnConstraints>
<ColumnConstraints />
<ColumnConstraints />
</columnConstraints>
<rowConstraints>
<RowConstraints />
<RowConstraints />
<RowConstraints />
<RowConstraints />
<RowConstraints />
<RowConstraints />
<RowConstraints />
<RowConstraints />
<RowConstraints />
<RowConstraints />
</rowConstraints>
<opaqueInsets>
<Insets />
</opaqueInsets>
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
</GridPane>
</children>
</GridPane>
</center>
</BorderPane>

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 KiB

View file

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.PrimaryController">
<top>
<HBox id="header" alignment="CENTER" prefHeight="60.0" prefWidth="631.0" spacing="20.0" styleClass="header" BorderPane.alignment="CENTER">
<children>
<!-- Main Title -->
<Label id="mainTitle" styleClass="mainTitle" text="Bookshop - Fantasy Brigade" />
<!-- Spacer for alignment -->
<Pane HBox.hgrow="ALWAYS" />
<!-- Buttons -->
<Button id="cartBtn" mnemonicParsing="false" styleClass="cartBtn" text="Cart" />
<Button id="loginBtn" mnemonicParsing="false" styleClass="loginBtn" text="Login" />
</children>
<padding>
<Insets bottom="10.0" left="20.0" right="20.0" top="10.0" />
</padding>
</HBox>
</top>
<bottom>
<VBox id="footer" prefHeight="188.0" prefWidth="1200.0" styleClass="footer" BorderPane.alignment="CENTER">
<children>
<HBox id="footerLinks" alignment="TOP_CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<VBox id="quickLinks" alignment="TOP_LEFT" prefHeight="145.0" prefWidth="470.0" spacing="10.0">
<children>
<Label id="footerText" prefHeight="25.0" prefWidth="226.0" styleClass="footerHeading" text="Quick Links" />
<Label id="footerHome" styleClass="footerText" text="Home" />
<Label id="footerAbout" styleClass="footerText" text="About Us" />
<Label id="footerContact" styleClass="footerText" text="Contact" />
</children>
</VBox>
<VBox id="contactUs" prefHeight="145.0" prefWidth="583.0" spacing="10.0">
<children>
<Label id="footerHeading2" prefWidth="534.0" styleClass="footerHeading" text="Contact Us" />
<Label id="footerEmail" styleClass="footerText" text="Email: info@example.com" />
<Label id="footerPhone" styleClass="footerText" text="Phone: +1 123 456 7890" />
</children>
</VBox>
<VBox id="followUs" alignment="TOP_RIGHT" spacing="10.0">
<children>
<Label id="footerHeading3" styleClass="footerHeading" text="Follow Us" />
<Label id="footerFacebook" styleClass="footerLink" text="Facebook" />
<Label id="footerTwitter" styleClass="footerLink" text="Twitter" />
<Label id="footerInstagram" styleClass="footerLink" text="Instagram" />
</children>
</VBox>
</children>
</HBox>
<VBox id="footerCopy" alignment="BOTTOM_CENTER" prefHeight="68.0" prefWidth="1170.0" spacing="10.0">
<children>
<Label id="footerCopyText" alignment="CENTER" contentDisplay="CENTER" styleClass="footerCopy" text="© 2024 My Website. All rights reserved." />
</children>
</VBox>
</children>
</VBox>
</bottom>
<center>
<GridPane id="main" styleClass="main" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<VBox id="loginForm" alignment="CENTER" prefHeight="400.0" prefWidth="300.0" spacing="20.0">
<children>
<Label id="formTitle" styleClass="formTitle" text="Login" />
<VBox id="formFields" spacing="15.0">
<!-- Username -->
<VBox spacing="5.0">
<Label id="usernameLabel" styleClass="formLabel" text="Username" />
<TextField id="usernameInput" styleClass="formInput" />
</VBox>
<!-- Password -->
<VBox spacing="5.0">
<Label id="passwordLabel" styleClass="formLabel" text="Password" />
<PasswordField id="passwordInput" styleClass="formInput" />
</VBox>
</VBox>
<Button id="loginButton" mnemonicParsing="false" styleClass="btnLogin" text="Login" />
</children>
</VBox>
</children>
</GridPane>
</center>
</BorderPane>

View file

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.PrimaryController">
<top>
<HBox id="header" alignment="CENTER" prefHeight="60.0" prefWidth="631.0" spacing="20.0" styleClass="header" BorderPane.alignment="CENTER">
<children>
<!-- Main Title -->
<Label id="mainTitle" styleClass="mainTitle" text="Bookshop - Fantasy Brigade" />
<!-- Spacer for alignment -->
<Pane HBox.hgrow="ALWAYS" />
<!-- Buttons -->
<Button id="cartBtn" mnemonicParsing="false" styleClass="cartBtn" text="Cart" />
<Button id="loginBtn" mnemonicParsing="false" styleClass="loginBtn" text="Login" />
</children>
<padding>
<Insets bottom="10.0" left="20.0" right="20.0" top="10.0" />
</padding>
</HBox>
</top>
<center>
<GridPane id="main" styleClass="main" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="100.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="149.0" minHeight="0.0" prefHeight="31.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="310.0" minHeight="30.0" prefHeight="279.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="30.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="30.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<BorderPane.margin>
<Insets />
</BorderPane.margin>
<children>
<Label id="formTitle" styleClass="formTitle" text="LOGIN" />
<VBox id="formFields" prefHeight="200.0" prefWidth="100.0" GridPane.rowIndex="1">
<children>
<Label id="nameLabel" styleClass="formLabel" text="Name" />
<TextField id="nameInput" styleClass="formInput" />
<Label id="surnameLabel" styleClass="formLabel" text="Surname" />
<TextField id="surnameInput" styleClass="formInput" />
<Label id="emailLabel" styleClass="formLabel" text="Email address" />
<TextField id="emailInput" styleClass="formInput" />
<Label id="phoneLabel" styleClass="formLabel" text="Phone number" />
<TextField id="phoneInput" styleClass="formInput" />
<Label id="streetLabel" styleClass="formLabel" text="Street &amp; Nr." />
<TextField id="streetInput" styleClass="formInput" />
<Label id="cityLabel" styleClass="formLabel" text="City" />
<TextField id="cityInput" styleClass="formInput" />
<Label id="cityCodeLabel" styleClass="formLabel" text="City code" />
<TextField id="cityCodeInput" styleClass="formInput" />
</children>
</VBox>
<Button id="createAccountButton" mnemonicParsing="false" styleClass="btnCreateAccount" text="Create account" GridPane.rowIndex="3" />
</children>
</GridPane>
</center>
<bottom>
<VBox id="footer" prefHeight="188.0" prefWidth="1200.0" styleClass="footer" BorderPane.alignment="CENTER">
<children>
<HBox id="footerLinks" alignment="TOP_CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<VBox id="quickLinks" alignment="TOP_LEFT" prefHeight="145.0" prefWidth="470.0" spacing="10.0">
<children>
<Label id="footerText" prefHeight="25.0" prefWidth="226.0" styleClass="footerHeading" text="Quick Links" />
<Label id="footerHome" styleClass="footerText" text="Home" />
<Label id="footerAbout" styleClass="footerText" text="About Us" />
<Label id="footerContact" styleClass="footerText" text="Contact" />
</children>
</VBox>
<VBox id="contactUs" prefHeight="145.0" prefWidth="583.0" spacing="10.0">
<children>
<Label id="footerHeading2" prefWidth="534.0" styleClass="footerHeading" text="Contact Us" />
<Label id="footerEmail" styleClass="footerText" text="Email: info@example.com" />
<Label id="footerPhone" styleClass="footerText" text="Phone: +1 123 456 7890" />
</children>
</VBox>
<VBox id="followUs" alignment="TOP_RIGHT" spacing="10.0">
<children>
<Label id="footerHeading3" styleClass="footerHeading" text="Follow Us" />
<Label id="footerFacebook" styleClass="footerLink" text="Facebook" />
<Label id="footerTwitter" styleClass="footerLink" text="Twitter" />
<Label id="footerInstagram" styleClass="footerLink" text="Instagram" />
</children>
</VBox>
</children>
</HBox>
<VBox id="footerCopy" alignment="BOTTOM_CENTER" prefHeight="68.0" prefWidth="1170.0" spacing="10.0">
<children>
<Label id="footerCopyText" alignment="CENTER" contentDisplay="CENTER" styleClass="footerCopy" text="© 2024 My Website. All rights reserved." />
</children>
</VBox>
</children>
</VBox>
</bottom>
</BorderPane>

View file

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.PrimaryController">
<top>
<HBox id="header" alignment="CENTER" prefHeight="60.0" prefWidth="631.0" spacing="20.0" styleClass="header" BorderPane.alignment="CENTER">
<children>
<!-- Main Title -->
<Label id="mainTitle" styleClass="mainTitle" text="Bookshop - Fantasy Brigade" />
<!-- Spacer for alignment -->
<Pane HBox.hgrow="ALWAYS" />
<!-- Buttons -->
<Button id="cartBtn" mnemonicParsing="false" styleClass="cartBtn" text="Cart" />
<Button id="loginBtn" mnemonicParsing="false" styleClass="loginBtn" text="Login" />
</children>
<padding>
<Insets bottom="10.0" left="20.0" right="20.0" top="10.0" />
</padding>
</HBox>
</top>
<center>
<GridPane id="main" styleClass="main" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="100.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="100.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="100.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="100.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="30.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="30.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<BorderPane.margin>
<Insets />
</BorderPane.margin>
<children>
<!-- Card 1 -->
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
<!-- Card 3 -->
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv" GridPane.columnIndex="2">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
<!-- Card 4 -->
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv" GridPane.columnIndex="3">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
<!-- Card 5 -->
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv" GridPane.rowIndex="1">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
<!-- Card 6 -->
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv" GridPane.columnIndex="1" GridPane.rowIndex="1">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
<!-- Card 7 -->
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv" GridPane.columnIndex="2" GridPane.rowIndex="1">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
<!-- Card 8 -->
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv" GridPane.columnIndex="3" GridPane.rowIndex="1">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
<VBox id="cardDiv" prefHeight="200.0" prefWidth="100.0" styleClass="cardDiv" GridPane.columnIndex="1">
<children>
<Label id="cardTitel" styleClass="cardTitel" text="Booktitel" />
<Button id="cardBtn" mnemonicParsing="false" styleClass="cardBtn" text="add to cart" />
<Label id="cardText" styleClass="cardText" text="Description: ...." />
</children>
</VBox>
</children>
</GridPane>
</center>
<bottom>
<VBox id="footer" prefHeight="188.0" prefWidth="1200.0" styleClass="footer" BorderPane.alignment="CENTER">
<children>
<HBox id="footerLinks" alignment="TOP_CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<VBox id="quickLinks" alignment="TOP_LEFT" prefHeight="145.0" prefWidth="470.0" spacing="10.0">
<children>
<Label id="footerText" prefHeight="25.0" prefWidth="226.0" styleClass="footerHeading" text="Quick Links" />
<Label id="footerHome" styleClass="footerText" text="Home" />
<Label id="footerAbout" styleClass="footerText" text="About Us" />
<Label id="footerContact" styleClass="footerText" text="Contact" />
</children>
</VBox>
<VBox id="contactUs" prefHeight="145.0" prefWidth="583.0" spacing="10.0">
<children>
<Label id="footerHeading2" prefWidth="534.0" styleClass="footerHeading" text="Contact Us" />
<Label id="footerEmail" styleClass="footerText" text="Email: info@example.com" />
<Label id="footerPhone" styleClass="footerText" text="Phone: +1 123 456 7890" />
</children>
</VBox>
<VBox id="followUs" alignment="TOP_RIGHT" spacing="10.0">
<children>
<Label id="footerHeading3" styleClass="footerHeading" text="Follow Us" />
<Label id="footerFacebook" styleClass="footerLink" text="Facebook" />
<Label id="footerTwitter" styleClass="footerLink" text="Twitter" />
<Label id="footerInstagram" styleClass="footerLink" text="Instagram" />
</children>
</VBox>
</children>
</HBox>
<VBox id="footerCopy" alignment="BOTTOM_CENTER" prefHeight="68.0" prefWidth="1170.0" spacing="10.0">
<children>
<Label id="footerCopyText" alignment="CENTER" contentDisplay="CENTER" styleClass="footerCopy" text="© 2024 My Website. All rights reserved." />
</children>
</VBox>
</children>
</VBox>
</bottom>
</BorderPane>

View file

@ -0,0 +1,423 @@
/* General Layout and Styling */
/* Main GridPane */
#main {
-fx-padding: 20;
-fx-hgap: 20;
-fx-vgap: 20;
-fx-background-image: url('images/background');
-fx-background-size: cover;
-fx-background-position: center center;
-fx-background-blend-mode: overlay;
}
/* Header */
.header {
-fx-background-color: #6a1b9a;
-fx-padding: 20px 30px;
-fx-border-color: #8e44ad;
-fx-border-width: 0 0 2px 0;
-fx-alignment: center;
-fx-box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
}
.mainTitle {
-fx-font-size: 26px;
-fx-font-weight: 700;
-fx-text-fill: #ffffff;
-fx-padding: 0 20;
-fx-alignment: center;
-fx-letter-spacing: 1px;
}
/* Footer */
.footer {
-fx-background-color: #6a1b9a;
-fx-padding: 25px;
-fx-alignment: center;
-fx-box-shadow: 0px -5px 15px rgba(0, 0, 0, 0.1);
}
.footerHeading {
-fx-font-weight: bold;
-fx-font-size: 18px;
-fx-padding-bottom: 5px;
-fx-text-fill: #ffffff;
}
.footerText, .footerLink, .footerCopy {
-fx-text-fill: #ffffff;
}
.footerLink {
-fx-font-size: 14px;
-fx-padding: 5px 0;
}
.footerLink:hover {
-fx-text-fill: #8e44ad;
}
.footerCopy {
-fx-font-size: 12px;
-fx-padding: 5px;
-fx-alignment: center;
}
/* Individual Cards */
.cardDiv {
-fx-background-color: rgba(156, 89, 182, 0.7);
-fx-border-color: transparent;
-fx-border-width: 0px;
-fx-border-radius: 12px;
-fx-background-radius: 12px;
-fx-padding: 15;
-fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.1), 10, 0.5, 0, 5);
-fx-alignment: top-center;
-fx-background-size: cover;
-fx-background-position: center center;
-fx-pref-width: 250;
-fx-pref-height: 230;
-fx-min-width: 250;
-fx-min-height: 230;
}
.cardTitel {
-fx-font-size: 18px;
-fx-font-weight: 600;
-fx-text-fill: #ffffff;
-fx-padding: 5 0 15 0;
-fx-alignment: center;
}
.cardText {
-fx-text-fill: #ffffff;
}
/* Buttons */
/* Card Button */
.cardBtn {
-fx-font-size: 14px;
-fx-background-color: #8e44ad;
-fx-text-fill: #ffffff;
-fx-background-radius: 20px;
-fx-padding: 8px 16px;
-fx-border-color: transparent;
-fx-border-width: 0px;
-fx-cursor: hand;
-fx-transition: background-color 0.3s ease;
}
.cardBtn:hover {
-fx-background-color: #732d91;
}
/* Header Buttons */
.cartBtn, .loginBtn {
-fx-font-size: 14px;
-fx-background-color: #8e44ad;
-fx-text-fill: #ffffff;
-fx-background-radius: 20px;
-fx-padding: 8px 16px;
-fx-border-color: transparent;
-fx-border-width: 0px;
-fx-transition: background-color 0.3s ease;
}
.cartBtn:hover, .loginBtn:hover {
-fx-background-color: #732d91;
}
/* Form Buttons */
.btnCreateAccount, .btnLogin, .btnCheckOut {
-fx-font-size: 14px;
-fx-background-color: #8e44ad;
-fx-text-fill: #ffffff;
-fx-background-radius: 20px;
-fx-padding: 8px 20px;
-fx-border-color: transparent;
-fx-border-width: 0px;
-fx-cursor: hand;
-fx-transition: background-color 0.3s ease;
}
.btnCreateAccount:hover, .btnLogin:hover, .btnCheckOut:hover {
-fx-background-color: #732d91;
}
/* Specific Button - Checkout */
#btnCheckOut {
-fx-font-size: 16px;
-fx-background-color: #8e44ad;
-fx-text-fill: #ffffff;
-fx-background-radius: 20px;
-fx-padding: 10px 20px;
-fx-border-color: transparent;
-fx-border-width: 0px;
-fx-cursor: hand;
-fx-transition: background-color 0.3s ease;
}
#btnCheckOut:hover {
-fx-background-color: #732d91;
}
/* Forms */
.formTitle, .cartTitle {
-fx-font-size: 26px;
-fx-font-weight: 700;
-fx-text-fill: #6a1b9a;
-fx-alignment: center;
-fx-padding: 10 0 20 0;
}
.cartTitle{
-fx-text-fill: #ffffff;
}
.formFields {
-fx-margin: 5 0 0 0;
-fx-padding: 5 0 0 0;
}
.formLabel {
-fx-font-size: 14px;
-fx-text-fill: #ffffff;
-fx-padding: 3 0 5 0;
}
.formInput {
-fx-padding: 1px;
-fx-font-size: 14px;
-fx-background-color: #f4f4f4;
-fx-border-color: #cccccc;
-fx-border-radius: 8px;
-fx-pref-width: 220px;
-fx-transition: all 0.3s ease;
}
.formInput:focus {
-fx-border-color: #8e44ad;
}
/* List Views */
.cartList {
-fx-background-color: rgba(156, 89, 182, 0.7);
}
.paypal {
-fx-background-image: url('icons/paypal.png');
-fx-background-size: contain; /* Ensures the whole image is shown */
-fx-background-repeat: no-repeat; /* Prevents the image from repeating */
-fx-background-position: center; /* Centers the image */
-fx-min-width: 100px;
-fx-min-height: 100px; /* Ensures consistent height for the element */
}
.bill {
-fx-background-image: url('icons/bill.png');
-fx-background-size: contain;
-fx-background-repeat: no-repeat;
-fx-background-position: center;
-fx-min-width: 100px;
-fx-min-height: 100px;
}
.creditCard {
-fx-background-image: url('icons/credit.png');
-fx-background-size: contain;
-fx-background-repeat: no-repeat;
-fx-background-position: center;
-fx-min-width: 100px;
-fx-min-height: 100px;
}
/* Table Styling */
.table-view {
-fx-background-color: rgba(156, 89, 182, 0.7); /* Background color with transparency */
-fx-border-color: #8e44ad; /* Border color */
-fx-border-width: 2px; /* Border thickness */
-fx-padding: 10px;
-fx-alignment: center;
-fx-font-size: 14px; /* Font size for text */
-fx-font-weight: normal; /* Normal font weight */
-fx-text-fill: #ffffff; /* White text */
}
/* Table Header */
.table-view .column-header-background {
-fx-background-color: #8e44ad; /* Header background */
-fx-text-fill: white; /* Header text color */
}
/* Table Column Styling */
.table-view .table-column {
-fx-alignment: center-left; /* Align text to the left */
-fx-padding: 8px 16px; /* Padding for columns */
-fx-font-size: 14px; /* Font size for column headers */
-fx-text-fill: #ffffff; /* White text */
}
/* Table Cell Styling */
.table-view .table-cell {
-fx-background-color: transparent; /* Transparent background for cells */
-fx-border-color: transparent; /* No border for cells */
-fx-padding: 5px 10px; /* Padding for each cell */
}
/* Row Styling */
.table-view .table-row-cell {
-fx-background-color: rgba(156, 89, 182, 0.3); /* Semi-transparent row background */
-fx-border-color: transparent; /* No border for rows */
}
.table-view .table-row-cell:hover {
-fx-background-color: rgba(156, 89, 182, 0.6); /* Darker row color on hover */
}
/* Table Scroll Bar */
.table-view .scroll-bar {
-fx-background-color: #8e44ad; /* Scroll bar background color */
}
/* Media Queries - Responsive Design */
/* For screens up to 1200px (large tablets and smaller desktops) */
@media screen and (max-width: 1200px) {
#main {
-fx-hgap: 15;
-fx-vgap: 15;
}
.cardDiv {
-fx-pref-width: 45%;
-fx-min-width: 45%;
-fx-pref-height: 220;
-fx-min-height: 220;
}
.mainTitle {
-fx-font-size: 24px;
}
.footerCopy {
-fx-font-size: 12px;
}
.cartBtn, .loginBtn {
-fx-font-size: 13px;
-fx-padding: 7px 14px;
}
}
/* For screens up to 1024px (tablets and medium-sized devices) */
@media screen and (max-width: 1024px) {
#main {
-fx-hgap: 15;
-fx-vgap: 15;
}
.cardDiv {
-fx-pref-width: 48%;
-fx-min-width: 48%;
-fx-pref-height: 210;
-fx-min-height: 210;
}
.mainTitle {
-fx-font-size: 24px;
}
.footerCopy {
-fx-font-size: 12px;
}
.cartBtn, .loginBtn {
-fx-font-size: 14px;
-fx-padding: 8px 15px;
}
}
/* For screens up to 768px (mobile devices and small tablets) */
@media screen and (max-width: 768px) {
#main {
-fx-hgap: 10;
-fx-vgap: 10;
}
.cardDiv {
-fx-pref-width: 100%;
-fx-min-width: 100%;
-fx-pref-height: 180;
-fx-min-height: 180;
}
.cardTitel {
-fx-font-size: 16px;
}
.cardText {
-fx-font-size: 12px;
}
.mainTitle {
-fx-font-size: 22px;
}
.footerCopy {
-fx-font-size: 10px;
}
.cartBtn, .loginBtn {
-fx-font-size: 12px;
-fx-padding: 6px 12px;
}
}
/* For screens up to 480px (very small screens like smartphones in portrait mode) */
@media screen and (max-width: 480px) {
#main {
-fx-hgap: 5;
-fx-vgap: 5;
}
.cardDiv {
-fx-pref-width: 100%;
-fx-min-width: 100%;
-fx-pref-height: 150;
-fx-min-height: 150;
}
.cardTitel {
-fx-font-size: 14px;
}
.cardText {
-fx-font-size: 10px;
}
.mainTitle {
-fx-font-size: 18px;
}
.footerCopy {
-fx-font-size: 8px;
}
.cartBtn, .loginBtn {
-fx-font-size: 12px;
-fx-padding: 5px 10px;
}
.formTitle, .cartTitle {
-fx-font-size: 20px;
}
.formInput {
-fx-pref-width: 200px;
}
.footerHeading {
-fx-font-size: 16px;
}
}