0) { foreach ($elements as $key => $options) { $currentStep = $options; // point to HTML element when not an intro or outro: if (!in_array($key, ['intro', 'outro'])) { $currentStep['element'] = $options['selector']; } // get the text: $currentStep['intro'] = trans('intro.' . $route . '_' . $key); // save in array: $steps[] = $currentStep; } } return Response::json($steps); } /** * @param string $route * * @return \Illuminate\Http\JsonResponse */ public function postFinished(string $route) { $key = 'shown_demo_' . $route; // Preferences::set($key, true); return Response::json(['result' => sprintf('Reported demo watched for route "%s".', $route)]); } }