Merge Workstream H: device pairing UI + live dashboard

Resolved conflicts in App.tsx/SeancePage.tsx (both F and H added new
routes/nav links, kept both) and i18n files (both added sibling top-level
keys — inventory + devices, fixed nesting after conflict markers removed).

Also fixed a real integration gap: DevicesPage.test.tsx's mock User object
predated Workstream F's unlocks/essence additions to the User type (the
two workstreams built in parallel isolation and couldn't see each other's
changes). 269/269 frontend tests pass, tsc clean.
This commit is contained in:
Indiana
2026-07-24 20:47:57 +00:00
10 changed files with 1492 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ import { HauntingLayer } from './components/HauntingLayer'
import { GhostLog } from './components/GhostLog'
import { CodexEntityPage } from './pages/CodexEntityPage'
import { CodexPage } from './pages/CodexPage'
import { DevicesPage } from './pages/DevicesPage'
import { EnterPage } from './pages/EnterPage'
import { InventoryPage } from './pages/InventoryPage'
import { LandingPage } from './pages/LandingPage'
@@ -31,6 +32,7 @@ function App() {
<Route path="/codex/:id" element={<CodexEntityPage />} />
<Route path="/shop" element={<ShopPage />} />
<Route path="/inventory" element={<InventoryPage />} />
<Route path="/devices" element={<DevicesPage />} />
<Route path="*" element={<LandingPage />} />
</Routes>
</BrowserRouter>