diff --git a/html/ptg.html b/html/ptg.html
index 170bc60..293a56f 100644
--- a/html/ptg.html
+++ b/html/ptg.html
@@ -38,7 +38,7 @@
{{#each tracks as |track| }}
{{#if (lookup @root.now track) }}
- {{track}} |
+ {{trackbadge track}} |
{{#trackContentLine}}{{lookup @root.now track}}{{/trackContentLine}} |
{{lookup @root.location track}} |
@@ -59,7 +59,7 @@
{{#each tracks as |track| }}
{{#if (lookup @root.next track) }}
- {{track}} |
+ {{trackbadge track}} |
{{#each (lookup @root.next track) as |item|}}
{{#trackContentLine}}{{item}}{{/trackContentLine}}
diff --git a/html/ptg.js b/html/ptg.js
index bc0fbb9..69fd3e8 100644
--- a/html/ptg.js
+++ b/html/ptg.js
@@ -32,6 +32,31 @@ Handlebars.registerHelper('roomactive',
return false;
});
+function checkins_tooltip(track) {
+ var room_checkins = checkins['#' + track];
+ if (room_checkins) {
+ var attendees = room_checkins.map(function(checkin) {
+ return checkin.nick;
+ }).sort();
+ return 'Checked in here: ' + attendees.join(", ");
+ } else {
+ return "No one is checked in here. " +
+ "DM the bot 'in #" + track + "' to check in.";
+ }
+}
+
+function track_badge(track) {
+ var title = checkins_tooltip(track);
+ return '' + track;
+}
+
+Handlebars.registerHelper('trackbadge',
+ function(track) {
+ return new Handlebars.SafeString(track_badge(track));
+});
+
Handlebars.registerHelper('roomcode',
function(schedule, room, timecode, s) {
var cell = '';
@@ -43,19 +68,7 @@ Handlebars.registerHelper('roomcode',
cell = '' + room + "-" + timecode + '';
}
} else {
- var track = schedule[room][timecode];
- var room_checkins = checkins['#' + track];
- var title = "No one is checked in here. " +
- "DM the bot 'in #" + track + "' to check in.";
- if (room_checkins) {
- var attendees = room_checkins.map(function(checkin) {
- return checkin.nick;
- }).sort();
- title = 'Checked in here: ' + attendees.join(", ");
- }
- cell = '' + track;
+ cell = track_badge(schedule[room][timecode]);
}
}
return new Handlebars.SafeString(cell);
|