should_display_end_page => redirect()->route('fo.end'), // * Teaser $settings->should_display_teaser_page => redirect()->route('fo.teaser'), // * Game is ended $settings->game_has_ended => redirect($settings->redirect_close), // * Game has started $settings->game_has_begun => $next($request), default => throw new \RuntimeException('Unhandled game state') }; } }