diff --git a/source/app/mocks/api/axios/get/nightscout.mjs b/source/app/mocks/api/axios/get/nightscout.mjs index ba8dd5a6..560cdb64 100644 --- a/source/app/mocks/api/axios/get/nightscout.mjs +++ b/source/app/mocks/api/axios/get/nightscout.mjs @@ -8,7 +8,7 @@ export default function({faker, url}) { const directionArray = ["SingleUp", "DoubleUp", "FortyFiveUp", "Flat", "FortyFiveDown", "SingleDown", "DoubleDown"] return ({ status:200, - data:[{ + data:new Array(12).fill(null).map(_ => ({ _id:faker.git.commitSha().substring(0, 23), device:"xDrip-DexcomG5", date:lastInterval, @@ -23,7 +23,7 @@ export default function({faker, url}) { noise:1, sysTime:new Date(lastInterval).toISOString(), utcOffset:faker.random.number({min:-12, max:14})*60, - }], + })), }) } } \ No newline at end of file diff --git a/source/plugins/nightscout/index.mjs b/source/plugins/nightscout/index.mjs index 803edb79..303586af 100644 --- a/source/plugins/nightscout/index.mjs +++ b/source/plugins/nightscout/index.mjs @@ -6,10 +6,10 @@ if ((!enabled)||(!q.nightscout)) return null - //Load inputs + //Load inputs let {url, datapoints, lowalert, highalert, urgentlowalert, urgenthighalert} = imports.metadata.plugins.nightscout.inputs({data, account, q}) - if (!url || url === "https://example.herokuapp.com") throw "Nightscout site URL isn't set!" + if (!url || url === "https://example.herokuapp.com") throw {error:{message:"Nightscout site URL isn't set!"}} if (url.substring(url.length - 1) !== "/") url += "/" if (url.substring(0, 7) === "http://") url = `https://${url.substring(7)}` if (url.substring(0, 8) !== "https://") url = `https://${url}` @@ -43,6 +43,8 @@ } //Handle errors catch (error) { + if (error.error?.message) + throw error throw {error:{message:"An error occured", instance:error}} } } diff --git a/source/templates/classic/partials/nightscout.ejs b/source/templates/classic/partials/nightscout.ejs index 4672e2da..d5aa0cc4 100644 --- a/source/templates/classic/partials/nightscout.ejs +++ b/source/templates/classic/partials/nightscout.ejs @@ -1,42 +1,39 @@ <% if (plugins.nightscout) { %> -
-
- <% if (plugins.nightscout.error) { %> -
-
- - <%= plugins.nightscout.error.message %> +
+

+ + <% if (plugins.nightscout.error) { %> + Nightscout plugin + <% } else { %> + Blood Sugar: <%= `${plugins.nightscout.data[plugins.nightscout.data.length-1].sgv}${plugins.nightscout.data[plugins.nightscout.data.length-1].arrowHumanReadable} (${plugins.nightscout.data[plugins.nightscout.data.length-1].alert})`%> + <% } %> +

+
+ <% if (plugins.nightscout.error) { %> +
+
+ + <%= plugins.nightscout.error.message %> +
+
+ <% } else if (plugins.nightscout.data.length > 1) { %> +
+
+
+ <% { let previous = null; for (const dataObject of Object.values(plugins.nightscout.data)) { const p = dataObject.sgv/Math.max.apply(Math, Object.values(plugins.nightscout.data).map(function(o) { return o.sgv; })); %> +
+ <%= dataObject.sgv != 0 ? f(dataObject.sgv, {sign:false}) : "" %> +
+
+ <%= dataObject.timeUTCHumanReadable %> +
+
+ <% previous = dataObject.sgv } } %>
-
- <% } else { %> -
-

- - Blood Sugar: <%= `${plugins.nightscout.data[plugins.nightscout.data.length-1].sgv}${plugins.nightscout.data[plugins.nightscout.data.length-1].arrowHumanReadable} (${plugins.nightscout.data[plugins.nightscout.data.length-1].alert})`%> -

- <% if (plugins.nightscout.data.length > 1) { %> -
-
-
- <% { let previous = null; for (const dataObject of Object.values(plugins.nightscout.data)) { const p = dataObject.sgv/Math.max.apply(Math, Object.values(plugins.nightscout.data).map(function(o) { return o.sgv; })); %> -
- <%= dataObject.sgv != 0 ? f(dataObject.sgv, {sign:false}) : "" %> -
-
- <%= dataObject.timeUTCHumanReadable %> -
-
- <% previous = dataObject.sgv } } %> -
-
-
All times are in UTC.
- -
- <%# Do stuff in there -%> -
- <% } %> - <% } %> -
-
- <% } %> - \ No newline at end of file +
+
All times are in UTC.
+
+ <% } %> +
+
+<% } %>