From da8ccbbcc1cec2013a3247f68b125b5212be953d Mon Sep 17 00:00:00 2001 From: SillyLossy Date: Thu, 2 Mar 2023 01:42:00 +0200 Subject: [PATCH] Error handing for fetch and style fix --- public/scripts/extensions.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/public/scripts/extensions.js b/public/scripts/extensions.js index fd8820380..7e32869cb 100644 --- a/public/scripts/extensions.js +++ b/public/scripts/extensions.js @@ -23,7 +23,7 @@ const settings_style = ` display: block; } -#extensions_active { +#extensions_loaded { display: none; } @@ -104,21 +104,27 @@ function autoConnectInputHandler() { async function connectToApi(baseUrl) { const url = new URL(baseUrl); url.pathname = '/api/extensions'; - const getExtensionsResult = await fetch(url, { method: 'GET' }); - if (getExtensionsResult.ok) { - const data = await getExtensionsResult.json(); - extensions = data.extensions; - applyExtensions(baseUrl); + try { + const getExtensionsResult = await fetch(url, { method: 'GET' }); + + if (getExtensionsResult.ok) { + const data = await getExtensionsResult.json(); + extensions = data.extensions; + applyExtensions(baseUrl); + } + + updateStatus(getExtensionsResult.ok); + } + catch { + updateStatus(false); } - - updateStatus(getExtensionsResult.ok); } function updateStatus(success) { connectedToApi = success; const _text = success ? 'Connected to API' : 'Could not connect to API'; - const _class = success ? 'success' : 'failed'; + const _class = success ? 'success' : 'failure'; $('#extensions_status').text(_text); $('#extensions_status').attr('class', _class); @@ -130,6 +136,10 @@ function updateStatus(success) { $('#extensions_list').append(`
  • ${extension.metadata.display_name}
  • `); } } + else { + $('#extensions_loaded').hide(200); + $('#extensions_list').empty(); + } } function applyExtensions(baseUrl) {