// Combat detection if (state.pendingCombat != null) { WidgetsBinding.instance.addPostFrameCallback((_) async { if (context.mounted) { await showDialog( context: context, barrierDismissible: false, builder: (ctx) => CombatScreen(combat: state.pendingCombat!), ); if (context.mounted) { ref.read(gameProvider.notifier).clearPendingCombat(); } } }); }