mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-20 04:54:45 -07:00
[FL-3918] Full-fledged JS SDK + npm packages (#3963)
* feat: js sdk * refactor: move js back where it belongs * docs: generate docs using typedoc * feat: sdk versioning scheme * ci: silence pvs warning * docs: bring back old incomplete js docs * style: readAnalog naming * fix: rename script compatibility screens Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
// import modules
|
||||
// caution: `eventLoop` HAS to be imported before `gui`, and `gui` HAS to be
|
||||
// imported before any `gui` submodules.
|
||||
import * as eventLoop from "@flipperdevices/fz-sdk/event_loop";
|
||||
import * as gui from "@flipperdevices/fz-sdk/gui";
|
||||
import * as dialog from "@flipperdevices/fz-sdk/gui/dialog";
|
||||
|
||||
// a common pattern is to declare all the views that your app uses on one object
|
||||
const views = {
|
||||
dialog: dialog.makeWith({
|
||||
header: "Hello from <app_name>",
|
||||
text: "Check out index.ts and\nchange something :)",
|
||||
center: "Gonna do that!",
|
||||
}),
|
||||
};
|
||||
|
||||
// stop app on center button press
|
||||
eventLoop.subscribe(views.dialog.input, (_sub, button, eventLoop) => {
|
||||
if (button === "center")
|
||||
eventLoop.stop();
|
||||
}, eventLoop);
|
||||
|
||||
// stop app on back button press
|
||||
eventLoop.subscribe(gui.viewDispatcher.navigation, (_sub, _item, eventLoop) => {
|
||||
eventLoop.stop();
|
||||
}, eventLoop);
|
||||
|
||||
// run app
|
||||
gui.viewDispatcher.switchTo(views.dialog);
|
||||
eventLoop.run();
|
||||
Reference in New Issue
Block a user