aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/core/assets
diff options
context:
space:
mode:
authorMarvin Borner2018-05-16 23:57:12 +0200
committerMarvin Borner2018-05-16 23:57:12 +0200
commit4347acdc88cc22a675abd96cd9e96315e59a7eb0 (patch)
treeca484176d14e96bfb667187bf1ef62a4889f4fda /main/app/sprinkles/core/assets
parent1ee800eaea3b274654a1d6946fb5a0e055899857 (diff)
Enhanced receiver select interface and backend
Diffstat (limited to 'main/app/sprinkles/core/assets')
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/css/main.css33
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/js/chat.js14
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/js/main.js28
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php2
4 files changed, 74 insertions, 3 deletions
diff --git a/main/app/sprinkles/core/assets/SiteAssets/css/main.css b/main/app/sprinkles/core/assets/SiteAssets/css/main.css
index f3a71cd..f649882 100644
--- a/main/app/sprinkles/core/assets/SiteAssets/css/main.css
+++ b/main/app/sprinkles/core/assets/SiteAssets/css/main.css
@@ -193,6 +193,39 @@ hr.ChatHeaderDivider {
margin-bottom: 0.6em; /* cause of symmetry things */
}
+/* receiver select window */
+.SelectReceiver .ReceiverSelector {
+ display: grid;
+ grid-template-columns: 10% 20% auto 10%;
+ overflow-y: auto;
+ max-height: 45%;
+ width: 100%;
+ z-index: 9999;
+}
+
+.SelectReceiver .ReceiverSelector .Avatar {
+ grid-column-start: 2;
+ justify-self: center;
+ align-self: center;
+ height: 50px;
+ width: 50px;
+ -webkit-border-radius: 100%;
+ -moz-border-radius: 100%;
+ border-radius: 100%;
+}
+
+.SelectReceiver .ReceiverSelector .UsersFullName {
+ grid-column-start: 3;
+ justify-self: center; /* OR start */
+ align-self: center;
+}
+
+
+/* main chat */
+.SelectedReceiver {
+ display: none;
+}
+
.ChatMessages {
overflow-y: scroll;
overflow-x: hidden;
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js b/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
index 2125296..96f2791 100644
--- a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
+++ b/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
@@ -1,7 +1,7 @@
/**
* ENCRYPTION
*/
-var ReceiversUsername = ""; // HARD
+var ReceiversUsername, ReceiversId;
var openpgp = window.openpgp;
var options, EncryptedMessage, DecryptedMessage;
var PublicKey = [];
@@ -287,6 +287,18 @@ function InitializeChatServer() {
}
}
});
+
+ // SET RECEIVER
+ $(document).on("click", ".ReceiverSelector", function () {
+ ReceiversUsername = $(this).attr("data-username");
+ ReceiversId = $(this).attr("data-id");
+ ChatSocket.send(JSON.stringify({
+ ClientMessageType: "ChatMessage",
+ MessageType: "Private",
+ EncryptedWithKey: ReceiversUsername,
+ Message: EncryptedMessage
+ }));
+ });
};
}
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/main.js b/main/app/sprinkles/core/assets/SiteAssets/js/main.js
index 5d35bae..9493644 100644
--- a/main/app/sprinkles/core/assets/SiteAssets/js/main.js
+++ b/main/app/sprinkles/core/assets/SiteAssets/js/main.js
@@ -4,6 +4,7 @@ var Navbar = $(".Navbar");
var NavbarLine = $(".NavbarLine");
var UserSearchBar = $("#UserSearchBar");
var SearchResults = $(".SearchResults");
+var SelectReceiver = $(".SelectReceiver");
var alerts = $("#alerts-page");
var ExploreData = $("#ExploreData");
@@ -182,4 +183,29 @@ UserSearchBar.keyup(function () {
alerts.ufAlerts().ufAlerts('fetch');
}
});
-}); \ No newline at end of file
+});
+
+/**
+ * SEVERAL API REQUESTS/REFRESHES
+ */
+// CHAT RECEIVERS -- more in chat.js
+$(document).ready(function () {
+ $.ajax({
+ url: site.uri.public + "/api/users/u/" + current_username + "/friends",
+ success: function (receivers) {
+ receivers.forEach(function (receiver) {
+ $.ajax({ // not that efficient...
+ url: site.uri.public + "/api/users/u/" + receiver.username,
+ success: function (receiversInfo) {
+ SelectReceiver.append("<div class='ReceiverSelector' data-username='" + receiversInfo.user_name + "' data-id='" + receiversInfo.id + "'><img class='Avatar' src='" + receiversInfo.avatar + "'/><div class='UsersFullName'>" + receiversInfo.full_name + "</div></div>");
+ }
+ });
+ })
+ },
+ error: function () {
+ console.log("%c[SEARCH LOGGER] User " + RequestedUser + " was not found!", "color: red");
+
+ alerts.ufAlerts().ufAlerts('fetch');
+ }
+ });
+});
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 5490b0a..cf1df91 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
@@ -103,7 +103,7 @@ class ChatProcessor implements MessageComponentInterface
}
break;
case "SetReceiver": // USER CLICKED ON NEW CHAT
-
+ $this->receiverID[$conn->resourceId] = $data->receiver;
break;
case "ChatMessage": // MESSAGE RECEIVED
if (isset($this->channels[$conn->resourceId])) {