ncstart: Save settings in data file

master
Richard de Boer 2020-04-17 21:49:57 +02:00
parent e4c0574ab7
commit db35edede6
5 changed files with 9 additions and 9 deletions

View File

@ -528,20 +528,22 @@
"id": "ncstart",
"name": "NCEU Startup",
"icon": "start.png",
"version":"0.04",
"version":"0.05",
"description": "NodeConfEU 2019 'First Start' Sequence",
"tags": "start,welcome",
"storage": [
{"name":"ncstart.app.js","url":"start.js"},
{"name":"ncstart.boot.js","url":"boot.js"},
{"name":"ncstart.settings.js","url":"settings.js"},
{"name":"ncstart.settings.json","url":"settings-default.json","evaluate":true},
{"name":"ncstart.img","url":"start-icon.js","evaluate":true},
{"name":"nc-bangle.img","url":"start-bangle.js","evaluate":true},
{"name":"nc-nceu.img","url":"start-nceu.js","evaluate":true},
{"name":"nc-nfr.img","url":"start-nfr.js","evaluate":true},
{"name":"nc-nodew.img","url":"start-nodew.js","evaluate":true},
{"name":"nc-tf.img","url":"start-tf.js","evaluate":true}
],
"data": [
{"name":"ncstart.json"}
]
},
{ "id": "ncfrun",

View File

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

View File

@ -1,11 +1,11 @@
(function() {
let s = require('Storage').readJSON('ncstart.settings.json', 1)
let s = require('Storage').readJSON('ncstart.json', 1)
|| require('Storage').readJSON('setting.json', 1)
|| {welcomed: true} // do NOT run if global settings are also absent
if (!s.welcomed && require('Storage').read('ncstart.app.js')) {
setTimeout(() => {
s.welcomed = true
require('Storage').write('ncstart.settings.json', s)
require('Storage').write('ncstart.json', s)
load('ncstart.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
(function(back) {
let settings = require('Storage').readJSON('ncstart.settings.json', 1)
let settings = require('Storage').readJSON('ncstart.json', 1)
|| require('Storage').readJSON('setting.json', 1) || {}
E.showMenu({
'': { 'title': 'NCEU Startup' },
'Run on Next Boot': {
value: !settings.welcomed,
format: v => v ? 'OK' : 'No',
onchange: v => require('Storage').write('ncstart.settings.json', {welcomed: !v}),
onchange: v => require('Storage').write('ncstart.json', {welcomed: !v}),
},
'Run Now': () => load('ncstart.app.js'),
'< Back': back,