@extends('layouts.admin')
@section('content')

<div class="card">
    <div class="card-header">
        {{ trans('global.edit') }} {{ trans('cruds.user.title_singular') }}
    </div>

    <div class="card-body">
        <form method="POST" id="user_edit_form" action="{{ route('admin.users.update', [$user->id]) }}" enctype="multipart/form-data">
            @method('PUT')
            @csrf
            <div class="form-group">
                <label class="required" for="roles">{{ trans('cruds.user.fields.roles') }}</label>
                <div style="padding-bottom: 4px">
                    <span class="btn btn-info btn-xs select-all" style="border-radius: 0">{{ trans('global.select_all') }}</span>
                    <span class="btn btn-info btn-xs deselect-all" style="border-radius: 0">{{ trans('global.deselect_all') }}</span>
                </div>
                <select class="form-control select2 {{ $errors->has('roles') ? 'is-invalid' : '' }}" name="roles[]" id="roles" multiple required>
                    @foreach($roles as $id => $role)
                        <option value="{{ $id }}" {{ (in_array($id, old('roles', [])) || $user->roles->contains($id)) ? 'selected' : '' }}>{{ $role }}</option>
                    @endforeach
                </select>
                @if($errors->has('roles'))
                    <div class="invalid-feedback">
                        {{ $errors->first('roles') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.roles_helper') }}</span>
            </div>
            <div class="form-group">
                <label class="required" for="first_name">{{ trans('cruds.user.fields.first_name') }}</label>
                <input class="form-control {{ $errors->has('first_name') ? 'is-invalid' : '' }}" type="text" name="first_name" id="first_name" value="{{ old('first_name', $user->first_name) }}" required>
                @if($errors->has('first_name'))
                    <div class="invalid-feedback">
                        {{ $errors->first('first_name') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.first_name_helper') }}</span>
            </div>
            <div class="form-group">
                <label for="last_name">{{ trans('cruds.user.fields.last_name') }}</label>
                <input class="form-control {{ $errors->has('last_name') ? 'is-invalid' : '' }}" type="text" name="last_name" id="last_name" value="{{ old('last_name', $user->last_name) }}">
                @if($errors->has('last_name'))
                    <div class="invalid-feedback">
                        {{ $errors->first('last_name') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.last_name_helper') }}</span>
            </div>
            <div class="form-group">
                <label for="phone_code">{{ trans('cruds.user.fields.phone_code') }}</label>
                <select class="form-control country-select select2" name="country_id" id="country_id">
                    <option value disabled {{ $user->country_id === null ? 'selected' : '' }}>
                        {{ trans('global.pleaseSelect') }}
                    </option>
                    @foreach($country_details as $value)
                        <option value="{{ $value->id }}" data-flag="{{ env('app_url')}}/uploads/flags/{{ $value->top_level_domain }}.png"
                            {{ $user->country_id == $value->id ? 'selected' : '' }}>
                            {{ $value->country_name }} (+{{ $value->phone_code }})
                        </option>
                    @endforeach
                </select>
                @if($errors->has('country_id'))
                    <div class="invalid-feedback">
                        {{ $errors->first('country_id') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.phone_code_helper') }}</span>
            </div>
            <div class="form-group">
                <label class="required" for="phone">{{ trans('cruds.user.fields.phone') }}</label>
                <input class="form-control {{ $errors->has('phone') ? 'is-invalid' : '' }}" type="text" name="phone" id="phone" value="{{ old('phone', $user->phone) }}" required>
                @if($errors->has('phone'))
                    <div class="invalid-feedback">
                        {{ $errors->first('phone') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.phone_helper') }}</span>
            </div>
            <div class="form-group">
                <label class="required" for="email">{{ trans('cruds.user.fields.email') }}</label>
                <input class="form-control {{ $errors->has('email') ? 'is-invalid' : '' }}" type="email" name="email" id="email" value="{{ old('email', $user->email) }}" required>
                @if($errors->has('email'))
                    <div class="invalid-feedback">
                        {{ $errors->first('email') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.email_helper') }}</span>
            </div>
            <div class="form-group">
                <label class="required" for="address">{{ trans('cruds.user.fields.address') }}</label>
                <textarea id="address" class="form-control" name="address" rows="4" cols="50" required>{{ old('address', $user->address) }}</textarea>
                @if($errors->has('address'))
                    <div class="invalid-feedback">
                        {{ $errors->first('address') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.address_helper') }}</span>
            </div>
            <div class="form-group">
                <label class="required" for="document_type">{{ trans('cruds.user.fields.document_type') }}</label><br>
                <input class="{{ $errors->has('document_type') ? 'is-invalid' : '' }}" type="radio" name="document_type" id="document_type" value="1" {{ $user->document_type == 1 ? 'checked' : '' }}> Passport
                <input class="{{ $errors->has('document_type') ? 'is-invalid' : '' }}" type="radio" name="document_type" id="document_type" value="2" {{ $user->document_type == 2 ? 'checked' : '' }}> Driving Licence
                <input class="{{ $errors->has('document_type') ? 'is-invalid' : '' }}" type="radio" name="document_type" id="document_type" value="3" {{ $user->document_type == 3 ? 'checked' : '' }}> Any Government ID
                @if($errors->has('document_type'))
                    <div class="invalid-feedback">
                        {{ $errors->first('document_type') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.document_type_helper') }}</span>
            </div>
            <div class="form-group">
                <label class="required" for="document_picture">{{ trans('cruds.user.fields.document_picture') }}</label>
                <input class="form-control {{ $errors->has('document_picture') ? 'is-invalid' : '' }}" type="file" name="document_picture" id="document_picture">
                @if($errors->has('document_picture'))
                    <div class="invalid-feedback">
                        {{ $errors->first('document_picture') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.document_picture_helper') }}</span>
                <div class="mt-3">
                    <img id="imagePreview" src="{{ $user->document_picture ? asset($user->document_picture) : '' }}" alt="Document Preview" style="display: {{ $user->document_picture ? 'block' : 'none' }}; width: 150px; height: 150px; margin-bottom: 10px;">
                </div>
            </div>
            {{-- <div class="form-group">
                <label for="kyc_status">{{ trans('cruds.user.fields.kyc_status') }}</label>
                <select class="form-control {{ $errors->has('kyc_status') ? 'is-invalid' : '' }}" name="kyc_status" id="kyc_status">
                    <option value disabled {{ old('kyc_status', null) === null ? 'selected' : '' }}>{{ trans('global.pleaseSelect') }}</option>
                    <option value="2" {{ old('kyc_status', $user->kyc_status) === 2 ? 'selected' : '' }}>Approved</option>
                    <option value="3" {{ old('kyc_status', $user->kyc_status) === 3 ? 'selected' : '' }}>Rejected</option>
                </select>
                @if($errors->has('kyc_status'))
                    <div class="invalid-feedback">
                        {{ $errors->first('kyc_status') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.kyc_status_helper') }}</span>
                <input type="hidden" id="rejectReasonField" name="reason">
            </div> --}}
            {{-- <div class="form-group">
                <label for="kyc_status">{{ trans('cruds.user.fields.status') }}</label>
                <select class="form-control {{ $errors->has('status') ? 'is-invalid' : '' }}" name="status" id="status">
                    <option value disabled {{ old('status', null) === null ? 'selected' : '' }}>{{ trans('global.pleaseSelect') }}</option>
                    <option value="1" {{ old('status', $user->status) === 1 ? 'selected' : '' }}>Unblock</option>
                    <option value="2" {{ old('status', $user->status) === 2 ? 'selected' : '' }}>Block</option>
                </select>
            </div> --}}
            <div class="form-group" id="seller_commission_group" style="display: none;">
                <label class="required" for="seller_commission_percentage">{{ trans('cruds.user.fields.seller_commission_percentage') }}</label>
                <input class="form-control {{ $errors->has('seller_commission_percentage') ? 'is-invalid' : '' }}" type="text" name="seller_commission_percentage" id="seller_commission_percentage" value="{{ old('seller_commission_percentage', $user->seller_commission_percentage) }}" required>
                @if($errors->has('seller_commission_percentage'))
                    <div class="invalid-feedback">
                        {{ $errors->first('seller_commission_percentage') }}
                    </div>
                @endif
                <span class="help-block">{{ trans('cruds.user.fields.seller_commission_percentage_helper') }}</span>
            </div>
            <div class="form-group">
                <button class="btn btn-danger create-submit-btn" type="submit">
                    {{ trans('global.save') }}
                </button>
            </div>
        </form>
    </div>
</div>

@endsection

@section('scripts')
    <script>
        function formatCountry(option) {
            if (!option.id) return option.text;
            var flag = $(option.element).data('flag');
            return $(`<span style="display: flex; align-items: center;">
                <img src="${flag}" style="width: 20px; height: 15px; margin-right: 5px;"> ${option.text}</span>`);
        }

        document.getElementById("document_picture").addEventListener("change", function(event) {
            let image = document.getElementById("imagePreview");
            let file = event.target.files[0];

            if (file) {
                let reader = new FileReader();
                reader.onload = function(e) {
                    image.src = e.target.result;
                    image.style.display = "block"; // Show preview
                };
                reader.readAsDataURL(file);
            } else {
                image.src = "";
                image.style.display = "none"; // Hide preview if no file selected
            }
        });

        $(document).ready(function () {
            function toggleSellerCommission() {
                var selectedRoles = $('#roles').val();
                if (selectedRoles.includes('5')) { // replace 5 with your seller role ID
                    $('#seller_commission_group').show();
                    $('#seller_commission_percentage').attr('required', true);
                } else {
                    $('#seller_commission_group').hide();
                    $('#seller_commission_percentage').removeAttr('required');
                }
            }

            toggleSellerCommission(); // check on page load

            $('#roles').on('change', function () {
                toggleSellerCommission(); // check on change
            });

            $('#country_id').select2({
                templateResult: formatCountry,
                templateSelection: formatCountry,
                theme: 'bootstrap4'
            });
        });
    </script>
@endsection