aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/css/_room.less4
-rw-r--r--assets/css/_schedule.less (renamed from assets/css/_program.less)32
-rw-r--r--assets/css/_structure.less24
-rw-r--r--assets/js/lustiges-script.js48
-rw-r--r--template/assemblies/schedule.phtml (renamed from template/assemblies/program.phtml)26
-rw-r--r--template/room.phtml4
6 files changed, 66 insertions, 72 deletions
diff --git a/assets/css/_room.less b/assets/css/_room.less
index 2309c32..aa0f594 100644
--- a/assets/css/_room.less
+++ b/assets/css/_room.less
@@ -78,7 +78,7 @@
}
}
- #program {
- @import "_program.less";
+ #schedule {
+ @import "_schedule.less";
}
}
diff --git a/assets/css/_program.less b/assets/css/_schedule.less
index 68ab310..0151154 100644
--- a/assets/css/_program.less
+++ b/assets/css/_schedule.less
@@ -1,4 +1,4 @@
-.program {
+.schedule {
&.scroll-container {
overflow: hidden;
overflow-x: scroll;
@@ -17,7 +17,7 @@
left: 0;
width: 150px;
height: 100%;
- background-color: @program-now-bg;
+ background-color: @schedule-now-bg;
font-size: 14px;
//z-index: -5;
@@ -26,7 +26,7 @@
display: block;
position: absolute;
right: -28px;
- color: @program-now;
+ color: @schedule-now;
}
}
@@ -42,7 +42,7 @@
padding: 10px;
- border: 1px solid @program-border;
+ border: 1px solid @schedule-border;
h3 {
margin: 0;
@@ -58,7 +58,7 @@
h4 {
margin: 3px 0;
- color: @program-room;
+ color: @schedule-room;
font-size: 14px;
@media (max-width: @screen-xs-max) {
@@ -66,7 +66,7 @@
}
a {
- color: @program-room;
+ color: @schedule-room;
}
}
@@ -75,7 +75,7 @@
margin: 0;
}
- color: @program-author;
+ color: @schedule-author;
}
&.event h3 {
@@ -84,25 +84,25 @@
&.gap {
background-image: url("@{img}/stripes/gap.png");
- background-color: @program-gap-bg;
- color: @program-gap;
- text-shadow: 0 0 3px @program-gap;
+ background-color: @schedule-gap-bg;
+ color: @schedule-gap;
+ text-shadow: 0 0 3px @schedule-gap;
}
&.daychange {
background-image: url("@{img}/stripes/gap.png");
- background-color: @program-daychange-bg;
- color: @program-daychange;
- text-shadow: 0 0 3px @program-daychange;
+ background-color: @schedule-daychange-bg;
+ color: @schedule-daychange;
+ text-shadow: 0 0 3px @schedule-daychange;
}
&.pause {
- background-color: @program-pause-bg;
- color: @program-pause;
+ background-color: @schedule-pause-bg;
+ color: @schedule-pause;
}
}
.room.highlight .block {
- background-color: @program-selected-room;
+ background-color: @schedule-selected-room;
}
}
diff --git a/assets/css/_structure.less b/assets/css/_structure.less
index e5d1e35..836de2b 100644
--- a/assets/css/_structure.less
+++ b/assets/css/_structure.less
@@ -11,23 +11,23 @@
@jumbo-font-size-xs: 2.5em;
@jumbo-line-height: 45px;
-@program-now: @brand-danger;
-@program-now-bg: fade(lighten(@brand-danger, 5%), 60%);
-@program-border: lighten(@brand-primary, 50%);
+@schedule-now: @brand-danger;
+@schedule-now-bg: fade(lighten(@brand-danger, 5%), 60%);
+@schedule-border: lighten(@brand-primary, 50%);
-@program-room: darken(@brand-primary, 15%);
-@program-author: #444;
+@schedule-room: darken(@brand-primary, 15%);
+@schedule-author: #444;
-@program-selected-room: lighten(@brand-success, 10%);
+@schedule-selected-room: lighten(@brand-success, 10%);
-@program-daychange: darken(@brand-primary, 20%);
-@program-daychange-bg: fade(white, 30%);
+@schedule-daychange: darken(@brand-primary, 20%);
+@schedule-daychange-bg: fade(white, 30%);
-@program-gap: darken(@brand-primary, 20%);
-@program-gap-bg: fade(white, 30%);
+@schedule-gap: darken(@brand-primary, 20%);
+@schedule-gap-bg: fade(white, 30%);
-@program-pause: white;
-@program-pause-bg: lighten(black, 85%);
+@schedule-pause: white;
+@schedule-pause-bg: lighten(black, 85%);
// website configuration styles
diff --git a/assets/js/lustiges-script.js b/assets/js/lustiges-script.js
index 73e021b..ef685d0 100644
--- a/assets/js/lustiges-script.js
+++ b/assets/js/lustiges-script.js
@@ -183,11 +183,11 @@ $(function() {
$(window).on('hashchange', setTabToHash).trigger('hashchange');
});
-// programm-timeline
+// schedule-timeline
$(function() {
var
- $program = $('.program'),
- $now = $program.find('.now'),
+ $schedule = $('.schedule'),
+ $now = $schedule.find('.now'),
scrollLock = false,
rewindTimeout,
@@ -203,7 +203,7 @@ $(function() {
/* offset to the browsers realtime (for simulation) */
offset = $('.js-settings').data('scheduleoffset');
- $program.on('mouseenter mouseleave touchstart touchend', function(e) {
+ $schedule.on('mouseenter mouseleave touchstart touchend', function(e) {
if(e.type == 'mouseleave' || e.type == 'touchend') {
rewindTimeout = setTimeout(function() {
scrollLock = false;
@@ -214,7 +214,7 @@ $(function() {
}
});
- // program now-marker & scrolling
+ // schedule now-marker & scrolling
function updateProgramView(initial) {
var
// corrected "now" timestamp in unix-counting (seconds, not microseconds)
@@ -223,7 +223,7 @@ $(function() {
// only check the first room (shouldn't matter anyway)
// find the newest block that starts in the past
// that's the one that is most probably currently still running
- var $block = $program
+ var $block = $schedule
.find('.room')
.first()
.find('.block')
@@ -242,16 +242,16 @@ $(function() {
// place of the now-marker between 0 and 1 within this block
normalized = Math.max(0, Math.min(1, (now - start) / (end - start))),
- // projected to pixels with respect to the programms left end
+ // projected to pixels with respect to the schedules left end
px = $block.position().left + ($block.outerWidth() * normalized),
- // visible width of the program display
- displayw = $program.width(),
+ // visible width of the schedule display
+ displayw = $schedule.width(),
// current scroll position
- scrollx = $program.scrollLeft(),
+ scrollx = $schedule.scrollLeft(),
- // distance of the now-marker to the left border of the program display
+ // distance of the now-marker to the left border of the schedule display
px_in_display = px - scrollx;
//console.log($block.get(0), new Date(start*1000), new Date(now*1000), new Date(end*1000), normalized, px);
@@ -262,14 +262,14 @@ $(function() {
return;
if(
- // now marker is > 2/3 of the program-display-width
+ // now marker is > 2/3 of the schedule-display-width
px_in_display > (displayw * 2/3) ||
- // now marker is <1/7 of the program-display-width
+ // now marker is <1/7 of the schedule-display-width
px_in_display < (displayw/7)
) {
- // scroll program so that now-marker is as 1/5 of the screen
- $program.stop().scrollTo(px - displayw/6, {
+ // scroll schedule so that now-marker is as 1/5 of the screen
+ $schedule.stop().scrollTo(px - displayw/6, {
axis: 'x',
duration: initial ? 0 : scrollDuration,
});
@@ -277,7 +277,7 @@ $(function() {
}
- // when on programs tab
+ // when on schedules tab
var updateInterval;
function on() {
// initial trigger
@@ -291,24 +291,24 @@ $(function() {
clearInterval(updateInterval);
}
- if(window.location.hash == '#program')
+ if(window.location.hash == '#schedule')
on();
// trigger when a tab was changed
$('.nav-tabs').on('shown.bs.tab', 'a', function(e) {
- if(e.target.hash == '#program')
+ if(e.target.hash == '#schedule')
on();
else
off();
});
});
-// startpage program teaser
+// startpage schedule teaser
$(function() {
var
updateTimer = 5*1000, /* update display every 5 seconds */
- refetchTimer = 10*60*1000, /* re-request current / upcoming program every 10 minutes */
- programData = {},
+ refetchTimer = 10*60*1000, /* re-request current / upcoming schedule every 10 minutes */
+ scheduleData = {},
$lecture = $('.room.has-schedule'),
/* offset to the browsers realtime (for simulation) */
@@ -320,10 +320,10 @@ $(function() {
function fetchProgram() {
$.ajax({
- url: 'program.json',
+ url: 'schedule.json',
dataType: 'json',
success: function(data) {
- programData = data;
+ scheduleData = data;
updateProgtamTeaser();
},
@@ -339,7 +339,7 @@ $(function() {
// corrected "now" timestamp in unix-counting (seconds, not microseconds)
now = (Date.now() / 1000) + offset;
- $.each(programData, function(room, talks) {
+ $.each(scheduleData, function(room, talks) {
var currentTalk, nextTalk;
$.each(talks, function(room, talk) {
diff --git a/template/assemblies/program.phtml b/template/assemblies/schedule.phtml
index d7f7045..d2bb9e6 100644
--- a/template/assemblies/program.phtml
+++ b/template/assemblies/schedule.phtml
@@ -1,18 +1,12 @@
-<?
-
-foreach(reset($program) as $event)
- $width += $event['duration'];
-
-?>
-<div class="program scroll-container">
+<div class="schedule scroll-container">
<div class="scroll-element">
<div class="now"><span>now</span></div>
- <? foreach($program as $roomname => $events): ?>
- <div class="room <? if($roomname == get("ROOMS.$room.SCHEDULE_NAME", $room)): ?>highlight<? endif ?>" style="width: <?=$width / get('SCHEDULE.SCALE')?>px">
+ <? foreach($schedule->getSchedule() as $roomname => $events): ?>
+ <div class="room <? if($roomname == $room->getSlug()): ?>highlight<? endif ?>" style="width: <?=ceil($schedule->getDurationSum() / $schedule->getScale())?>px">
<? foreach($events as $event): ?>
<div
class="block <?=h(@$event['special'] ?: 'event')?>"
- style="width: <?=h($event['duration'] / get('SCHEDULE.SCALE'))?>px"
+ style="width: <?=h(round($event['duration'] / $schedule->getScale()))?>px"
data-start="<?=intval($event['start'])?>"
data-end="<?=intval($event['end'])?>"
>
@@ -34,23 +28,23 @@ foreach(reset($program) as $event)
&ndash;
<?=h(strftime('%H:%M', $event['end']))?>
&nbsp;in&nbsp;
- <? if(has("ROOMS.$roomname")): ?>
+ <? /*if(has("ROOMS.$roomname")): ?>
<a href="<?=h(link_player($roomname))?>">
<?=h(get("ROOMS.$roomname.DISPLAY"))?>
</a>
- <? else: ?>
+ <? else:*/ ?>
<?=h($roomname) ?>
- <? endif ?>
+ <? /*endif*/ ?>
</h4>
<h3>
- <? if(has("ROOMS.$roomname")): ?>
+ <? /*if(has("ROOMS.$roomname")): ?>
<a
href="<?=h(link_player($roomname))?>"
title="Switch to <?=h(get("ROOMS.$roomname.DISPLAY"))?>"
><?=h($event['title'])?></a>
- <? else: ?>
+ <? else:*/ ?>
<?=h($event['title'])?>
- <? endif ?>
+ <? /*endif*/ ?>
</h3>
<? if($event['speaker']): ?>
<h5>by&nbsp;<?=h($event['speaker'])?></h5>
diff --git a/template/room.phtml b/template/room.phtml
index 25a7255..32b7d6c 100644
--- a/template/room.phtml
+++ b/template/room.phtml
@@ -54,8 +54,8 @@
</div>
<? endif ?>
<? if($room->hasSchedule()): ?>
- <div role="tabpanel" class="tab-pane" id="program">
- <? require("$assemblies/program.phtml") ?>
+ <div role="tabpanel" class="tab-pane" id="schedule">
+ <? require("$assemblies/schedule.phtml") ?>
</div>
<? endif ?>
<? if($room->hasFeedback()): ?>