From 9cd71d33d449206bf7d2acfd866541cf73419e65 Mon Sep 17 00:00:00 2001 From: Asal Lotfi Date: Wed, 3 Sep 2025 13:48:37 +0330 Subject: [PATCH] New Channel UI updated. --- .../UI/NewChannelController.java | 20 ++++++++++++++++++- .../Fxml/new_channel.fxml | 11 +++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/to/telegramfinalproject/UI/NewChannelController.java b/src/main/java/org/to/telegramfinalproject/UI/NewChannelController.java index a13ac44..68e7329 100644 --- a/src/main/java/org/to/telegramfinalproject/UI/NewChannelController.java +++ b/src/main/java/org/to/telegramfinalproject/UI/NewChannelController.java @@ -30,6 +30,8 @@ public class NewChannelController { @FXML private Button createButton; @FXML private StackPane overlayRoot; // the root @FXML private Label descCounter; + @FXML private Label channelIdLabel; + @FXML private TextField channelIdField; private File channelImageFile; @@ -67,6 +69,7 @@ public class NewChannelController { // Create button → validate name + submit createButton.setOnAction(e -> { String channelName = channelNameField.getText().trim(); + String channelId = channelIdField.getText().trim(); String description = channelDescField.getText().trim(); if (channelName.isEmpty()) { @@ -76,6 +79,13 @@ public class NewChannelController { return; } + if (channelId.isEmpty()) { + // Apply error style + channelIdField.getStyleClass().add("error"); + channelIdLabel.getStyleClass().add("error"); + return; + } + try { // Load Add Members overlay FXMLLoader loader = new FXMLLoader(getClass().getResource( @@ -84,7 +94,7 @@ public class NewChannelController { // Pass channel info to AddMembersController AddSubscriberController controller = loader.getController(); - controller.setChannelInfo(channelName, description, channelImageFile); + controller.setChannelInfo(channelName, channelId, description, channelImageFile); // Close the current "New Channel" overlay MainController.getInstance().closeOverlay(overlayRoot); @@ -133,6 +143,14 @@ public class NewChannelController { } }); + // Reset error state when typing + channelIdField.textProperty().addListener((obs, oldVal, newVal) -> { + if (!newVal.trim().isEmpty()) { + channelIdField.getStyleClass().remove("error"); + channelIdLabel.getStyleClass().remove("error"); + } + }); + // Auto-focus channel name on open Platform.runLater(() -> channelNameField.requestFocus()); diff --git a/src/main/resources/org/to/telegramfinalproject/Fxml/new_channel.fxml b/src/main/resources/org/to/telegramfinalproject/Fxml/new_channel.fxml index 05598d2..eee83ab 100644 --- a/src/main/resources/org/to/telegramfinalproject/Fxml/new_channel.fxml +++ b/src/main/resources/org/to/telegramfinalproject/Fxml/new_channel.fxml @@ -17,7 +17,7 @@ spacing="16" alignment="CENTER" prefWidth="400" maxWidth="400" - prefHeight="280" maxHeight="280"> + prefHeight="380" maxHeight="380"> @@ -42,6 +42,15 @@ + + + +