{{-- Universal Owner Component --}} @php // Determine if this is primary owner (index 0 or null) or additional owner $isPrimary = $ownerIndex === 0 || $ownerIndex === null || ($ownerIndex !== 0 && isset($owner) && isset($owner->is_primary_owner) && $owner->is_primary_owner == 1); $ownerData = $isPrimary ? $primary_owner ?? new stdClass() : $owner ?? new stdClass(); // Set up field names and IDs based on whether it's primary or additional owner $fieldPrefix = $isPrimary ? '' : "owners[{$ownerIndex}]"; $idPrefix = $isPrimary ? '' : "owners_{$ownerIndex}_"; // Set up accordion IDs and classes $accordionClass = $isPrimary ? 'main-owner-accordion' : 'additional-owner-accordion'; $accordionId = $isPrimary ? 'main-owner-section' : "additional-owner-{$ownerIndex}-accordion"; $headingId = $isPrimary ? 'headingBusinessDetails' : "headingAdditionalOwner{$ownerIndex}"; $collapseId = $isPrimary ? 'BusinessDetails' : "AdditionalOwner{$ownerIndex}"; $collapseParent = $isPrimary ? '#accordion2' : '#accordion2'; // Title for the accordion $accordionTitle = $isPrimary ? "{$userTitle} Information" : "Additional {$userTitle} #" . $ownerIndex; // Default status $defaultStatus = $isPrimary ? 1 : 2; $actualStatus = $ownerData->owner_status ?? $defaultStatus; // User account section visibility $showUserAccount = $actualStatus == 1; @endphp
@if (!$isPrimary) @endif
{{-- Hidden ID field --}} @if ($isPrimary) {!! html()->hidden('owner_id', $ownerData->id ?? 0) !!} @else {!! html()->hidden("{$fieldPrefix}[owner_id]", $ownerData->id ?? 0) !!} @endif {{-- Owner Status --}}
@if ($isPrimary) {!! html()->label($userTitle . ' Status')->for('owner_status') !!} {!! html()->select('owner_status', ['1' => 'Primary ' . $userTitle, '2' => 'Secondary ' . $userTitle], $actualStatus)->class('form-control owner-status-select main-owner-status')->id('owner_status')->attribute('data-owner-index', 0) !!} @else {!! html()->label($userTitle . ' Status')->for("{$fieldPrefix}[owner_status]") !!} {!! html()->select( "{$fieldPrefix}[owner_status]", ['1' => 'Primary ' . $userTitle, '2' => 'Secondary ' . $userTitle], $actualStatus, )->class('form-control additional-owner-status owner-status-select')->attribute('data-owner-index', $ownerIndex) !!} @endif
{{-- Personal Information --}}
{!! html()->label('First Name')->for($isPrimary ? 'owner_first_name' : "{$fieldPrefix}[owner_first_name]")->class('required') !!} * {!! html()->text($isPrimary ? 'owner_first_name' : "{$fieldPrefix}[owner_first_name]", $ownerData->first_name ?? null)->class('form-control')->required() !!}
{!! html()->label('Middle Name')->for($isPrimary ? 'owner_middle_name' : "{$fieldPrefix}[owner_middle_name]") !!} {!! html()->text($isPrimary ? 'owner_middle_name' : "{$fieldPrefix}[owner_middle_name]", $ownerData->middle_name ?? null)->class('form-control') !!}
{!! html()->label('Last Name')->for($isPrimary ? 'owner_last_name' : "{$fieldPrefix}[owner_last_name]")->class('required') !!} * {!! html()->text($isPrimary ? 'owner_last_name' : "{$fieldPrefix}[owner_last_name]", $ownerData->last_name ?? null)->class('form-control')->required() !!}
{{-- Contact Information --}}
{!! html()->label('Phone Number')->for($isPrimary ? 'owner_phone' : "{$fieldPrefix}[owner_phone]")->class('required') !!} *
{!! html()->text('')->class('form-control right-border-radius0 no-right-border front-phone-code')->placeholder('1 -')->disabled() !!} {!! html()->text($isPrimary ? 'owner_phone' : "{$fieldPrefix}[owner_phone]", $ownerData->phone ?? null)->class('form-control input-mask disable-autocomplete front-phone-number')->required()->attribute('autocomplete', 'off')->attribute('data-inputmask', "'mask': '(999) 999-9999'")->attribute('data-parsley-required-message', 'Please enter your phone number')->attribute('data-parsley-pattern', '^\(\d{3}\) \d{3}-\d{4}$')->attribute('data-parsley-pattern-message', 'Please enter a valid phone number (e.g. (123) 456-7890)') !!}
{!! html()->label('Email')->for($isPrimary ? 'owner_email' : "{$fieldPrefix}[owner_email]")->class('required') !!} * {!! html()->email($isPrimary ? 'owner_email' : "{$fieldPrefix}[owner_email]", $ownerData->email ?? null)->class('form-control owner-email-field')->required()->id($isPrimary ? 'owner_email' : "{$idPrefix}owner_email") !!}
{{-- Business Data Sharing Checkboxes --}}
@if ($isPrimary) {!! html()->checkbox('owner_same_business_phone', $ownerData->is_same_as_business_phone ?? false, 1)->class('custom-control-input')->id('owner_same_business_phone') !!} {!! html()->label('Same as business phone')->class('custom-control-label')->for('owner_same_business_phone') !!} @else {!! html()->checkbox("{$fieldPrefix}[owner_same_business_phone]", $ownerData->is_same_as_business_phone ?? false)->class('custom-control-input')->id("owners___{$ownerIndex}___owner_same_business_phone") !!} {!! html()->label('Same as business phone')->class('custom-control-label')->for("owners___{$ownerIndex}___owner_same_business_phone") !!} @endif
@if ($isPrimary) {!! html()->checkbox('owner_same_business_email', $ownerData->is_same_as_business_email ?? false, 1)->class('custom-control-input')->id('owner_same_business_email') !!} {!! html()->label('Same as business email')->class('custom-control-label')->for('owner_same_business_email') !!} @else {!! html()->checkbox("{$fieldPrefix}[owner_same_business_email]", $ownerData->is_same_as_business_email ?? false)->class('custom-control-input')->id("owners___{$ownerIndex}___owner_same_business_email") !!} {!! html()->label('Same as business email')->class('custom-control-label')->for("owners___{$ownerIndex}___owner_same_business_email") !!} @endif
{{-- Personal Details --}}
{!! html()->label('Country')->for($isPrimary ? 'owner_country' : "{$fieldPrefix}[owner_country]")->class('required') !!} * {!! html()->select( $isPrimary ? 'owner_country' : "{$fieldPrefix}[owner_country]", ['' => 'Choose...'] + $countries, $ownerData->location_country_id ?? 231, )->class('form-control')->required() !!}
{!! html()->label('Date Of Birth')->for($isPrimary ? 'owner_dob' : "{$fieldPrefix}[owner_dob]")->class('required') !!} * {!! html()->text($isPrimary ? 'owner_dob' : "{$fieldPrefix}[owner_dob]", $ownerData->dob ?? null)->class('form-control datepicker' . ($isPrimary ? ' datepicker_dob1' : ''))->required()->attribute('data-parsley-required', 'true')->attribute('data-parsley-age-check', '18')->attribute('data-parsley-age-check-message', 'Owner must be at least 18 years old')->attribute('data-parsley-pattern', '^(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])-[0-9]{4}$')->attribute('data-parsley-pattern-message', 'Please enter a valid date in MM-DD-YYYY format') !!}
{!! html()->label('SSN')->for($isPrimary ? 'owner_ssn' : "{$fieldPrefix}[owner_ssn]")->class('required') !!} * {!! html()->text($isPrimary ? 'owner_ssn' : "{$fieldPrefix}[owner_ssn]", $ownerData->ssn ?? null)->class('form-control input-mask')->required()->attribute('autocomplete', 'off')->attribute('data-inputmask', "'mask': '999-99-9999'")->attribute('data-parsley-required-message', 'Please enter your SSN')->attribute('data-parsley-pattern', '^\d{3}-\d{2}-\d{4}$')->attribute('data-parsley-pattern-message', 'Please enter a valid SSN (e.g. 222-22-2222)') !!}
{{-- Business Information --}}
{!! html()->label('Business Title')->for($isPrimary ? 'owner_business_title' : "{$fieldPrefix}[owner_business_title]")->class('required') !!} * @if ($isPrimary) {!! html()->text( 'owner_business_title', isset($business->business_name) ? $business->business_name : $ownerData->business_title ?? null, )->class('form-control')->required() !!} @else {!! html()->text("{$fieldPrefix}[owner_business_title]", $ownerData->business_title ?? null)->class('form-control')->required() !!} @endif
@if (isset($business) && in_array($business->entity_type_id, [2, 4, 6])) {!! html()->hidden($isPrimary ? 'owner_ownership' : "{$fieldPrefix}[owner_ownership]", 100) !!} @else {!! html()->label( 'Ownership %* (Percentage)', $isPrimary ? 'owner_ownership' : "{$fieldPrefix}[owner_ownership]", )->toHtml() !!}
{!! html()->text($isPrimary ? 'owner_ownership' : "{$fieldPrefix}[owner_ownership]", $ownerData->ownership_percentage ?? null)->class('form-control no-right-border small-width numeric')->attribute('aria-describedby', $isPrimary ? 'option-ownership' : "option-ownership{$ownerIndex}")->required()->attribute('min', 0)->attribute('max', 100)->attribute('step', '0.01')->attribute('data-parsley-type', 'number')->attribute('data-parsley-min', '0')->attribute('data-parsley-max', '100')->attribute('data-parsley-pattern', '^\d{1,3}(\.\d{1,2})?$')->attribute('data-parsley-required-message', 'Please enter an ownership percentage')->attribute('data-parsley-type-message', 'Please enter a valid number between 0 and 100')->attribute('data-parsley-min-message', 'Value must be at least 0')->attribute('data-parsley-max-message', 'Value must be at most 100')->attribute('data-parsley-pattern-message', 'Ownership can have up to 2 decimal places') !!} {{--
%
--}} %
@endif
{{-- User Account Section (only for primary owners or when status is 1) --}} {{-- Address Section --}}

