diff --git a/meshchatx/src/frontend/components/TutorialModal.vue b/meshchatx/src/frontend/components/TutorialModal.vue index 272ee91..e1702ac 100644 --- a/meshchatx/src/frontend/components/TutorialModal.vue +++ b/meshchatx/src/frontend/components/TutorialModal.vue @@ -6,6 +6,7 @@ max-width="800" transition="dialog-bottom-transition" class="tutorial-dialog" + persistent @update:model-value="onVisibleUpdate" > @@ -42,7 +43,7 @@
@@ -53,20 +54,20 @@
-
Enhanced Maps
+
Maps
OpenLayers w/ MBTiles support and custom API endpoints.
- +
Full LXST Voice
@@ -75,29 +76,42 @@
Advanced Tools
- Micron, Paper Messages, RNS tools, Crawler & Archiver. + Micron Editor, Paper Messages, RNS tools, Docs.
+ +
+
Crawler & Archiver
+
+ Automated network crawling and page archiving. +
+
+
+
-
Command Palette
+
+ Command Palette + Keybindings +
- Navigate everything instantly with a few keystrokes. + Navigate everything instantly and customize shortcuts.
@@ -524,7 +538,7 @@
@@ -538,11 +552,11 @@
-
Enhanced Maps
+
Maps
OpenLayers support with offline MBTiles and custom API endpoints for online maps. @@ -550,9 +564,9 @@
- +
Full LXST Voice
@@ -562,30 +576,45 @@
Advanced Tools
- Micron editor, paper messages, RNS tools, network Crawler and Archiver. + Micron editor, paper messages, RNS tools, and integrated documentation.
+ +
+
+ Crawler & Archiver +
+
+ Automated network crawling and page archiving tools for offline browsing. +
+
+
+
-
Command Palette
+
+ Command Palette + Keybindings +
- Navigate the entire application and access tools instantly with a single - shortcut. + Navigate the entire application and customize your workflow with instant + shortcuts.
@@ -710,6 +739,11 @@ density="comfortable" rounded="xl" class="bg-white dark:bg-zinc-800" + bg-color="white" + base-color="gray" + color="blue" + persistent-placeholder + :menu-props="{ attach: true }" > @@ -733,6 +771,10 @@ density="comfortable" rounded="xl" class="bg-white dark:bg-zinc-800" + bg-color="white" + base-color="gray" + color="blue" + persistent-placeholder >
@@ -761,6 +807,10 @@ density="comfortable" rounded="xl" class="bg-white dark:bg-zinc-800" + bg-color="white" + base-color="gray" + color="blue" + persistent-placeholder >
@@ -796,6 +850,11 @@ density="comfortable" rounded="xl" class="bg-white dark:bg-zinc-800" + bg-color="white" + base-color="gray" + color="blue" + persistent-placeholder + :menu-props="{ attach: true }" > @@ -827,6 +890,10 @@ density="comfortable" rounded="xl" class="bg-white dark:bg-zinc-800" + bg-color="white" + base-color="gray" + color="blue" + persistent-placeholder > @@ -1006,6 +1073,7 @@ import logoUrl from "../assets/images/logo.png"; import ToastUtils from "../js/ToastUtils"; import DialogUtils from "../js/DialogUtils"; import ElectronUtils from "../js/ElectronUtils"; +import GlobalState from "../js/GlobalState"; export default { name: "TutorialModal", @@ -1095,6 +1163,11 @@ export default { enabled: true, }); ToastUtils.success(`Added interface: ${iface.name}`); + + // track change + GlobalState.hasPendingInterfaceChanges = true; + GlobalState.modifiedInterfaceNames.add(iface.name); + this.nextStep(); } catch (e) { console.error(e); @@ -1149,6 +1222,11 @@ export default { await window.axios.post("/api/v1/reticulum/interfaces/add", payload); ToastUtils.success(`Added interface: ${this.newInterface.name}`); + + // track change + GlobalState.hasPendingInterfaceChanges = true; + GlobalState.modifiedInterfaceNames.add(this.newInterface.name); + this.nextStep(); } catch (e) { console.error(e); @@ -1197,6 +1275,60 @@ export default {