mirror of https://github.com/espruino/BangleApps
medicalinfo: Read height + weight from myprofile
parent
9271c2e6ca
commit
2c6bc3eb40
|
@ -1 +1,2 @@
|
|||
0.01: Initial Medical Information application!
|
||||
0.02. Read height and weight from myprofile
|
||||
|
|
|
@ -10,12 +10,12 @@ The file has the following contents:
|
|||
```
|
||||
{
|
||||
"bloodType": "",
|
||||
"height": "",
|
||||
"weight": "",
|
||||
"medicalAlert": [ "" ]
|
||||
}
|
||||
```
|
||||
|
||||
Weight and height are read from myprofile.
|
||||
|
||||
## Medical information editor
|
||||
|
||||
Clicking on the download icon of `Medical Information` in the app loader invokes the editor.
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
const medicalinfo = require('medicalinfo').load();
|
||||
const myprofile = require("Storage").readJSON("myprofile.json",1)||{};
|
||||
// const medicalinfo = {
|
||||
// bloodType: "O+",
|
||||
// height: "166cm",
|
||||
// weight: "73kg"
|
||||
// };
|
||||
|
||||
function hasAlert(info) {
|
||||
|
@ -12,7 +11,7 @@ function hasAlert(info) {
|
|||
// No space for widgets!
|
||||
// TODO: no padlock widget visible so prevent screen locking?
|
||||
|
||||
g.clear();
|
||||
g.reset().clear();
|
||||
const bodyFont = g.getFonts().includes("12x20") ? "12x20" : "6x8:2";
|
||||
g.setFont(bodyFont);
|
||||
|
||||
|
@ -33,10 +32,14 @@ if (hasAlert(medicalinfo)) {
|
|||
if (medicalinfo.bloodType) {
|
||||
lines = lines.concat(g.wrapString("Blood group: " + medicalinfo.bloodType, g.getWidth() - 10));
|
||||
}
|
||||
if (medicalinfo.height) {
|
||||
if (myprofile.height) { // Prefer height from myprofile if set
|
||||
lines = lines.concat(g.wrapString("Height: " + require("locale").distance(myprofile.height, 2), g.getWidth() - 10));
|
||||
} else if (medicalinfo.height) { // read height from own settings if previously stored here
|
||||
lines = lines.concat(g.wrapString("Height: " + medicalinfo.height, g.getWidth() - 10));
|
||||
}
|
||||
if (medicalinfo.weight) {
|
||||
if (myprofile.weight) { // Prefer weight from myprofile if set
|
||||
lines = lines.concat(g.wrapString("Weight: " + myprofile.weight + "kg", g.getWidth() - 10));
|
||||
} else if (medicalinfo.weight) { // read weight from own settings if previously stored here
|
||||
lines = lines.concat(g.wrapString("Weight: " + medicalinfo.weight, g.getWidth() - 10));
|
||||
}
|
||||
|
||||
|
|
|
@ -3,8 +3,6 @@ const storage = require('Storage');
|
|||
exports.load = function () {
|
||||
const medicalinfo = storage.readJSON('medicalinfo.json') || {
|
||||
bloodType: "",
|
||||
height: "",
|
||||
weight: "",
|
||||
medicalAlert: [""]
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{
|
||||
"bloodType": "",
|
||||
"height": "",
|
||||
"weight": "",
|
||||
"medicalAlert": [ "" ]
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ "id": "medicalinfo",
|
||||
"name": "Medical Information",
|
||||
"version":"0.01",
|
||||
"version":"0.02",
|
||||
"description": "Provides 'medicalinfo.json' used by various health apps, as well as a way to edit it from the App Loader",
|
||||
"icon": "app.png",
|
||||
"tags": "health,medical",
|
||||
|
@ -16,5 +16,6 @@
|
|||
],
|
||||
"data": [
|
||||
{"name":"medicalinfo.json","url":"medicalinfo.json"}
|
||||
]
|
||||
],
|
||||
"dependencies": {"myprofile":"app"}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue