five-on-it / apps/client/src/renderer/jobs
apps/client/src/renderer/jobs
The phone's Jobs app's side of the page, without React (GAME_DESIGN §13: finding play from the city): it asks the platform what there is to play (GET /playlists, GET /missions?level=, GET /lobbies/mine) when the Jobs page is shown and every JOBS_REFRESH_MS while it stays, keeps the view (ui/jobs-view.ts: what arrives goes on top) and tells the game loop when it changed, so the panel is drawn again; and it does what the player picks: a lobby's page (?lobby=), Quick play by a playlist (into a lobby's page, or straight into a run under way when Quick play seated the player in one), a solo mission's run, a multiplayer mission's fullest public lobby (or a new one). Its data comes from the platform, never from the game server: a page whose platform does not answer (a server played on its own) shows that jobs need the platform.