1
0
mirror of https://github.com/beestat/app.git synced 2025-07-09 03:04:07 -04:00

Prevented download data when using the app (unfortunately)

This commit is contained in:
Jon Ziebell 2023-10-17 21:50:33 -04:00
parent e3db43a44e
commit f60be431df
5 changed files with 56 additions and 25 deletions

View File

@ -419,6 +419,7 @@ input[type=range]::-moz-range-thumb {
.icon.air_filter:before { content: "\F0D43"; } .icon.air_filter:before { content: "\F0D43"; }
.icon.air_purifier:before { content: "\F0D44"; } .icon.air_purifier:before { content: "\F0D44"; }
.icon.alarm_snooze:before { content: "\F068E"; } .icon.alarm_snooze:before { content: "\F068E"; }
.icon.alert:before { content: "\F0026"; }
.icon.alpha_b:before { content: "\F0AEF"; } .icon.alpha_b:before { content: "\F0AEF"; }
.icon.alpha_b_box:before { content: "\F0B09"; } .icon.alpha_b_box:before { content: "\F0B09"; }
.icon.arrow_down:before { content: "\F0045"; } .icon.arrow_down:before { content: "\F0045"; }

4
js/beestat/platform.js Normal file
View File

@ -0,0 +1,4 @@
beestat.platform = function() {
const url_parameters = new URLSearchParams(window.location.search);
return url_parameters.get('platform');
};

View File

@ -192,9 +192,7 @@ beestat.component.header.prototype.decorate_ = function(parent) {
(new beestat.layer.settings()).render(); (new beestat.layer.settings()).render();
})); }));
const url_parameters = new URLSearchParams(window.location.search); if (beestat.platform() === 'ios' || beestat.platform() === 'android') {
const platform = url_parameters.get('platform');
if (platform === 'ios' || platform === 'android') {
menu.add_menu_item(new beestat.component.menu_item() menu.add_menu_item(new beestat.component.menu_item()
.set_text('Open Ecobee App') .set_text('Open Ecobee App')
.set_icon('open_in_app') .set_icon('open_in_app')

View File

@ -20,6 +20,7 @@ beestat.component.modal.download_data.prototype.decorate_contents_ = function(pa
parent.appendChild($.createElement('p').innerHTML('Beestat stores, at a minimum, the past year of raw thermostat logs. Select a date range to download.')); parent.appendChild($.createElement('p').innerHTML('Beestat stores, at a minimum, the past year of raw thermostat logs. Select a date range to download.'));
this.decorate_range_(parent); this.decorate_range_(parent);
this.decorate_presets_(parent); this.decorate_presets_(parent);
this.decorate_android_ios_disabled_(parent);
this.decorate_error_(parent); this.decorate_error_(parent);
// Fire off this event once to get everything updated. // Fire off this event once to get everything updated.
@ -201,6 +202,25 @@ beestat.component.modal.download_data.prototype.decorate_presets_ = function(par
tile_group.render(column); tile_group.render(column);
}; };
/**
* Decorate the disabled notice for Android and iOS.
*
* @param {rocket.Elements} parent
*/
beestat.component.modal.download_data.prototype.decorate_android_ios_disabled_ = function(parent) {
if (beestat.platform() === 'ios' || beestat.platform() === 'android') {
new beestat.component.tile()
.set_icon('alert')
.set_size('large')
.set_display('block')
.set_shadow(false)
.set_background_color(beestat.style.color.red.base)
.set_text('Download Data is only available when using beestat directly in your browser. Sorry! :(')
.set_text_color('#fff')
.render(parent);
}
};
/** /**
* Decorate the error area. * Decorate the error area.
* *
@ -253,32 +273,39 @@ beestat.component.modal.download_data.prototype.get_buttons_ = function() {
}); });
var save = new beestat.component.tile() var save = new beestat.component.tile()
.set_background_color(beestat.style.color.green.base)
.set_background_hover_color(beestat.style.color.green.light)
.set_text_color('#fff') .set_text_color('#fff')
.set_text('Download') .set_text('Download');
.addEventListener('click', function() {
var range_begin;
var range_end;
if (self.state_.range_end.isBefore(self.state_.range_begin) === true) {
range_begin = self.state_.range_end;
range_end = self.state_.range_begin;
} else {
range_begin = self.state_.range_begin;
range_end = self.state_.range_end;
}
var download_arguments = { if (beestat.platform() === 'ios' || beestat.platform() === 'android') {
'thermostat_id': beestat.setting('thermostat_id'), save
'download_begin': range_begin.format(), .set_background_color(beestat.style.color.gray.light);
'download_end': range_end.hour(23).minute(55) } else {
.format() save
}; .set_background_color(beestat.style.color.green.base)
.set_background_hover_color(beestat.style.color.green.light)
.addEventListener('click', function() {
var range_begin;
var range_end;
if (self.state_.range_end.isBefore(self.state_.range_begin) === true) {
range_begin = self.state_.range_end;
range_end = self.state_.range_begin;
} else {
range_begin = self.state_.range_begin;
range_end = self.state_.range_end;
}
window.location.href = '/api/?resource=runtime&method=download&arguments=' + encodeURIComponent(JSON.stringify(download_arguments)) + '&api_key=' + window.beestat_api_key_local; var download_arguments = {
'thermostat_id': beestat.setting('thermostat_id'),
'download_begin': range_begin.format(),
'download_end': range_end.hour(23).minute(55)
.format()
};
self.dispose(); window.location.href = '/api/?resource=runtime&method=download&arguments=' + encodeURIComponent(JSON.stringify(download_arguments)) + '&api_key=' + window.beestat_api_key_local;
});
self.dispose();
});
}
return [ return [
cancel, cancel,

View File

@ -49,6 +49,7 @@ if($setting->get('environment') === 'dev' || $setting->get('environment') === 'd
echo '<script src="/js/beestat/affiliate.js"></script>' . PHP_EOL; echo '<script src="/js/beestat/affiliate.js"></script>' . PHP_EOL;
echo '<script src="/js/beestat/date.js"></script>' . PHP_EOL; echo '<script src="/js/beestat/date.js"></script>' . PHP_EOL;
echo '<script src="/js/beestat/math.js"></script>' . PHP_EOL; echo '<script src="/js/beestat/math.js"></script>' . PHP_EOL;
echo '<script src="/js/beestat/platform.js"></script>' . PHP_EOL;
// Layer // Layer
echo '<script src="/js/layer.js"></script>' . PHP_EOL; echo '<script src="/js/layer.js"></script>' . PHP_EOL;