{{ $userTitle }} Address

{!! html()->label('Address')->for($isPrimary ? 'owner_address' : "{$fieldPrefix}[owner_address]")->class('required') !!} * @if ($isPrimary) {!! html()->text( 'owner_address', isset($business->business_addressline_one) ? $business->business_addressline_one : $ownerData->addressline_one ?? '', )->class('form-control location-address')->required() !!} @else {!! html()->text("{$fieldPrefix}[owner_address]", $ownerData->addressline_one ?? '')->class('form-control location-address')->id("owners___{$ownerIndex}___owner_address")->required() !!} @endif {!! \App\Helpers\Helper::addressNote() !!}
{!! html()->label('Address 2 (Optional)')->for($isPrimary ? 'owner_address2' : "{$fieldPrefix}[owner_address2]") !!} @if ($isPrimary) {!! html()->text( 'owner_address2', isset($business->business_addressline_two) ? $business->business_addressline_two : $ownerData->addressline_two ?? '', )->class('form-control') !!} @else {!! html()->text("{$fieldPrefix}[owner_address2]", $ownerData->addressline_two ?? '')->class('form-control') !!} @endif
{!! html()->label('City')->for($isPrimary ? 'owner_city_name' : "{$fieldPrefix}[owner_city_name]")->class('required') !!} * @if ($isPrimary) {!! html()->text('owner_city_name', isset($business->city_name) ? $business->city_name : $ownerData->city_name ?? null)->class('form-control')->required() !!} @else {!! html()->text("{$fieldPrefix}[owner_city_name]", $ownerData->city_name ?? '')->class('form-control')->required() !!} @endif
{!! html()->label('State')->for($isPrimary ? 'owner_state_id' : "{$fieldPrefix}[owner_state_id]")->class('required') !!} * @if ($isPrimary) {!! html()->select( 'owner_state_id', ['' => 'Select'] + $states, $ownerData->location_state_id ?? ($business->business_state_id ?? null), )->class('form-control')->required() !!} @else {!! html()->select("{$fieldPrefix}[owner_state_id]", ['' => 'Select'] + $states, $ownerData->location_state_id ?? null)->class('form-control')->required() !!} @endif
{!! html()->label('Zip')->for($isPrimary ? 'owner_zip' : "{$fieldPrefix}[owner_zip]")->class('required') !!} * {!! html()->text( $isPrimary ? 'owner_zip' : "{$fieldPrefix}[owner_zip]", isset($business->zip) ? $business->zip : $ownerData->zip ?? '', )->class('form-control numeric')->attribute('minlength', 5)->attribute('maxlength', 6)->attribute('pattern', '^\d{5,6}$')->attribute('title', 'Please enter a 5 or 6 digit zip code')->required() !!}