forked from CGM_Public/pretix_original
Widget: Support for low availability in mobile calendar mode
This commit is contained in:
@@ -1154,15 +1154,22 @@ Vue.component('pretix-widget-event-week-cell', {
|
|||||||
if (this.day && this.day.events.length > 0) {
|
if (this.day && this.day.events.length > 0) {
|
||||||
o['pretix-widget-has-events'] = true;
|
o['pretix-widget-has-events'] = true;
|
||||||
var best = 'red';
|
var best = 'red';
|
||||||
|
var all_low = true;
|
||||||
for (var i = 0; i < this.day.events.length; i++) {
|
for (var i = 0; i < this.day.events.length; i++) {
|
||||||
var ev = this.day.events[i];
|
var ev = this.day.events[i];
|
||||||
if (ev.availability.color === 'green') {
|
if (ev.availability.color === 'green') {
|
||||||
best = 'green';
|
best = 'green';
|
||||||
|
if (ev.availability.reason !== 'low') {
|
||||||
|
all_low = false;
|
||||||
|
}
|
||||||
} else if (ev.availability.color === 'orange' && best !== 'green') {
|
} else if (ev.availability.color === 'orange' && best !== 'green') {
|
||||||
best = 'orange'
|
best = 'orange'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
o['pretix-widget-day-availability-' + best] = true;
|
o['pretix-widget-day-availability-' + best] = true;
|
||||||
|
if (best === 'green' && all_low) {
|
||||||
|
o['pretix-widget-day-availability-low'] = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return o
|
return o
|
||||||
}
|
}
|
||||||
@@ -1212,15 +1219,22 @@ Vue.component('pretix-widget-event-calendar-cell', {
|
|||||||
if (this.day && this.day.events.length > 0) {
|
if (this.day && this.day.events.length > 0) {
|
||||||
o['pretix-widget-has-events'] = true;
|
o['pretix-widget-has-events'] = true;
|
||||||
var best = 'red';
|
var best = 'red';
|
||||||
|
var all_low = true;
|
||||||
for (var i = 0; i < this.day.events.length; i++) {
|
for (var i = 0; i < this.day.events.length; i++) {
|
||||||
var ev = this.day.events[i];
|
var ev = this.day.events[i];
|
||||||
if (ev.availability.color === 'green') {
|
if (ev.availability.color === 'green') {
|
||||||
best = 'green';
|
best = 'green';
|
||||||
|
if (ev.availability.reason !== 'low') {
|
||||||
|
all_low = false;
|
||||||
|
}
|
||||||
} else if (ev.availability.color === 'orange' && best !== 'green') {
|
} else if (ev.availability.color === 'orange' && best !== 'green') {
|
||||||
best = 'orange'
|
best = 'orange'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
o['pretix-widget-day-availability-' + best] = true;
|
o['pretix-widget-day-availability-' + best] = true;
|
||||||
|
if (best === 'green' && all_low) {
|
||||||
|
o['pretix-widget-day-availability-low'] = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return o
|
return o
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -794,6 +794,9 @@
|
|||||||
&.pretix-widget-day-availability-green {
|
&.pretix-widget-day-availability-green {
|
||||||
background: $brand-success;
|
background: $brand-success;
|
||||||
}
|
}
|
||||||
|
&.pretix-widget-day-availability-low {
|
||||||
|
border-right: 5px solid $brand-warning;
|
||||||
|
}
|
||||||
&.pretix-widget-day-availability-orange {
|
&.pretix-widget-day-availability-orange {
|
||||||
background: $brand-warning;
|
background: $brand-warning;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user