diff options
Diffstat (limited to 'main')
5 files changed, 31 insertions, 24 deletions
diff --git a/main/app/sprinkles/admin/src/Controller/PostController.php b/main/app/sprinkles/admin/src/Controller/PostController.php index 06d205d..d6a049f 100644 --- a/main/app/sprinkles/admin/src/Controller/PostController.php +++ b/main/app/sprinkles/admin/src/Controller/PostController.php @@ -59,7 +59,8 @@ class PostController extends SimpleController ->get(); $ImagesFromFriends = DB::table('image_posts') - ->where('UserID', '=', $UsersFriendInformation[0]->id) + ->where('UserID', '=', $UsersFriendInformation[0]->id) // IMAGES FROM FRIENDS + ->orWhere('UserId', '=', $user->id) // IMAGES FROM THE USER HIMSELF ->select('PostID as image_id') ->get(); diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js b/main/app/sprinkles/core/assets/SiteAssets/js/chat.js index 016332b..668745d 100644 --- a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js +++ b/main/app/sprinkles/core/assets/SiteAssets/js/chat.js @@ -1,7 +1,8 @@ /** * GLOBAL DECLARATIONS */ -let LastMessage, Username, ReceiversUsername, ReceiversId, options, EncryptedMessage, DecryptedMessage; +let LastMessage, Username, ReceiversUsername, CurrentChatMessagesWindow, ReceiversId, options, EncryptedMessage, + DecryptedMessage; /** * INITIAL ENCRYPTION CONFIGURATION @@ -35,7 +36,7 @@ function InitializeChatServer() { ChatSocket.onopen = function () { // CONNECTION SUCCESSFUL! const WebSocketConnectTimerEnd = performance.now(); // END CONNECTION EXECUTION TIMER - console.log("%c[CHATSOCKET LOGGER] Chat connection established! (Took " + +(WebSocketConnectTimerEnd - WebSocketConnectTimerStart) + " milliseconds)", "color: darkorange"); + console.log(`%c[CHATSOCKET LOGGER] Chat connection established! (Took ${+(WebSocketConnectTimerEnd - WebSocketConnectTimerStart)} milliseconds)`, "color: darkorange"); // START VERIFICATION ChatSocket.send(JSON.stringify({ ClientMessageType: "Verify", @@ -47,7 +48,6 @@ function InitializeChatServer() { ChatSocket.onmessage = function (e) { // DECLARATIONS const TypingIndicatorMessage = $(".TypingIndicatorMessage").parent(); - const CurrentChatMessagesWindow = $(".SelectedReceiver #ChatMessages[data-username=" + ReceiversUsername + "]"); const MessageObject = JSON.parse(e.data); const Message = MessageObject.Message; // ENCRYPTED MESSAGE (NOT ENCRYPTED ON SERVER MESSAGES) const MessageId = MessageObject.MessageId; @@ -63,6 +63,7 @@ function InitializeChatServer() { // GLOBAL OVERWRITES LastMessage = $(".MessageWrapper.Normal:last .ChatMessage"); + CurrentChatMessagesWindow = $("#ChatMessages[data-username=" + ReceiversUsername + "]"); Username = MessageObject.Username; // GET OWN PUBLIC KEY FIRST @@ -134,19 +135,20 @@ function InitializeChatServer() { } else if (ServerMessageType === "SetReceiver") { // TYPE: SERVER CHECKED ACCESS -- MOSTLY HANDLED IN BACKEND if (Success) { console.log("%c[CHATSOCKET LOGGER] Setting receiver succeeded!", "color: green"); - SelectReceiver.hide(); - ChatMessages.hide(); - $(".SelectedReceiver > *").addClass("animated slideInRight"); + + // CHANGE HEADER TAB CAPTION $(".ChatTab .headerWrap .header .HeaderCaption.TabCaption").hide(); - if ($(".HeaderCaption#" + ReceiversUsername).length) { - $(".HeaderCaption#" + ReceiversUsername).show(); - } else { - $(".ChatTab .headerWrap .header > .LeftButtonHeader").after("<span id='" + ReceiversUsername + "' class='HeaderCaption'>" + ReceiversUsername + "</span>"); - } + $(".HeaderCaption#" + ReceiversUsername).length + ? $(".HeaderCaption#" + ReceiversUsername).show() + : $(".ChatTab .headerWrap .header > .LeftButtonHeader").after("<span id='" + ReceiversUsername + "' class='HeaderCaption'>" + ReceiversUsername + "</span>"); $(".ChatTab .headerWrap .LeftButtonHeader").html("<i id='BackToChatSelectorButton' class='fas fa-caret-left'></i>"); // REPLACE MENU BUTTON WITH BACK BUTTON - SelectedReceiver.prepend("<div id='ChatMessages' class='ChatMessages' data-username='" + ReceiversUsername + "'></div>"); - SelectedReceiver.show(); - CurrentChatMessagesWindow.show(); + + SelectReceiver.hide(); + SelectedReceiver.show(); // SHOW PARENT DIV + $(".SelectedReceiver > #ChatMessages").hide(); // HIDE EVERY CHAT INSTANCE + $(".SelectedReceiver > *").addClass("animated slideInRight"); + ChatTextInput.show(); // SHOW CHAT INPUT + CurrentChatMessagesWindow.show(); // ONLY SHOW SELECTED CHAT INSTANCE } else { console.log("%c[CHATSOCKET LOGGER] Setting receiver failed!", "color: red"); } @@ -243,12 +245,12 @@ function InitializeChatServer() { if (ChatSocket.readyState === 1) { if (e.keyCode === 13 && ChatTextInput.val().length > 0) { const ChatTextInputText = ChatTextInput.val(); - ChatTextInput.val(""); const LastMessage = $(".MessageWrapper.Normal:last .ChatMessage"); + ChatTextInput.val(""); if (!LastMessage.hasClass("MessageSent")) { // CHECK IF PREVIOUS MESSAGE WAS FROM HIMSELF TOO -> IF NOT, CREATE NEW 'ALONE' MESSAGE - ChatMessages.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent AloneMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>"); + CurrentChatMessagesWindow.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent AloneMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>"); } else if (LastMessage.hasClass("MessageSent")) { // IF PREVIOUS MESSAGE WAS FROM HIMSELF TOO -> CREATE WITH CORRESPONDING CLASSES FOR DESIGN - ChatMessages.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent BottomMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>"); + CurrentChatMessagesWindow.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent BottomMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>"); if (LastMessage.hasClass("AloneMessage")) { LastMessage.removeClass("AloneMessage"); LastMessage.addClass("TopMessage"); @@ -313,7 +315,9 @@ function InitializeChatServer() { })); }); - // SEVERAL THINGS WHICH DON'T MATCH ANY OTHER SECTION + /** + * SEVERAL THINGS WHICH DON'T MATCH ANY OTHER SECTION + */ function NotConnectedAnymore() { console.log("%c[CHATSOCKET LOGGER] Not connected to Websocket anymore! Trying to connect again...", "color: red"); InitializeChatServer(); diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/main.js b/main/app/sprinkles/core/assets/SiteAssets/js/main.js index 4b89a59..b7ebd1f 100644 --- a/main/app/sprinkles/core/assets/SiteAssets/js/main.js +++ b/main/app/sprinkles/core/assets/SiteAssets/js/main.js @@ -6,6 +6,7 @@ const NavbarLine = $(".NavbarLine"); const UserSearchBar = $("#UserSearchBar"); const SearchResults = $(".SearchResults"); const SelectReceiver = $(".SelectReceiver"); +const SelectedReceiver = $(".SelectedReceiver"); const FriendList = $(".FriendList"); const alerts = $("#alerts-page"); const ExploreData = $("#ExploreData"); @@ -167,13 +168,14 @@ UserSearchBar.keyup(function () { /** * SEVERAL API REQUESTS/REFRESHES */ -// CHAT RECEIVERS -- more in chat.js $(document).ready(function () { - $.ajax({ + $.ajax({ // CHAT RECEIVERS -- more in chat.js url: site.uri.public + "/api/users/u/" + current_username + "/friends", success: function (receivers) { receivers.forEach(function (receiversInfo) { SelectReceiver.append("<div class='ReceiverSelector' data-username='" + receiversInfo.username + "' data-id='" + receiversInfo.id + "'><img class='Avatar' src='" + receiversInfo.avatar + "'/><div class='UsersFullName'>" + receiversInfo.full_name + "</div></div>"); + SelectedReceiver.prepend("<div style='display: none;' id='ChatMessages' class='ChatMessages' data-username='" + receiversInfo.username + "'></div>"); + FriendList.append("<img class='Avatar' src='" + receiversInfo.avatar + "'><a class='FriendName' href='" + site.uri.public + "/users/u/" + receiversInfo.username + "'>" + receiversInfo.full_name + "</a><br>"); }) }, @@ -183,7 +185,7 @@ $(document).ready(function () { alerts.ufAlerts().ufAlerts('fetch'); } }); - $.ajax({ + $.ajax({ // INITIALIZE IMAGE FEED url: site.uri.public + "/api/feed/" + current_username, success: function (images) { images.forEach(function (imageInfo) { diff --git a/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php b/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php index 90ed22e..6d3a9b6 100644 --- a/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php +++ b/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php @@ -215,7 +215,7 @@ class ChatProcessor implements MessageComponentInterface } } - public function onClose(ConnectionInterface $conn) { + public function onClose(ConnectionInterface $conn) { // TODO: Prevent crashing because window is closed with ALT F4 and TypingState is sent but no data is available $this->clients->detach($conn); foreach ($this->clients as $client) { if (isset($this->channels[$conn->resourceId])) { diff --git a/main/app/sprinkles/core/templates/pages/index.html.twig b/main/app/sprinkles/core/templates/pages/index.html.twig index 5f8fe76..c77fa4d 100644 --- a/main/app/sprinkles/core/templates/pages/index.html.twig +++ b/main/app/sprinkles/core/templates/pages/index.html.twig @@ -42,7 +42,7 @@ title="{{ translate("EXPLORE_TAB.USER_SEARCH_PH") }}" placeholder="{{ translate("EXPLORE_TAB.USER_SEARCH_PH") }}"> <br> - <div id="alerts-page"></div> + {#<div id="alerts-page"></div>#} <div class="SearchResults"> </div> <div id="ExploreData"> |