package workshop; import javafx.fxml.FXML; import javafx.scene.control.Alert; import javafx.scene.control.Label; import javafx.scene.control.Button; public class Controller { @FXML public Label basicPriceLabel; @FXML public Label proPriceLabel; @FXML public Label enterprisePriceLabel; @FXML private Label titleLabel; @FXML private Button themeToggle; private boolean isDark = true; @FXML public void initialize() { basicPriceLabel.setText("$12.99 / month"); proPriceLabel.setText("$21.99 / month"); } // TODO: (Optional) Create initialize function and use it to set prices during runtime. @FXML private void buyBasic() { showAlert("Basic plan selected.", Alert.AlertType.INFORMATION); // TODO: Call showAlert() with a message indicating the user entered the payment gateway } @FXML private void buyPro() { showAlert("Pro plan selected.", Alert.AlertType.INFORMATION); // TODO: Call showAlert() with a message indicating the user entered the payment gateway } @FXML private void buyEnterprise() { showAlert("Enterprise plan selected.", Alert.AlertType.INFORMATION); // TODO: Call showAlert() with a message indicating the user entered the payment gateway } @FXML private void toggleTheme() { isDark = !isDark; if (isDark) { themeToggle.setText("Switch to light mode"); themeToggle.getScene().getStylesheets().clear(); themeToggle.getScene().getStylesheets().add(getClass().getResource("style.css").toExternalForm()); } else { themeToggle.setText("Switch to dark mode"); themeToggle.getScene().getStylesheets().clear(); themeToggle.getScene().getStylesheets().add(getClass().getResource("light.css").toExternalForm()); } // TODO: Toggle the isDark flag. If dark, switch to style.css and set button text to "Switch to Light Mode" // TODO: If light, switch to light.css and set button text to "Switch to Dark Mode" } private void showAlert(String message, Alert.AlertType alertType) { Alert alert = new Alert(alertType); alert.setHeaderText(message); alert.show(); // TODO: Create a new Alert of type INFORMATION with the given message and display it } }