diff --git a/src/app/_helpers/index.ts b/src/app/_helpers/index.ts index 82fdb87..c1f744b 100644 --- a/src/app/_helpers/index.ts +++ b/src/app/_helpers/index.ts @@ -9,3 +9,4 @@ export * from '@app/_helpers/mock-backend'; export * from '@app/_helpers/read-csv'; export * from '@app/_helpers/schema-validation'; export * from '@app/_helpers/sync'; +export * from '@app/_helpers/online-status'; diff --git a/src/app/_helpers/online-status.ts b/src/app/_helpers/online-status.ts new file mode 100644 index 0000000..86e2a10 --- /dev/null +++ b/src/app/_helpers/online-status.ts @@ -0,0 +1,17 @@ +const apiUrls = [ + 'https://api.coindesk.com/v1/bpi/currentprice.json', + 'https://dog.ceo/api/breeds/image/random', + 'https://ipinfo.io/161.185.160.93/geo', + 'https://randomuser.me/api/', +]; + +async function checkOnlineStatus(): Promise { + try { + const online = await fetch(apiUrls[Math.floor(Math.random() * apiUrls.length)]); + return online.status >= 200 && online.status < 300; + } catch (error) { + return false; + } +} + +export { checkOnlineStatus }; diff --git a/src/app/shared/network-status/network-status.component.html b/src/app/shared/network-status/network-status.component.html index 54d821a..92b9802 100644 --- a/src/app/shared/network-status/network-status.component.html +++ b/src/app/shared/network-status/network-status.component.html @@ -1,6 +1,6 @@