Fixed battery errors on firefox

This commit is contained in:
z0ccc 2021-09-29 00:21:45 -04:00
parent 680d416ce0
commit f33c3686ba
3 changed files with 66 additions and 49 deletions

View file

@ -20,9 +20,13 @@ const OtherBlock = ({ workerData }) => {
.catch(() => { .catch(() => {
setAdBlock(true); setAdBlock(true);
}); });
if ('getBattery' in navigator) {
navigator.getBattery().then((res) => { navigator.getBattery().then((res) => {
setBattery(res); setBattery(res);
}); });
} else {
setBattery('N/A');
}
}, []); }, []);
return ( return (

View file

@ -157,11 +157,11 @@ const checkNavigatorProperties = (key) => {
}; };
const checkNavigatorValue = (key) => { const checkNavigatorValue = (key) => {
if ( try {
Object.getOwnPropertyDescriptor(Navigator.prototype, key).value !== // eslint-disable-next-line no-unused-vars
undefined const { value } = Object.getOwnPropertyDescriptor(Navigator.prototype, key);
) { } catch (err) {
return 'Failed descriptor.value undefined'; return 'Failed Navigator.prototype';
} }
return null; return null;
}; };

View file

@ -21,7 +21,17 @@ const checkDatePrototype = () => {
}; };
// Returns object with location data // Returns object with location data
const getOther = (battery, adBlock, workerData) => [ const getOther = (battery, adBlock, workerData) => {
console.log(battery);
let batteryLevel, batteryStatus;
if (battery === 'N/A') {
batteryLevel = 'N/A';
batteryStatus = 'N/A';
} else {
batteryLevel = `${Math.round(battery.level * 100)}%`;
batteryStatus = battery.charging ? 'Charging' : 'Not charging';
}
return [
{ {
key: 'Brave browser', key: 'Brave browser',
value: navigator.brave ? 'True' : 'False', value: navigator.brave ? 'True' : 'False',
@ -47,19 +57,22 @@ const getOther = (battery, adBlock, workerData) => [
value: new Date().getTimezoneOffset(), value: new Date().getTimezoneOffset(),
issues: [ issues: [
checkDatePrototype(), checkDatePrototype(),
checkWebWorker(new Date().getTimezoneOffset(), workerData.timezoneOffset), checkWebWorker(
new Date().getTimezoneOffset(),
workerData.timezoneOffset
),
], ],
}, },
{ {
key: 'Battery level', key: 'Battery level',
value: `${Math.round(battery.level * 100)}%`, value: batteryLevel,
issues: [], issues: [],
}, },
{ {
key: 'Battery status', key: 'Battery status',
value: battery.charging ? 'Charging' : 'Not charging', value: batteryStatus,
issues: [], issues: [],
}, },
]; ];
};
export default getOther; export default getOther;