Merge pull request #3647 from bobrippling/feat/drained-menu-pos

drained: restore menu position
pull/3652/head
Rob Pilling 2024-11-08 08:47:25 +00:00 committed by GitHub
commit ff107da1b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 4 deletions

View File

@ -58,6 +58,7 @@ var draw = function () {
}, 60000 - (date.getTime() % 60000));
};
var reload = function () {
var scroller;
var showMenu = function () {
var menu = {
"Restore to full power": drainedRestore,
@ -69,9 +70,12 @@ var reload = function () {
menu["Settings"] = function () { return load("setting.app.js"); };
menu["Recovery"] = function () { return Bangle.showRecoveryMenu(); };
menu["Exit menu"] = reload;
if (scroller) {
menu[""] = { selected: scroller.scroll };
}
if (nextDraw)
clearTimeout(nextDraw);
E.showMenu(menu);
(scroller = E.showMenu(menu).scroller);
};
Bangle.setUI({
mode: "custom",

View File

@ -78,8 +78,9 @@ const draw = () => {
};
const reload = () => {
let scroller: MenuInstance["scroller"] | undefined;
const showMenu = () => {
const menu: { [k: string]: () => void } = {
const menu: Menu = {
"Restore to full power": drainedRestore,
};
@ -92,8 +93,12 @@ const reload = () => {
menu["Recovery"] = () => Bangle.showRecoveryMenu();
menu["Exit menu"] = reload;
if(scroller){
menu[""] = { selected: scroller.scroll };
}
if(nextDraw) clearTimeout(nextDraw);
E.showMenu(menu);
({ scroller } = E.showMenu(menu));
};
Bangle.setUI({

View File

@ -69,6 +69,14 @@ type MenuInstance = {
draw: () => void;
move: (n: number) => void;
select: () => void;
scroller?: MenuScroller; // BangleJS 2
};
/**
* Menu scroller.
*/
type MenuScroller = {
scroll: number;
};
declare const BTN1: Pin;