Merge branch 'master' of github.com:nixolas1/Zoff

This commit is contained in:
Nicolas A. Tonne
2015-05-13 12:18:13 +02:00
5 changed files with 83 additions and 6 deletions

View File

@@ -144,6 +144,16 @@
<div class="collapsible-body" style="display: block;">
<ul id="chat">
<div class="row">
<div class="col s12">
<ul class="tabs">
<li class="tab col s3 chat-tab-li"><a class="active chat-tab truncate" href="#channelchat"><?php echo $list; ?></a></li>
<li class="tab col s3 chat-tab-li"><a class="chat-tab" href="#all_chat">All</a></li>
</ul>
</div>
<div id="channelchat" class="col s12"><ul id="chatchannel"></ul></div>
<div id="all_chat" class="col s12"><ul id="chatall"></ul></div>
</div>
</ul>
</div>
</li>

View File

@@ -42,6 +42,13 @@ io.on('connection', function(socket){
io.sockets.emit('chat,'+coll, rndName(guid) + ": " + data);
});
socket.on("all,chat", function(data)
{
check_inlist(coll, guid, socket);
if(data != "" && data !== undefined && data !== null && data.length < 151 && data.replace(/\s/g, '').length)
io.sockets.emit('chat.all', rndName(guid) + ": " + data);
});
socket.on('frontpage_lists', function()
{
var playlists_to_send = [];

View File

@@ -192,9 +192,28 @@ hide mdi-action-visibility mdi-action-visibility-off
/*------------------- Channel page ---------------------------------------------------------------------------- */
.tab a {
background-color:rgba(0,0,0,0) !important;
}
.chat-tab, .chat-tab-li {
color:black !important;
margin:0 !important;
}
.indicator {
background-color:black !important;
}
#chatchannel, #chatall {
height: calc(100% - 49px);
overflow-y:scroll;
text-align:left;
word-wrap:break-word;
}
#chat {
height: calc(100% - 121px);
overflow-y: scroll;
text-align:left;
word-wrap:break-word;
}

View File

@@ -1,11 +1,15 @@
var blink_interval;
var blink_interval_exists = false;
var unseen = false;
function chat(data)
{
if(data.value.length > 150)
return;
socket.emit("chat", data.value);
if($(".tab a.active").attr("href") == "#all_chat")
socket.emit("all,chat", data.value);
else
socket.emit("chat", data.value);
data.value = "";
return;
}
@@ -17,9 +21,46 @@ document.getElementById("chat-btn").addEventListener("click", function(){
$("#chat-btn i").css("opacity", 1);
clearInterval(blink_interval);
blink_interval_exists = false;
unseen = false;
$("#favicon").attr("href", "static/images/favicon.png");
});
$(".chat-tab").click(function(){
$("#text-chat-input").focus();
});
socket.on("chat.all", function(data)
{
if($("#chat-bar").position()["left"] != 0)
{
//$("#chat-btn").css("color", "grey");
if(!blink_interval_exists)
{
$("#favicon").attr("href", "static/images/highlogo.png");
blink_interval_exists = true;
unseen = true;
blink_interval = setInterval(chat_blink, 2000);
}
}else if(document.hidden)
{
$("#favicon").attr("href", "static/images/highlogo.png");
unseen = true;
}
var color = intToARGB(hashCode(data.substring(0,8))).substring(0,6);
$("#chatall").append("<li><span style='color:"+color+";'>"+data.substring(0,8)+"</span></li>");
var in_text = document.createTextNode(data.substring(8));
$("#chatall li:last")[0].appendChild(in_text);
document.getElementById("chatall").scrollTop = document.getElementById("chatall").scrollHeight
});
$(window).focus(function(){
if(unseen)
{
$("#favicon").attr("href", "static/images/favicon.png");
unseen = false;
}
});
socket.on("chat,"+chan.toLowerCase(), function(data)
{
if($("#chat-bar").position()["left"] != 0)
@@ -33,10 +74,10 @@ socket.on("chat,"+chan.toLowerCase(), function(data)
}
}
var color = intToARGB(hashCode(data.substring(0,8))).substring(0,6);
$("#chat").append("<li><span style='color:"+color+";'>"+data.substring(0,8)+"</span></li>");
$("#chatchannel").append("<li><span style='color:"+color+";'>"+data.substring(0,8)+"</span></li>");
var in_text = document.createTextNode(data.substring(8));
$("#chat li:last")[0].appendChild(in_text);
document.getElementById("chat").scrollTop = document.getElementById("chat").scrollHeight
$("#chatchannel li:last")[0].appendChild(in_text);
document.getElementById("chatchannel").scrollTop = document.getElementById("chatchannel").scrollHeight
});
function chat_blink()

View File

@@ -83,7 +83,7 @@ $(document).ready(function()
$("#chat-btn").sideNav({
menuWidth: 272, // Default is 240
edge: 'left', // Choose the horizontal origin
closeOnClick: true // Closes side-nav on <a> clicks, useful for Angular/Meteor
closeOnClick: false // Closes side-nav on <a> clicks, useful for Angular/Meteor
});
$('#settings-close').sideNav('hide');