Welcome: Allow welcome to run after a fresh install

+      More useful app menu
+      BTN2 now goes to menu on release
pull/422/head
Gordon Williams 2020-05-14 21:32:36 +01:00
parent 776fa29728
commit 2ed65f3ead
7 changed files with 19 additions and 17 deletions

View File

@ -78,7 +78,7 @@
{ "id": "welcome",
"name": "Welcome",
"icon": "app.png",
"version":"0.08",
"version":"0.09",
"description": "Appears at first boot and explains how to use Bangle.js",
"tags": "start,welcome",
"allow_emulator":true,
@ -589,7 +589,7 @@
"id": "ncstart",
"name": "NCEU Startup",
"icon": "start.png",
"version":"0.05",
"version":"0.06",
"description": "NodeConfEU 2019 'First Start' Sequence",
"tags": "start,welcome",
"storage": [

View File

@ -6,3 +6,4 @@
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
0.06: Allow welcome to run after a fresh install

View File

@ -1,11 +1,8 @@
(function() {
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')) {
let s = require('Storage').readJSON('ncstart.json', 1) || {};
if (!s.welcomed) {
setTimeout(() => {
s.welcomed = true
require('Storage').write('ncstart.json', s)
require('Storage').write('ncstart.json', {welcomed: true})
load('ncstart.app.js')
})
}

View File

@ -8,3 +8,6 @@
Don't run again when settings app is updated (or absent)
Add "Run Now" option to settings
0.08: Don't overwrite existing settings on app update
0.09: Allow welcome to run after a fresh install
More useful app menu
BTN2 now goes to menu on release

View File

@ -285,7 +285,7 @@ setWatch(()=>{
if (sceneNumber == scenes.length-1) {
load();
}
}, BTN2, {repeat:true,edge:"rising"});
}, BTN2, {repeat:true,edge:"falling"});
setWatch(()=>move(-1), BTN1, {repeat:true});
(function migrateSettings(){

View File

@ -1,11 +1,8 @@
(function() {
let s = require('Storage').readJSON('welcome.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('welcome.app.js')) {
let s = require('Storage').readJSON('welcome.json', 1) || {};
if (!s.welcomed) {
setTimeout(() => {
s.welcomed = true
require('Storage').write('welcome.json', {welcomed: "yes"})
require('Storage').write('welcome.json', {welcomed: true})
load('welcome.app.js')
})
}

View File

@ -3,12 +3,16 @@
|| require('Storage').readJSON('setting.json', 1) || {}
E.showMenu({
'': { 'title': 'Welcome App' },
'Run on Next Boot': {
'Run next boot': {
value: !settings.welcomed,
format: v => v ? 'OK' : 'No',
format: v => v ? 'Yes' : 'No',
onchange: v => require('Storage').write('welcome.json', {welcomed: !v}),
},
'Run Now': () => load('welcome.app.js'),
'Turn off, run next boot': () => {
require('Storage').write('welcome.json', {welcomed: false});
Bangle.off();
},
'< Back': back,
})
})