... return ListView.builder( ... return ListTile( title: Text(game.name), onTap: () => Navigator.of(context).push( MaterialPageRoute(builder: (context) => EditGame(game: game)), ), trailing: IconButton( icon: Icon(Symbols.play_circle), tooltip: 'Start live game', onPressed: () async { final navigator = Navigator.of(context); final streamController = StreamController<LiveGameAdminEvent>(); try { final liveGameStream = client.liveGames.startOrJoinLiveGame( gameId: game.id!, adminMessages: streamController.stream, ); // TODO: add game shell // Navigator.push( // context, // MaterialPageRoute( // builder: (context) => GameShell( // liveGameStream: liveGameStream, // liveGamePlayerSink: streamController.sink, // ), // ), // ); } catch (_) { streamController.close(); } }, ), ); }, ); ...