1
0
mirror of https://github.com/beestat/app.git synced 2025-05-24 02:14:03 -04:00

Added rough no thermostats landing layer

This commit is contained in:
Jon Ziebell 2025-02-24 19:02:38 -05:00
parent 3abcb2c064
commit 7ad81e5874
4 changed files with 62 additions and 6 deletions

View File

@ -183,6 +183,11 @@ beestat.component.header.prototype.decorate_logo_ = function(parent) {
* @param {rocket.Elements} parent * @param {rocket.Elements} parent
*/ */
beestat.component.header.prototype.decorate_navigation_ = function(parent) { beestat.component.header.prototype.decorate_navigation_ = function(parent) {
// Disable navigation if you have no thermostats.
if (Object.keys(beestat.cache.thermostat).length === 0) {
return;
}
const self = this; const self = this;
const pages = [ const pages = [
@ -404,12 +409,14 @@ beestat.component.header.prototype.decorate_menu_ = function(parent) {
} }
menu.add_menu_item(announcements_menu_item); menu.add_menu_item(announcements_menu_item);
menu.add_menu_item(new beestat.component.menu_item() if (Object.keys(beestat.cache.thermostat).length > 0) {
.set_text('Download Data') menu.add_menu_item(new beestat.component.menu_item()
.set_icon('download') .set_text('Download Data')
.set_callback(function() { .set_icon('download')
(new beestat.component.modal.download_data()).render(); .set_callback(function() {
})); (new beestat.component.modal.download_data()).render();
}));
}
menu.add_menu_item(new beestat.component.menu_item() menu.add_menu_item(new beestat.component.menu_item()
.set_text('Settings') .set_text('Settings')

View File

@ -67,6 +67,7 @@ if($setting->get('environment') === 'dev' || $setting->get('environment') === 'd
echo '<script src="/js/layer/air_quality.js"></script>' . PHP_EOL; echo '<script src="/js/layer/air_quality.js"></script>' . PHP_EOL;
echo '<script src="/js/layer/visualize.js"></script>' . PHP_EOL; echo '<script src="/js/layer/visualize.js"></script>' . PHP_EOL;
echo '<script src="/js/layer/contribute.js"></script>' . PHP_EOL; echo '<script src="/js/layer/contribute.js"></script>' . PHP_EOL;
echo '<script src="/js/layer/no_thermostats.js"></script>' . PHP_EOL;
// Component // Component
echo '<script src="/js/component.js"></script>' . PHP_EOL; echo '<script src="/js/component.js"></script>' . PHP_EOL;

View File

@ -154,6 +154,12 @@ beestat.layer.load.prototype.decorate_ = function(parent) {
beestat.cache.set('runtime_thermostat_summary', response.runtime_thermostat_summary); beestat.cache.set('runtime_thermostat_summary', response.runtime_thermostat_summary);
beestat.cache.set('stripe_event', response.stripe_event); beestat.cache.set('stripe_event', response.stripe_event);
// Send you to the no thermostats layer if none were returned.
if(Object.keys(response.thermostat).length === 0) {
(new beestat.layer.no_thermostats()).render();
return;
}
// Set the active thermostat_id if this is your first time visiting. // Set the active thermostat_id if this is your first time visiting.
if (beestat.setting('thermostat_id') === undefined) { if (beestat.setting('thermostat_id') === undefined) {
beestat.setting( beestat.setting(

View File

@ -0,0 +1,42 @@
/**
* No thermostats layer.
*/
beestat.layer.no_thermostats = function() {
beestat.layer.apply(this, arguments);
};
beestat.extend(beestat.layer.no_thermostats, beestat.layer);
beestat.layer.no_thermostats.prototype.decorate_ = function(parent) {
/*
* Set the overflow on the body so the scrollbar is always present so
* highcharts graphs render properly.
*/
$('body').style({
'overflow-y': 'scroll',
'background': beestat.style.color.bluegray.light,
'padding': '0 ' + beestat.style.size.gutter + 'px'
});
(new beestat.component.header('no_thermostats')).render(parent);
// All the cards
const cards = [];
// Manage Thermostats
cards.push([
{
'card': new beestat.component.card.manage_thermostats(),
'size': 12
}
]);
// Footer
cards.push([
{
'card': new beestat.component.card.footer(),
'size': 12
}
]);
(new beestat.component.layout(cards)).render(parent);
};