@extends('Template::layouts.frontend')
@section('content')
    <div class="my-120">
        <div class="container">
            <div class="row justify-content-center">
                <div class="col-md-8 col-lg-7 col-xl-6">
                    <div class="card custom--card">

                        <div class="card-body">
                            <form method="POST" action="{{ route('user.data.submit') }}">
                                @csrf
                                <div class="row">
                                    <div class="form--group">
                                        <label class="form--label">@lang('Username')</label>
                                        <div class="form--field border--gradient">
                                            <input type="text" class="form-control form--control checkUser" name="username" value="{{ old('username') }}" required>
                                        </div>
                                        <small class="text--danger usernameExist"></small>
                                    </div>

                                    <div class="col-md-6 form--group">
                                        <label class="form--label">@lang('Country')</label>
                                        <select name="country" class="form-control form--control select2" required>
                                            @foreach ($countries as $key => $country)
                                                <option data-mobile_code="{{ $country->dial_code }}" value="{{ $country->country }}" data-code="{{ $key }}">{{ __($country->country) }}
                                                </option>
                                            @endforeach
                                        </select>
                                    </div>
                                    <div class="col-md-6 form--group">
                                        <label class="form--label">@lang('Mobile')</label>

                                        <div class="input-group input--group border--gradient">
                                            <span class="input-group-text mobile-code"></span>
                                            <input type="hidden" name="mobile_code">
                                            <input type="hidden" name="country_code">
                                            <input type="number" name="mobile" value="{{ old('mobile') }}" class="form-control form--control form-control checkUser" required>
                                        </div>

                                        <small class="text--danger mobileExist"></small>
                                    </div>
                                    <div class="col-sm-6">
                                        <div class="form--group">
                                            <label class="form--label">@lang('Address')</label>
                                            <div class="form--field border--gradient">
                                                <input type="text" class="form-control form--control" name="address" value="{{ old('address') }}">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="form--group col-sm-6">
                                        <label class="form--label">@lang('State')</label>
                                        <div class="form--field border--gradient">
                                            <input type="text" class="form-control form--control" name="state" value="{{ old('state') }}">
                                        </div>
                                    </div>
                                    <div class="form--group col-sm-6">
                                        <label class="form--label">@lang('Zip Code')</label>
                                        <div class="form--field border--gradient">
                                            <input type="text" class="form-control form--control" name="zip" value="{{ old('zip') }}">
                                        </div>
                                    </div>
                                    <div class="form--group col-sm-6">
                                        <label class="form--label">@lang('City')</label>
                                        <div class="form--field border--gradient">
                                            <input type="text" class="form-control form--control" name="city" value="{{ old('city') }}">
                                        </div>
                                    </div>
                                </div>
                                <button type="submit" class="w-100 btn btn--base">@lang('Submit')</button>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection


@push('script')
    <script>
        "use strict";
        (function($) {

            @if ($mobileCode)
                $(`option[data-code={{ $mobileCode }}]`).attr('selected', '');
            @endif



            $('select[name=country]').on('change', function() {
                $('input[name=mobile_code]').val($('select[name=country] :selected').data('mobile_code'));
                $('input[name=country_code]').val($('select[name=country] :selected').data('code'));
                $('.mobile-code').text('+' + $('select[name=country] :selected').data('mobile_code'));
                var value = $('[name=mobile]').val();
                var name = 'mobile';
                checkUser(value, name);
            });

            $('input[name=mobile_code]').val($('select[name=country] :selected').data('mobile_code'));
            $('input[name=country_code]').val($('select[name=country] :selected').data('code'));
            $('.mobile-code').text('+' + $('select[name=country] :selected').data('mobile_code'));


            $('.checkUser').on('focusout', function(e) {
                var value = $(this).val();
                var name = $(this).attr('name')
                checkUser(value, name);
            });

            function checkUser(value, name) {
                var url = '{{ route('user.checkUser') }}';
                var token = '{{ csrf_token() }}';

                if (name == 'mobile') {
                    var mobile = `${value}`;
                    var data = {
                        mobile: mobile,
                        mobile_code: $('.mobile-code').text().substr(1),
                        _token: token
                    }
                }
                if (name == 'username') {
                    var data = {
                        username: value,
                        _token: token
                    }
                }
                $.post(url, data, function(response) {
                    if (response.data != false) {
                        $(`.${response.type}Exist`).text(`${response.field} already exist`);
                    } else {
                        $(`.${response.type}Exist`).text('');
                    }
                });
            }
        })(jQuery);
    </script>
@endpush
