@php $userMetaOptions = $userMetaOptions ?? []; // Base form fields $fields = [ [ 'type' => 'text', 'name' => 'name', 'id' => 'name', 'label' => 'Full Name', 'placeholder' => 'Enter student full name', 'required' => true, 'col' => 6, ], [ 'type' => 'email', 'name' => 'email', 'id' => 'email', 'label' => 'Email Address', 'placeholder' => 'Enter email address', 'required' => true, 'col' => 6, ], [ 'type' => 'country-code', 'name' => 'country_code', 'label' => 'Country Code', 'required' => true, 'col' => 3, ], [ 'type' => 'number', 'name' => 'phone', 'id' => 'phone', 'label' => 'Phone Number', 'placeholder' => 'Enter phone number', 'required' => true, 'col' => 6, ], [ 'type' => 'select', 'name' => 'status', 'id' => 'status', 'label' => 'Status', 'required' => true, 'options' => [ 'active' => 'Active', 'pending' => 'Pending', 'blocked' => 'Blocked', ], 'col' => 3, ], [ 'type' => 'image', 'name' => 'profile_picture', 'id' => 'profile_picture', 'label' => 'Profile Picture', 'accept' => 'image/*', 'presetKey' => 'profile_image', 'col' => 9, ], [ 'type' => 'info', 'content' => 'Additional Details', 'col' => 12, ], ]; // Append user meta fields dynamically foreach ($userMetaOptions as $key => $option) { $field = [ 'type' => $option['type'] ?? 'text', 'name' => $key, 'id' => $key, 'label' => $option['label'] ?? ucfirst(str_replace('_', ' ', $key)), 'placeholder' => $option['placeholder'] ?? null, 'required' => $option['required'] ?? false, 'col' => $option['col'] ?? 6, ]; // Add type-specific options if ($option['type'] === 'select' && isset($option['options'])) { $field['options'] = $option['options']; } $fields[] = $field; } @endphp @include('admin.crud.form', [ 'action' => route('admin.students.store'), 'formId' => 'add-student-form', 'submitText' => 'Save Student', 'class' => 'ajax-crud-form', 'redirect' => route('admin.students.index'), 'fields' => $fields, ])