Continue work on clientside

This commit is contained in:
calzoneman 2013-12-18 23:50:19 -05:00
parent 5c40a72d47
commit afff414aad
3 changed files with 47 additions and 94 deletions

View file

@ -181,5 +181,6 @@ html(lang="en")
// $('#channeloptions a[href="#cs-miscoptions"]').tab('show'); // $('#channeloptions a[href="#cs-miscoptions"]').tab('show');
script(src="/assets/js/data.js") script(src="/assets/js/data.js")
script(src="/assets/js/util.js") script(src="/assets/js/util.js")
script(src="/assets/js/paginator.js")
script(src="/assets/js/ui.js") script(src="/assets/js/ui.js")
script(src="/assets/js/callbacks.js") script(src="/assets/js/callbacks.js")

View file

@ -619,6 +619,10 @@ Callbacks = {
/* REGION Rank Stuff */ /* REGION Rank Stuff */
rank: function(r) { rank: function(r) {
if (r > -1) {
$("#guestlogin").hide();
$("#chatline").show();
}
if(r >= 255) if(r >= 255)
SUPERADMIN = true; SUPERADMIN = true;
CLIENT.rank = r; CLIENT.rank = r;
@ -657,13 +661,6 @@ Callbacks = {
} }
}, },
/* should not be relevant since registration is on account.html */
register: function(data) {
if(data.error) {
alert(data.error);
}
},
login: function(data) { login: function(data) {
if(!data.success) { if(!data.success) {
if(data.error != "Session expired") { if(data.error != "Session expired") {
@ -671,17 +668,8 @@ Callbacks = {
} }
} }
else { else {
$("#welcome").text("Logged in as " + data.name);
$("#loginform").css("display", "none");
$("#logoutform").css("display", "");
$("#loggedin").css("display", "");
SESSION = data.session || "";
CLIENT.name = data.name; CLIENT.name = data.name;
CLIENT.logged_in = true; CLIENT.logged_in = true;
if(SESSION) {
createCookie("cytube_uname", CLIENT.name, 7);
createCookie("cytube_session", SESSION, 7);
}
} }
}, },
@ -709,7 +697,7 @@ Callbacks = {
}, },
userlist: function(data) { userlist: function(data) {
$(".userlist_item").each(function() { $(this).remove(); }); $(".userlist_item").remove();
for(var i = 0; i < data.length; i++) { for(var i = 0; i < data.length; i++) {
Callbacks.addUser(data[i]); Callbacks.addUser(data[i]);
} }
@ -722,11 +710,11 @@ Callbacks = {
user.remove(); user.remove();
var div = $("<div/>") var div = $("<div/>")
.addClass("userlist_item"); .addClass("userlist_item");
var flair = $("<span/>").appendTo(div); var icon = $("<span/>").appendTo(div);
var nametag = $("<span/>").text(data.name).appendTo(div); var nametag = $("<span/>").text(data.name).appendTo(div);
div.data("name", data.name); div.data("name", data.name);
div.data("rank", data.rank); div.data("rank", data.rank);
div.data("leader", false); div.data("leader", Boolean(data.leader));
div.data("profile", data.profile); div.data("profile", data.profile);
div.data("icon", data.meta.icon); div.data("icon", data.meta.icon);
div.data("afk", data.meta.afk); div.data("afk", data.meta.afk);
@ -746,7 +734,7 @@ Callbacks = {
setLeader: function (name) { setLeader: function (name) {
$(".userlist_item").each(function () { $(".userlist_item").each(function () {
$(this).find(".icon-star-empty").remove(); $(this).find(".glyphicon-star-empty").remove();
if ($(this).data("leader")) { if ($(this).data("leader")) {
$(this).data("leader", false); $(this).data("leader", false);
addUserDropdown($(this)); addUserDropdown($(this));
@ -808,43 +796,6 @@ Callbacks = {
formatUserlistItem(user); formatUserlistItem(user);
}, },
/* DEPRECATED
SEE:
- setUserIcon
- setAFK
- setLeader
- setUserProfile
- setUserRank
*/
updateUser: function(data) {
if(data.name == CLIENT.name) {
CLIENT.leader = data.leader;
CLIENT.rank = data.rank;
handlePermissionChange();
if(CLIENT.leader) {
// I'm a leader! Set up sync function
if(LEADTMR)
clearInterval(LEADTMR);
LEADTMR = setInterval(sendVideoUpdate, 5000);
}
// I'm not a leader. Don't send syncs to the server
else {
if(LEADTMR)
clearInterval(LEADTMR);
LEADTMR = false;
}
}
var user = findUserlistItem(data.name);
if(user !== null) {
user.data("rank", data.rank);
formatUserlistItem(user, data);
addUserDropdown(user, data);
if(USEROPTS.sort_rank)
sortUserlist();
}
},
setAFK: function (data) { setAFK: function (data) {
var user = findUserlistItem(data.name); var user = findUserlistItem(data.name);
if(user === null) if(user === null)
@ -940,7 +891,7 @@ Callbacks = {
}, },
queueFail: function (data) { queueFail: function (data) {
queueMessage(data, "alert-error"); queueMessage(data, "alert-danger");
}, },
setTemp: function(data) { setTemp: function(data) {
@ -1038,16 +989,16 @@ Callbacks = {
.addClass("btn-success") .addClass("btn-success")
.attr("title", "Playlist Unlocked"); .attr("title", "Playlist Unlocked");
$("#qlockbtn").find("i") $("#qlockbtn").find("i")
.removeClass("icon-lock") .removeClass("glyphicon-lock")
.addClass("icon-ok"); .addClass("glyphicon-ok");
} }
else { else {
$("#qlockbtn").removeClass("btn-success") $("#qlockbtn").removeClass("btn-success")
.addClass("btn-danger") .addClass("btn-danger")
.attr("title", "Playlist Locked"); .attr("title", "Playlist Locked");
$("#qlockbtn").find("i") $("#qlockbtn").find("i")
.removeClass("icon-ok") .removeClass("glyphicon-ok")
.addClass("icon-lock"); .addClass("glyphicon-lock");
} }
}, },
@ -1055,8 +1006,7 @@ Callbacks = {
$("#search_clear").remove(); $("#search_clear").remove();
clearSearchResults(); clearSearchResults();
$("#library").data("entries", data.results); $("#library").data("entries", data.results);
$("<button/>").addClass("btn btn-block") $("<button/>").addClass("btn btn-default btn-sm btn-block")
.addClass("span12")
.css("margin-left", "0") .css("margin-left", "0")
.attr("id", "search_clear") .attr("id", "search_clear")
.text("Clear Results") .text("Clear Results")
@ -1102,7 +1052,7 @@ Callbacks = {
.appendTo(poll) .appendTo(poll)
.click(function() { poll.remove(); }); .click(function() { poll.remove(); });
if(hasPermission("pollctl")) { if(hasPermission("pollctl")) {
$("<button/>").addClass("btn btn-danger pull-right").text("End Poll") $("<button/>").addClass("btn btn-danger btn-sm pull-right").text("End Poll")
.appendTo(poll) .appendTo(poll)
.click(function() { .click(function() {
socket.emit("closePoll") socket.emit("closePoll")
@ -1121,7 +1071,7 @@ Callbacks = {
}); });
$(this).parent().addClass("option-selected"); $(this).parent().addClass("option-selected");
} }
$("<button/>").addClass("btn").text(data.counts[i]) $("<button/>").addClass("btn btn-default btn-sm").text(data.counts[i])
.prependTo($("<div/>").addClass("option").html(data.options[i]) .prependTo($("<div/>").addClass("option").html(data.options[i])
.appendTo(poll)) .appendTo(poll))
.click(callback); .click(callback);
@ -1159,7 +1109,7 @@ Callbacks = {
makeAlert("Success", "Playlist saved.", "alert-success"); makeAlert("Success", "Playlist saved.", "alert-success");
} }
else { else {
makeAlert("Error", data.error, "alert-error") makeAlert("Error", data.error, "alert-danger")
.addClass("span12") .addClass("span12")
.insertBefore($("#userpl_list")); .insertBefore($("#userpl_list"));
} }
@ -1167,8 +1117,7 @@ Callbacks = {
listPlaylists: function(data) { listPlaylists: function(data) {
if(data.error) { if(data.error) {
makeAlert("Error", data.error, "alert-error") makeAlert("Error", data.error, "alert-danger")
.addClass("span12")
.insertBefore($("#userpl_list")); .insertBefore($("#userpl_list"));
} }
else { else {
@ -1200,9 +1149,9 @@ Callbacks = {
.css("float", "left") .css("float", "left")
.prependTo(li); .prependTo(li);
var del = $("<button/>") var del = $("<button/>")
.addClass("btn btn-mini btn-danger") .addClass("btn btn-xs btn-danger")
.prependTo(bg); .prependTo(bg);
$("<i/>").addClass("icon-trash").appendTo(del); $("<span/>").addClass("glyphicon glyphicon-trash").appendTo(del);
(function(li) { (function(li) {
del.click(function() { del.click(function() {
var go = confirm("Are you sure you want to delete playlist '" + li.data("pl-name") + "'?"); var go = confirm("Are you sure you want to delete playlist '" + li.data("pl-name") + "'?");
@ -1215,7 +1164,7 @@ Callbacks = {
})(li); })(li);
if(hasPermission("playlistaddlist")) { if(hasPermission("playlistaddlist")) {
(function(li) { (function(li) {
$("<button/>").addClass("btn btn-mini") $("<button/>").addClass("btn btn-xs btn-default")
.text("End") .text("End")
.prependTo(bg) .prependTo(bg)
.click(function() { .click(function() {
@ -1228,7 +1177,7 @@ Callbacks = {
if(hasPermission("playlistnext")) { if(hasPermission("playlistnext")) {
(function(li) { (function(li) {
$("<button/>").addClass("btn btn-mini") $("<button/>").addClass("btn btn-xs btn-default")
.text("Next") .text("Next")
.prependTo(bg) .prependTo(bg)
.click(function() { .click(function() {

View file

@ -53,6 +53,8 @@ function formatURL(data) {
return "http://imgur.com/a/" + data.id; return "http://imgur.com/a/" + data.id;
case "us": case "us":
return "http://ustream.tv/" + data.id; return "http://ustream.tv/" + data.id;
case "gd":
return data.id;
default: default:
return "#"; return "#";
} }
@ -117,18 +119,18 @@ function formatUserlistItem(div) {
name.mouseleave(function() { name.mouseleave(function() {
profile.remove(); profile.remove();
}); });
var flair = div.children()[0]; var icon = div.children()[0];
flair.innerHTML = ""; icon.innerHTML = "";
// denote current leader with a star // denote current leader with a star
if(data.leader) { if(data.leader) {
$("<i/>").addClass("icon-star-empty").appendTo(flair); $("<span/>").addClass("glyphicon glyphicon-star-empty").appendTo(icon);
} }
if(data.afk) { if(data.afk) {
name.css("font-style", "italic"); name.css("font-style", "italic");
$("<i/>").addClass("icon-time").appendTo(flair); $("<span/>").addClass("glyphicon glyphicon-time").appendTo(icon);
} }
if (data.icon) { if (data.icon) {
$("<i/>").addClass(data.icon).prependTo(flair); $("<span/>").addClass(data.icon).prependTo(icon);
} }
} }
@ -165,7 +167,7 @@ function addUserDropdown(entry) {
*/ */
if(CLIENT.rank >= 3 && CLIENT.rank > rank && rank > 0 && rank != 1.5) { if(CLIENT.rank >= 3 && CLIENT.rank > rank && rank > 0 && rank != 1.5) {
var sel = $("<select/>") var sel = $("<select/>")
.addClass("input-block-level") .addClass("form-control")
.appendTo(menu); .appendTo(menu);
$("<option/>").attr("value", "1").text("Regular User") $("<option/>").attr("value", "1").text("Regular User")
.appendTo(sel); .appendTo(sel);
@ -190,7 +192,7 @@ function addUserDropdown(entry) {
} }
/* ignore button */ /* ignore button */
var ignore = $("<button/>").addClass("btn btn-mini btn-block") var ignore = $("<button/>").addClass("btn btn-xs btn-default btn-block")
.appendTo(menu) .appendTo(menu)
.click(function () { .click(function () {
if(IGNORED.indexOf(name) == -1) { if(IGNORED.indexOf(name) == -1) {
@ -209,7 +211,7 @@ function addUserDropdown(entry) {
/* gib/remove leader (moderator+ only) */ /* gib/remove leader (moderator+ only) */
if(CLIENT.rank >= 2) { if(CLIENT.rank >= 2) {
var ldr = $("<button/>").addClass("btn btn-mini btn-block") var ldr = $("<button/>").addClass("btn btn-xs btn-default btn-block")
.appendTo(menu); .appendTo(menu);
if(leader) { if(leader) {
ldr.text("Remove Leader"); ldr.text("Remove Leader");
@ -230,7 +232,7 @@ function addUserDropdown(entry) {
/* kick button */ /* kick button */
if(hasPermission("kick")) { if(hasPermission("kick")) {
$("<button/>").addClass("btn btn-mini btn-block") $("<button/>").addClass("btn btn-xs btn-default btn-block")
.text("Kick") .text("Kick")
.click(function () { .click(function () {
socket.emit("chatMsg", { socket.emit("chatMsg", {
@ -242,7 +244,7 @@ function addUserDropdown(entry) {
/* ban buttons */ /* ban buttons */
if(hasPermission("ban")) { if(hasPermission("ban")) {
$("<button/>").addClass("btn btn-mini btn-block") $("<button/>").addClass("btn btn-xs btn-default btn-block")
.text("Name Ban") .text("Name Ban")
.click(function () { .click(function () {
socket.emit("chatMsg", { socket.emit("chatMsg", {
@ -250,7 +252,7 @@ function addUserDropdown(entry) {
}); });
}) })
.appendTo(menu); .appendTo(menu);
$("<button/>").addClass("btn btn-mini btn-block") $("<button/>").addClass("btn btn-xs btn-default btn-block")
.text("IP Ban") .text("IP Ban")
.click(function () { .click(function () {
socket.emit("chatMsg", { socket.emit("chatMsg", {
@ -323,8 +325,8 @@ function sortUserlist() {
list.sort(function (a, b) { list.sort(function (a, b) {
var r1 = $(a).data("rank"); var r1 = $(a).data("rank");
var r2 = $(b).data("rank"); var r2 = $(b).data("rank");
var afk1 = $(a).find(".icon-time").length > 0; var afk1 = $(a).find(".glyphicon-time").length > 0;
var afk2 = $(b).find(".icon-time").length > 0; var afk2 = $(b).find(".glyphicon-time").length > 0;
var name1 = a.children[1].innerHTML.toLowerCase(); var name1 = a.children[1].innerHTML.toLowerCase();
var name2 = b.children[1].innerHTML.toLowerCase(); var name2 = b.children[1].innerHTML.toLowerCase();
@ -422,8 +424,8 @@ function addQueueButtons(li) {
var menu = $("<div/>").addClass("btn-group").appendTo(li); var menu = $("<div/>").addClass("btn-group").appendTo(li);
// Play // Play
if(hasPermission("playlistjump")) { if(hasPermission("playlistjump")) {
$("<button/>").addClass("btn btn-mini qbtn-play") $("<button/>").addClass("btn btn-xs btn-default qbtn-play")
.html("<i class='icon-play'></i>Play") .html("<span class='glyphicon glyphicon-play'></i>Play")
.click(function() { .click(function() {
socket.emit("jumpTo", li.data("uid")); socket.emit("jumpTo", li.data("uid"));
}) })
@ -431,8 +433,8 @@ function addQueueButtons(li) {
} }
// Queue next // Queue next
if(hasPermission("playlistmove")) { if(hasPermission("playlistmove")) {
$("<button/>").addClass("btn btn-mini qbtn-next") $("<button/>").addClass("btn btn-xs btn-default qbtn-next")
.html("<i class='icon-share-alt'></i>Queue Next") .html("<span class='glyphicon glyphicon-share-alt'></i>Queue Next")
.click(function() { .click(function() {
socket.emit("moveMedia", { socket.emit("moveMedia", {
from: li.data("uid"), from: li.data("uid"),
@ -444,8 +446,8 @@ function addQueueButtons(li) {
// Temp/Untemp // Temp/Untemp
if(hasPermission("settemp")) { if(hasPermission("settemp")) {
var tempstr = li.data("temp")?"Make Permanent":"Make Temporary"; var tempstr = li.data("temp")?"Make Permanent":"Make Temporary";
$("<button/>").addClass("btn btn-mini qbtn-tmp") $("<button/>").addClass("btn btn-xs btn-default qbtn-tmp")
.html("<i class='icon-flag'></i>" + tempstr) .html("<span class='glyphicon glyphicon-flag'></i>" + tempstr)
.click(function() { .click(function() {
socket.emit("setTemp", { socket.emit("setTemp", {
uid: li.data("uid"), uid: li.data("uid"),
@ -456,8 +458,8 @@ function addQueueButtons(li) {
} }
// Delete // Delete
if(hasPermission("playlistdelete")) { if(hasPermission("playlistdelete")) {
$("<button/>").addClass("btn btn-mini qbtn-delete") $("<button/>").addClass("btn btn-xs btn-default qbtn-delete")
.html("<i class='icon-trash'></i>Delete") .html("<span class='glyphicon glyphicon-trash'></i>Delete")
.click(function() { .click(function() {
socket.emit("delete", li.data("uid")); socket.emit("delete", li.data("uid"));
}) })
@ -522,6 +524,7 @@ function rebuildPlaylist() {
/* menus */ /* menus */
/* user settings menu */ /* user settings menu */
// TODO fix this
function showOptionsMenu() { function showOptionsMenu() {
hidePlayer(); hidePlayer();
var modal = $("<div/>").addClass("modal hide fade") var modal = $("<div/>").addClass("modal hide fade")