feat(game): race exit warnings in the turn report (#12)
Surface the inactivity-removal countdown the rules promise but the engine never reported. A race within five turns of being auto-removed for inactivity gets a personal warning in its own report; every race within three turns is listed publicly to all participants. - model: Report.PersonalExitWarning + RacesLeavingSoon ([]RaceExitNotice) - fbs: RaceExitNotice table + Report.personal_exit_warning / races_leaving_soon (regenerated Go + TS bindings) - transcoder: encode/decode both fields - engine: ReportExitWarnings fills the recipient's TTL (1..5) and lists other non-extinct races with TTL 1..3, excluding the recipient itself - ui: danger-styled personal banner + "races leaving soon" section (hidden when empty), wired into the report view, EN/RU i18n - docs: rules.txt report-section list, FUNCTIONAL.md 6.4 + RU mirror Voluntary quit and idle timeout share the TTL countdown and are not distinguished, per the agreed scope.
This commit is contained in:
+12
-5
@@ -704,11 +704,18 @@ demand. Backend authorises the caller and forwards the request;
|
||||
there is no caching or denormalisation in this path.
|
||||
|
||||
The web client renders the report as one section per FBS array
|
||||
(galaxy summary, votes, player status, my / foreign sciences, my /
|
||||
foreign ship classes, battles, bombings, approaching groups, my /
|
||||
foreign / uninhabited / unknown planets, ships in production,
|
||||
cargo routes, my fleets, my / foreign / unidentified ship groups).
|
||||
Empty sections render explicit empty-state copy. Section
|
||||
(galaxy summary, races leaving soon, votes, player status, my /
|
||||
foreign sciences, my / foreign ship classes, battles, bombings,
|
||||
approaching groups, my / foreign / uninhabited / unknown planets,
|
||||
ships in production, cargo routes, my fleets, my / foreign /
|
||||
unidentified ship groups). Empty sections render explicit
|
||||
empty-state copy; "races leaving soon" is the exception and hides
|
||||
entirely when no race is near removal. When the local race is
|
||||
itself within five turns of being auto-removed for inactivity, a
|
||||
danger-styled personal warning banner above the section list
|
||||
carries its own turns-remaining countdown; the public "races
|
||||
leaving soon" section lists every other race within three turns
|
||||
of removal. Section
|
||||
navigation is exposed through a sticky icon-popup menu pinned to
|
||||
the top-right of the report column (an anchored popover on desktop
|
||||
and a fixed bottom-sheet on mobile); the trigger label tracks the
|
||||
|
||||
Reference in New Issue
Block a user