docs(wiki): reconcile with session — booth console, i18n, live WS
File concept pages for the operator-UI architecture ([[booth-console]]: stack, /api/ws live feed, anti-CSWSH) and [[i18n]] (per-user server-stored language; resolves a dangling code-comment link). Qualify the stale 'plain React' note on react-vite-spa. Backfill log entries for the live WebSocket, frontend foundation, and i18n builds (which had none), plus a reconciliation lint entry. Catalog booth-exit-flow + the two new pages in index; fix the concept count (27→41).
This commit is contained in:
@@ -2,14 +2,17 @@
|
||||
type: entity
|
||||
tags: [parking, stack, frontend]
|
||||
sources: [parking-system-architecture]
|
||||
updated: 2026-06-14
|
||||
updated: 2026-06-18
|
||||
---
|
||||
|
||||
# React + Vite SPA
|
||||
|
||||
The frontend: a React single-page app built with Vite, **served by [[fastify]]** (MIT). Plain
|
||||
React was chosen over an admin framework — see [[refine]], which was dropped because the
|
||||
operator UI is simple enough that a framework's abstractions cost more than they save.
|
||||
(See [[parking-system-architecture]] §2.)
|
||||
The frontend: a React single-page app built with Vite, **served by [[fastify]]** (MIT).
|
||||
(See [[parking-system-architecture]] §2.) Part of the [[technology-stack]].
|
||||
|
||||
Part of the [[technology-stack]].
|
||||
> **Updated 2026-06-18:** the original "plain React, no framework" choice (an admin *framework*
|
||||
> like [[refine]] was rejected) still holds — but the live operator console outgrew bare
|
||||
> `useState` and now layers in **TanStack Query + Router, Zustand, Tailwind v4, Radix, and
|
||||
> react-i18next**. These are libraries, not an admin framework, and each earns its place (live
|
||||
> updates, routing, the terminal theme, [[i18n]]). The full operator-UI architecture — including the
|
||||
> single `/api/ws` live feed — is in [[booth-console]].
|
||||
|
||||
Reference in New Issue
Block a user