diff --git a/src/App.jsx b/src/App.jsx index a01ffed..9131396 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,51 +2,47 @@ import * as React from 'react'; import { useEffect } from 'react'; import './App.css'; +const updateDOM = (id, text) => { + document.getElementById(id).innerHTML += text; +}; + const App = () => { useEffect(() => { - // Make the request fetch('http://ip-api.com/json') .then((response) => response.json()) - // Do something with the JSON data .then((data) => { - console.log(data.query); - document.getElementById( - 'ipAddress' - ).innerHTML += `IP address: ${data.query}`; + updateDOM('ipAddress', data.query); + updateDOM('country', data.country); + updateDOM('region', data.regionName); + updateDOM('city', data.city); + updateDOM('provider', data.isp); }); - document.getElementById( - 'screenSize' - ).innerHTML += `Screen resolution: ${window.screen.width}x${window.screen.height}`; + updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); navigator.getBattery().then((battery) => { - document.getElementById( - 'batteryLevel' - ).innerHTML += `Battery level: ${Math.round(battery.level * 100)}%`; - document.getElementById( - 'batteryStatus' - ).innerHTML += `Battery status: ${(battery.charging) ? '' : 'not '} charging`; + updateDOM('batteryLevel', `${Math.round(battery.level * 100)}%`); + updateDOM('batteryStatus', `${(battery.charging) ? '' : 'not '} charging`); }); - document.getElementById( - 'memory' - ).innerHTML += `Device memory: ${navigator.deviceMemory}GB`; - - document.getElementById( - 'cores' - ).innerHTML += `# of CPU cores: ${navigator.hardwareConcurrency}`; + updateDOM('memory', `${navigator.deviceMemory}GB`); + updateDOM('cores', navigator.hardwareConcurrency); }, []); return (
Connection
-
+
IP address:
+
Country:
+
Region:
+
City:
+
Provider:
Hardware
-
-
-
-
-
+
Screen resolution:
+
Battery level:
+
Battery status:
+
Device memory:
+
# of CPU cores:
); };