Phone runtime (2b): inventory phone on the board dials for real
The phone gains a session mode that reads the live directory (/phone) and dials (/dial); the inventory threads it through. On a campaign level the board shows an INVENTORY nav button that opens the tool rack, and connecting a call hands back to the campaign via /?resume=1 (a fast-path that resumes the current node instead of the splash). On Barricelli's note-board: open inventory -> phone -> dial 5550100 -> Glitch Hunter. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -41,6 +41,13 @@ export function Play() {
|
||||
if (!cancelled) res.ok ? apply(await res.json()) : setStatus('NODE NOT FOUND')
|
||||
return
|
||||
}
|
||||
// ?resume=1 (e.g. handed back from the in-board phone) drops straight into the
|
||||
// current node instead of the splash.
|
||||
if (new URLSearchParams(window.location.search).has('resume')) {
|
||||
const res = await fetch('/api/playthroughs/current')
|
||||
if (cancelled) return
|
||||
if (res.ok && res.status !== 204) { apply(await res.json()); return }
|
||||
}
|
||||
// The bare root is always the front door: list the playable cases, and offer
|
||||
// Resume on the one already in progress rather than auto-resuming into it.
|
||||
const [cases, current] = await Promise.all([fetch('/api/mysteries'), fetch('/api/playthroughs/current')])
|
||||
|
||||
Reference in New Issue
Block a user