{m["sidebar.developer.header"]()}

Test

{ await say("Test"); }} /> { const name = prompt("Name?"); if (!name) return; const url = prompt("URL?"); if (!url) return; await downloadPMTiles(url, name); }} />

Open

{ setOnboardingState("start"); }} /> { location.reload(); }} />

Stores

{ syncStores(); }} /> { const name = prompt("Store Name?"); if (!name) return; const type = prompt("Store Type? (route, location, vehicle)"); if (type !== "route" && type !== "location" && type !== "vehicle") { alert("Invalid type"); return; } const data = prompt("Data? (JSON)"); if (!data) return; await updateStore({ name, type }, JSON.parse(data)); }} /> { const name = prompt("Store Name?"); if (!name) return; const type = prompt("Store Type? (route, location, vehicle)"); if (type !== "route" && type !== "location" && type !== "vehicle") { alert("Invalid type"); return; } await updateStore({ name, type }, null); }} /> { if (!confirm("Are you sure?")) return; const db = await getDB(); const tx = db.transaction(["stores", "changes"], "readwrite"); await tx.objectStore("stores").clear(); await tx.objectStore("changes").clear(); await tx.done; alert("Nuked all stores"); }} /> LOCATION STORES: {JSON.stringify(locationStores.current)}

Other

{ dev.current = "false"; view.back(); }} />