welcome: Save settings in data file

fwelcom
master
Richard de Boer 2020-04-17 21:29:56 +02:00
parent 43b0d8897e
commit b691f783aa
5 changed files with 9 additions and 9 deletions

View File

@ -78,7 +78,7 @@
{ "id": "welcome", { "id": "welcome",
"name": "Welcome", "name": "Welcome",
"icon": "app.png", "icon": "app.png",
"version":"0.07", "version":"0.08",
"description": "Appears at first boot and explains how to use Bangle.js", "description": "Appears at first boot and explains how to use Bangle.js",
"tags": "start,welcome", "tags": "start,welcome",
"allow_emulator":true, "allow_emulator":true,
@ -86,8 +86,10 @@
{"name":"welcome.boot.js","url":"boot.js"}, {"name":"welcome.boot.js","url":"boot.js"},
{"name":"welcome.app.js","url":"app.js"}, {"name":"welcome.app.js","url":"app.js"},
{"name":"welcome.settings.js","url":"settings.js"}, {"name":"welcome.settings.js","url":"settings.js"},
{"name":"welcome.settings.json","url":"settings-default.json","evaluate":true},
{"name":"welcome.img","url":"app-icon.js","evaluate":true} {"name":"welcome.img","url":"app-icon.js","evaluate":true}
],
"data": [
{"name":"welcome.json"}
] ]
}, },
{ "id": "gbridge", { "id": "gbridge",

View File

@ -7,3 +7,4 @@
0.07: Run again when updated 0.07: Run again when updated
Don't run again when settings app is updated (or absent) Don't run again when settings app is updated (or absent)
Add "Run Now" option to settings Add "Run Now" option to settings
0.08: Don't overwrite existing settings on app update

View File

@ -1,11 +1,11 @@
(function() { (function() {
let s = require('Storage').readJSON('welcome.settings.json', 1) let s = require('Storage').readJSON('welcome.json', 1)
|| require('Storage').readJSON('setting.json', 1) || require('Storage').readJSON('setting.json', 1)
|| {welcomed: true} // do NOT run if global settings are also absent || {welcomed: true} // do NOT run if global settings are also absent
if (!s.welcomed && require('Storage').read('welcome.app.js')) { if (!s.welcomed && require('Storage').read('welcome.app.js')) {
setTimeout(() => { setTimeout(() => {
s.welcomed = true s.welcomed = true
require('Storage').write('welcome.settings.json', {welcomed: "yes"}) require('Storage').write('welcome.json', {welcomed: "yes"})
load('welcome.app.js') load('welcome.app.js')
}) })
} }

View File

@ -1,3 +0,0 @@
{
"welcomed": false
}

View File

@ -1,13 +1,13 @@
// The welcome app is special, and gets to use global settings // The welcome app is special, and gets to use global settings
(function(back) { (function(back) {
let settings = require('Storage').readJSON('welcome.settings.json', 1) let settings = require('Storage').readJSON('welcome.sjson', 1)
|| require('Storage').readJSON('setting.json', 1) || {} || require('Storage').readJSON('setting.json', 1) || {}
E.showMenu({ E.showMenu({
'': { 'title': 'Welcome App' }, '': { 'title': 'Welcome App' },
'Run on Next Boot': { 'Run on Next Boot': {
value: !settings.welcomed, value: !settings.welcomed,
format: v => v ? 'OK' : 'No', format: v => v ? 'OK' : 'No',
onchange: v => require('Storage').write('welcome.settings.json', {welcomed: !v}), onchange: v => require('Storage').write('welcome.json', {welcomed: !v}),
}, },
'Run Now': () => load('welcome.app.js'), 'Run Now': () => load('welcome.app.js'),
'< Back': back, '< Back': back,