@@ -234,18 +234,18 @@ $(document).on("click", ".connectToServer-btn", function () {
234234 var clientListDecrypt = JSON . parse ( decrypt ( clientList , secureKey ) ) ;
235235 console . log ( clientListDecrypt ) ;
236236 channels = [ ] ;
237- channels . push ( { name : "main" , socketId : "none" , messages : [ ] , publicKey : [ ] , clientKey : mainKey } ) ;
237+ channels . push ( { name : "main" , socketId : "none" , messages : [ ] , publicKey : [ ] , clientKey : mainKey , unread : 0 } ) ;
238238 clientListDecrypt . forEach ( function ( client ) {
239- channels . push ( { name : client . username , socketId : client . socketId , messages : [ ] , publicKey : client . publicKey , clientKey : client . clientKey } ) ;
239+ channels . push ( { name : client . username , socketId : client . socketId , messages : [ ] , publicKey : client . publicKey , clientKey : client . clientKey , unread : 0 } ) ;
240240 } ) ;
241241 $ ( ".users" ) . empty ( ) ;
242242 channels . forEach ( function ( channel ) {
243243 if ( channel . name == "main" ) {
244244 currentChannel = channel ;
245- $ ( ".users" ) . append ( $ ( "<a class='channel-button' channel-name='" + channel . name + "'>#" + channel . name + "</a>" ) ) ;
245+ $ ( ".users" ) . append ( $ ( "<a class='channel-button' channel-name='" + channel . name + "'>#" + channel . name + "<p class='notif notif-" + channel . name + "'>9+</p>< /a>") ) ;
246246 } else {
247247 if ( channel . name != username ) {
248- $ ( ".users" ) . append ( $ ( "<a class='channel-button' channel-name='" + channel . name + "'>@" + channel . name + "</a>" ) ) ;
248+ $ ( ".users" ) . append ( $ ( "<a class='channel-button' channel-name='" + channel . name + "'>@" + channel . name + "<p class='notif notif-" + channel . name + "'>2</p>< /a>") ) ;
249249 }
250250 }
251251 } ) ;
@@ -302,28 +302,24 @@ $(document).on("click", ".connectToServer-btn", function () {
302302 } ) ;
303303 socket . on ( "message" , function ( messageData , secureKey ) {
304304 var messageDataDecrypt = JSON . parse ( decrypt ( messageData , secureKey ) ) ;
305- if ( messageDataDecrypt . isMain ) {
306- currentChannel . messages . push ( { author : messageDataDecrypt . author , content : decrypt ( messageDataDecrypt . message , currentChannel . clientKey ) , signature : messageDataDecrypt . signature , isMain : messageDataDecrypt . isMain , checked : verify ( decrypt ( messageDataDecrypt . message , currentChannel . clientKey ) , messageDataDecrypt . signature , messageDataDecrypt . publicKey ) } ) ;
307- //var messageData = JSON.parse(decrypt(fs.readFileSync(path.join(process.env.APPDATA, "cryptoip", "data.bin")).toString(), keyHash));
308- /*if (messageData[currentServer].findIndex(p => p.name == messageDataDecrypt.author) != -1) {
309- messageData[currentServer][messageData[currentServer].findIndex(p => p.name == messageDataDecrypt.author)].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, currentChannel.clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, currentChannel.clientKey), messageDataDecrypt.signature, messageDataDecrypt.publicKey) });
310- } else {
311- messageData[currentServer].push(channels[0]);
312- }
313- fs.writeFileSync(path.join(process.env.APPDATA, "cryptoip", "data.bin"), encrypt(JSON.stringify(messageData), keyHash));*/
314- } else {
315- for ( var i = 0 ; i < channels . length ; i ++ ) {
316- if ( channels [ i ] . name == messageDataDecrypt . author ) {
317- channels [ i ] . messages . push ( { author : messageDataDecrypt . author , content : decrypt ( messageDataDecrypt . message , channels [ i ] . clientKey ) , signature : messageDataDecrypt . signature , isMain : messageDataDecrypt . isMain , checked : verify ( decrypt ( messageDataDecrypt . message , channels [ i ] . clientKey ) , messageDataDecrypt . signature , channels [ i ] . publicKey ) } ) ;
318- /*var messageData = JSON.parse(decrypt(fs.readFileSync(path.join(process.env.APPDATA, "cryptoip", "data.bin")).toString(), keyHash));
319- if (messageData[currentServer].findIndex(p => p.name == channels[i].name) != -1) {
320- messageData[currentServer][messageData[currentServer].findIndex(p => p.name == channels[i].name)].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, channels[i].clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, channels[i].clientKey), messageDataDecrypt.signature, channels[i].publicKey) });
321- } else {
322- messageData[currentServer].push(channels[i]);
323- }
324- fs.writeFileSync(path.join(process.env.APPDATA, "cryptoip", "data.bin"), encrypt(JSON.stringify(messageData), keyHash));*/
325- }
326- }
305+ // if (messageDataDecrypt.isMain) {
306+ // currentChannel.messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, currentChannel.clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, currentChannel.clientKey), messageDataDecrypt.signature, messageDataDecrypt.publicKey) });
307+ // //var messageData = JSON.parse(decrypt(fs.readFileSync(path.join(process.env.APPDATA, "cryptoip", "data.bin")).toString(), keyHash));
308+ // /*if (messageData[currentServer].findIndex(p => p.name == messageDataDecrypt.author) != -1) {
309+ // messageData[currentServer][messageData[currentServer].findIndex(p => p.name == messageDataDecrypt.author)].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, currentChannel.clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, currentChannel.clientKey), messageDataDecrypt.signature, messageDataDecrypt.publicKey) });
310+ // } else {
311+ // messageData[currentServer].push(channels[0]);
312+ // }
313+ // fs.writeFileSync(path.join(process.env.APPDATA, "cryptoip", "data.bin"), encrypt(JSON.stringify(messageData), keyHash));*/
314+ // } else {
315+ // channels[channels.findIndex(p => p.name == messageDataDecrypt.author)].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, channels[channels.findIndex(p => p.name == messageDataDecrypt.author)].clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, channels[channels.findIndex(p => p.name == messageDataDecrypt.author)].clientKey), messageDataDecrypt.signature, channels[channels.findIndex(p => p.name == messageDataDecrypt.author)].publicKey) });
316+ // channels[channels.findIndex(p => p.name == messageDataDecrypt.author)].unread++;
317+ // }
318+ var tofind = messageDataDecrypt . isMain ? "main" : messageDataDecrypt . author ;
319+ channels [ channels . findIndex ( p => p . name == tofind ) ] . messages . push ( { author : messageDataDecrypt . author , content : decrypt ( messageDataDecrypt . message , channels [ channels . findIndex ( p => p . name == tofind ) ] . clientKey ) , signature : messageDataDecrypt . signature , isMain : messageDataDecrypt . isMain , checked : messageDataDecrypt . isMain ? verify ( decrypt ( messageDataDecrypt . message , channels [ channels . findIndex ( p => p . name == tofind ) ] . clientKey ) , messageDataDecrypt . signature , messageDataDecrypt . publicKey ) : verify ( decrypt ( messageDataDecrypt . message , channels [ channels . findIndex ( p => p . name == tofind ) ] . clientKey ) , messageDataDecrypt . signature , channels [ channels . findIndex ( p => p . name == tofind ) ] . publicKey ) } ) ;
320+ if ( currentChannel . name != channels [ channels . findIndex ( p => p . name == tofind ) ] . name ) {
321+ channels [ channels . findIndex ( p => p . name == tofind ) ] . unread ++ ;
322+ $ ( ".notif-" + channels [ channels . findIndex ( p => p . name == tofind ) ] . name ) . text ( channels [ channels . findIndex ( p => p . name == tofind ) ] . unread > 8 ? "9+" : channels [ channels . findIndex ( p => p . name == tofind ) ] . unread ) ;
327323 }
328324 $ ( ".messages" ) . empty ( ) ;
329325
@@ -383,6 +379,7 @@ function switchChannel(channel) {
383379 $ ( ".currentChannel-name" ) . text ( element . name ) ;
384380 $ ( ".message-send" ) . attr ( 'placeholder' , 'Message to ' + element . name ) ;
385381 currentChannel = element ;
382+ $ ( ".notif-" + element . name ) . text ( "0" ) ;
386383 $ ( ".messages" ) . empty ( ) ;
387384 currentChannel . messages . forEach ( ( message ) => {
388385 var color = message . checked ? '#19b019' : '#b02819' ;
@@ -398,7 +395,14 @@ function switchChannel(channel) {
398395 }
399396 } ) ;
400397}
401-
398+ setInterval ( ( ) => {
399+ $ ( '.notif' ) . each ( function ( index ) {
400+ if ( this . textContent == "0" )
401+ $ ( this ) . css ( "display" , "none" ) ;
402+ else
403+ $ ( this ) . css ( "display" , "block" ) ;
404+ } ) ;
405+ } )
402406function clearCallButtons ( ) {
403407 $ ( ".mute-btn" ) . css ( "display" , "none" ) ;
404408 $ ( ".muted-btn" ) . css ( "display" , "none" ) ;
0 commit comments