From 9cd71d33d449206bf7d2acfd866541cf73419e65 Mon Sep 17 00:00:00 2001 From: Asal Lotfi Date: Wed, 3 Sep 2025 13:48:37 +0330 Subject: [PATCH 1/3] 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 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/org/to/telegramfinalproject/Icons/lock_dark.png b/src/main/resources/org/to/telegramfinalproject/Icons/lock_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..80c4ceb600e89716456dcb5247f9294bc0b5565a GIT binary patch literal 305 zcmV-10nYx3P)A^qgu~co@;e7xCvY(FxgI@D0>m zQ$<4vXhe)+lO{L0?fH6dn>x<7&G-E-fCYdR$)h=d2*5lDg3epwB!>VJlBY5U5Uc9o zoywC;XrrnV&+~fbcFx_!wO#^Xc@sC$;=Sv-eUjTOX7)0GI<*1e(dW2E{${=io2VLi~#JaCWqA%m0IpofCauP&K#t%uc@8)zW`MoTl39DBy1dj z++>wC^Y;NF5}I(;y#Ica+XKL-SA|@cUHY+Q=d{hvN3F++IGvGF00000NkvXXu0mjf DXD5W$ literal 0 HcmV?d00001 diff --git a/src/main/resources/org/to/telegramfinalproject/Icons/lock_light.png b/src/main/resources/org/to/telegramfinalproject/Icons/lock_light.png new file mode 100644 index 0000000000000000000000000000000000000000..bf04fb03cf6482c8fa5cb758d978161ba0d4b42c GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-#WqhD z$B>FScc<729a0czeYxd;^ov@d%sn0U$9uvI_ww#+yj9OPQ&&St*!-l%zL{$)^6e8O zdwy8bn!K?Dn-uHjMx6cthVEj2eP(!iqLi+T%ab^o<%i6C>iUj(A!PC{xWt~$( F69B7TW2^uG literal 0 HcmV?d00001 diff --git a/src/main/resources/org/to/telegramfinalproject/Icons/log_out.png b/src/main/resources/org/to/telegramfinalproject/Icons/log_out.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f7fc882cb182dda2c5833ecbc313875ab4cecd GIT binary patch literal 553 zcmV+^0@nSBP)-fZZu5)bpY>6V_w9W`Pk+;8GUce zhAKcvn?&aQD6N1KRe+H5wWWR=Qc5HC(AuXCIITf^E;J>;ujwCzpK8YU)~*Tgbvli- zQ|ON+E+VKRcN{rzWUn%2yKw+fl>wFoKmaS`k5Gk5(liRd7sZN@-=|uPO2}8uS^@G~ ztxwW{NCi+D!(dt+BIPD7ftNE7z;Eevx{awqr8dMo0OOOi7q!VFtA(o5JOB>(l&D)B z!~uBdV^RS0qX2{k%mE)7n?eyzv1&mSy@?GMQq&z1|(>;omE7t00000NkvXXu0mjf4;ks| literal 0 HcmV?d00001