From 8e89ac2fb5aae504c5eb0f375d34b8f9b8b3832d Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 16 Nov 2019 11:43:57 -0600 Subject: [PATCH] Leaderboard live update fix --- codebox/static/coffee/leaderboard_update.coffee | 4 +++- codebox/static/js/leaderboard_update.js | 6 ++++-- codebox/static/js/leaderboard_update.js.map | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/codebox/static/coffee/leaderboard_update.coffee b/codebox/static/coffee/leaderboard_update.coffee index 3864935..24818dc 100644 --- a/codebox/static/coffee/leaderboard_update.coffee +++ b/codebox/static/coffee/leaderboard_update.coffee @@ -5,8 +5,10 @@ $time_left = null $progress_meter = null duration = 0 +competition_name = (window.location.pathname.split '/')[1] + updateLeaderboard = -> - $.get '/leaderboard/update', {}, (html, _, data) -> + $.get "/#{competition_name}/leaderboard/update", {}, (html, _, data) -> $('#leaderboard-container').html html updateTime = -> diff --git a/codebox/static/js/leaderboard_update.js b/codebox/static/js/leaderboard_update.js index bdfdfd7..aa011b5 100644 --- a/codebox/static/js/leaderboard_update.js +++ b/codebox/static/js/leaderboard_update.js @@ -1,6 +1,6 @@ // Generated by CoffeeScript 2.4.1 (function() { - var $progress_meter, $time_left, duration, end_time, start_time, updateLeaderboard, updateTime; + var $progress_meter, $time_left, competition_name, duration, end_time, start_time, updateLeaderboard, updateTime; start_time = 0; @@ -12,8 +12,10 @@ duration = 0; + competition_name = (window.location.pathname.split('/'))[1]; + updateLeaderboard = function() { - return $.get('/leaderboard/update', {}, function(html, _, data) { + return $.get(`/${competition_name}/leaderboard/update`, {}, function(html, _, data) { return $('#leaderboard-container').html(html); }); }; diff --git a/codebox/static/js/leaderboard_update.js.map b/codebox/static/js/leaderboard_update.js.map index bb5bf8e..ba95931 100644 --- a/codebox/static/js/leaderboard_update.js.map +++ b/codebox/static/js/leaderboard_update.js.map @@ -6,8 +6,8 @@ "coffee/leaderboard_update.coffee" ], "names": [], - "mappings": "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", + "mappings": "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", "sourcesContent": [ - "start_time = 0\nend_time = 0\n\n$time_left = null\n$progress_meter = null\nduration = 0\n\nupdateLeaderboard = ->\n\t$.get '/leaderboard/update', {}, (html, _, data) ->\n\t\t$('#leaderboard-container').html html\n\nupdateTime = ->\n\tcurr_time = Date.now()\n\n\ttime_elapsed = curr_time - start_time\n\tpercent = time_elapsed / duration\n\tif percent > 1 then percent = 1\n\t$progress_meter.css 'width', \"#{percent * 100}%\"\n\n\ttime_left = end_time - curr_time\n\tif time_left < 0\n\t\t$time_left.html \"Competition is over\"\n\t\treturn\n\n\thours = Math.floor(time_left / (1000 * 60 * 60))\n\tminutes = Math.floor(time_left / (1000 * 60)) - hours * 60\n\tseconds = Math.floor(time_left / 1000) - hours * 60 * 60 - minutes * 60\n\n\tmsg = \"\"\n\tif hours > 0 then msg += \"#{hours} hour#{if hours != 1 then \"s\" else \"\"}, \"\n\tif minutes > 0 or hours > 0 then msg += \"#{minutes} minute#{if minutes != 1 then \"s\" else \"\"}, \"\n\tmsg += \"#{seconds} second#{if seconds != 1 then \"s\" else \"\"} left\"\n\n\t$time_left.html msg\n\n\tsetTimeout updateTime, 1000\n\n$(document).ready ->\n\tsocket = io()\n\tsocket.emit \"request-leaderboard-updates\"\n\n\t$time_left = $ '#time-left'\n\t$progress_meter = $ '#progress-meter'\n\n\tcomp_info = $ '#comp-info'\n\tstart_time = (comp_info.attr 'data-start') * 1000\n\tend_time = (comp_info.attr 'data-end') * 1000\n\tduration = end_time - start_time\n\n\tsetTimeout updateTime, 0\n\n\tsocket.on 'update', ->\n\t\tupdateLeaderboard()\n" + "start_time = 0\nend_time = 0\n\n$time_left = null\n$progress_meter = null\nduration = 0\n\ncompetition_name = (window.location.pathname.split '/')[1]\n\nupdateLeaderboard = ->\n\t$.get \"/#{competition_name}/leaderboard/update\", {}, (html, _, data) ->\n\t\t$('#leaderboard-container').html html\n\nupdateTime = ->\n\tcurr_time = Date.now()\n\n\ttime_elapsed = curr_time - start_time\n\tpercent = time_elapsed / duration\n\tif percent > 1 then percent = 1\n\t$progress_meter.css 'width', \"#{percent * 100}%\"\n\n\ttime_left = end_time - curr_time\n\tif time_left < 0\n\t\t$time_left.html \"Competition is over\"\n\t\treturn\n\n\thours = Math.floor(time_left / (1000 * 60 * 60))\n\tminutes = Math.floor(time_left / (1000 * 60)) - hours * 60\n\tseconds = Math.floor(time_left / 1000) - hours * 60 * 60 - minutes * 60\n\n\tmsg = \"\"\n\tif hours > 0 then msg += \"#{hours} hour#{if hours != 1 then \"s\" else \"\"}, \"\n\tif minutes > 0 or hours > 0 then msg += \"#{minutes} minute#{if minutes != 1 then \"s\" else \"\"}, \"\n\tmsg += \"#{seconds} second#{if seconds != 1 then \"s\" else \"\"} left\"\n\n\t$time_left.html msg\n\n\tsetTimeout updateTime, 1000\n\n$(document).ready ->\n\tsocket = io()\n\tsocket.emit \"request-leaderboard-updates\"\n\n\t$time_left = $ '#time-left'\n\t$progress_meter = $ '#progress-meter'\n\n\tcomp_info = $ '#comp-info'\n\tstart_time = (comp_info.attr 'data-start') * 1000\n\tend_time = (comp_info.attr 'data-end') * 1000\n\tduration = end_time - start_time\n\n\tsetTimeout updateTime, 0\n\n\tsocket.on 'update', ->\n\t\tupdateLeaderboard()\n" ] } \ No newline at end of file -- 2.25.1