@extends('seller.layouts.app')

@section('panel_content')
<div class="aiz-titlebar mt-2 mb-4">
    <div class="row align-items-center">
        <div class="col-md-6">
            <h1 class="h3">{{ translate('Manage Profile') }}</h1>
        </div>
    </div>
</div>
<form action="{{ route('seller.profile.update', $user->id) }}" method="POST" enctype="multipart/form-data">
    <input name="_method" type="hidden" value="POST">
    @csrf
    <!-- Basic Info-->
    <div class="card">
        <div class="card-header">
            <h5 class="mb-0 h6">{{ translate('Basic Info')}}</h5>
        </div>
        <div class="card-body">
            <div class="form-group row">
                <label class="col-md-2 col-form-label" for="name">{{ translate('Your Name') }}</label>
                <div class="col-md-10">
                    <input type="text" name="name" value="{{ $user->name }}" id="name" class="form-control" placeholder="{{ translate('Your Name') }}" required>
                    @error('name')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>

            <div class="form-group row">
                <label class="col-md-2 col-form-label" for="phone">{{ translate('Your Phone') }}</label>
                <div class="col-md-10">
                    <input type="text" name="phone" value="{{ $user->phone }}" id="phone" class="form-control" placeholder="{{ translate('Your Phone')}}">
                    @error('phone')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>
            <div class="form-group row">
                <label class="col-md-2 col-form-label">{{ translate('Photo') }}</label>
                <div class="col-md-10">
                    <div class="input-group" data-toggle="aizuploader" data-type="image">
                        <div class="input-group-prepend">
                            <div class="input-group-text bg-soft-secondary font-weight-medium">{{ translate('Browse')}}</div>
                        </div>
                        <div class="form-control file-amount">{{ translate('Choose File') }}</div>
                        <input type="hidden" name="photo" value="{{ $user->avatar_original }}" class="selected-files">
                    </div>
                    <div class="file-preview box sm">
                    </div>
                </div>
            </div>
            <div class="form-group row">
                <label class="col-md-2 col-form-label" for="password">{{ translate('Your Password') }}</label>
                <div class="col-md-10">
                    <input type="password" name="new_password" id="password" class="form-control" placeholder="{{ translate('New Password') }}">
                    @error('new_password')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>
            <div class="form-group row">
                <label class="col-md-2 col-form-label" for="confirm_password">{{ translate('Confirm Password') }}</label>
                <div class="col-md-10">
                    <input type="password" name="confirm_password" id="confirm_password" class="form-control" placeholder="{{ translate('Confirm Password') }}">
                    @error('confirm_password')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>

        </div>
    </div>

    <!-- Payment System -->
    <div class="card">
        <div class="card-header">
            <h5 class="mb-0 h6">{{ translate('Payment Setting')}}</h5>
        </div>
        <div class="card-body">
            <div class="row">
                <label class="col-md-3 col-form-label">{{ translate('Cash Payment') }}</label>
                <div class="col-md-9">
                    <label class="aiz-switch aiz-switch-success mb-3">
                        <input value="1" name="cash_on_delivery_status" type="checkbox" @if ($user->shop->cash_on_delivery_status == 1) checked @endif>
                        <span class="slider round"></span>
                    </label>
                </div>
            </div>
            <div class="row">
                <label class="col-md-3 col-form-label">{{ translate('Bank Payment') }}</label>
                <div class="col-md-9">
                    <label class="aiz-switch aiz-switch-success mb-3">
                        <input value="1" name="bank_payment_status" type="checkbox" @if ($user->shop->bank_payment_status == 1) checked @endif>
                        <span class="slider round"></span>
                    </label>
                </div>
            </div>
            <div class="row">
                <label class="col-md-3 col-form-label" for="bank_name">{{ translate('Bank Name') }}</label>
                <div class="col-md-9">
                    <input type="text" name="bank_name" value="{{ $user->shop->bank_name }}" id="bank_name" class="form-control mb-3" placeholder="{{ translate('Bank Name')}}">
                    @error('bank_name')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>
            <div class="row">
                <label class="col-md-3 col-form-label" for="bank_acc_name">{{ translate('Bank Account Name') }}</label>
                <div class="col-md-9">
                    <input type="text" name="bank_acc_name" value="{{ $user->shop->bank_acc_name }}" id="bank_acc_name" class="form-control mb-3" placeholder="{{ translate('Bank Account Name')}}">
                    @error('bank_acc_name')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>
            <div class="row">
                <label class="col-md-3 col-form-label" for="bank_acc_no">{{ translate('Bank Account Number') }}</label>
                <div class="col-md-9">
                    <input type="text" name="bank_acc_no" value="{{ $user->shop->bank_acc_no }}" id="bank_acc_no" class="form-control mb-3" placeholder="{{ translate('Bank Account Number')}}">
                    @error('bank_acc_no')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>
            <div class="row">
                <label class="col-md-3 col-form-label" for="bank_routing_no">{{ translate('Bank Routing Number') }}</label>
                <div class="col-md-9">
                    <input type="number" name="bank_routing_no" value="{{ $user->shop->bank_routing_no }}" id="bank_routing_no" lang="en" class="form-control mb-3" placeholder="{{ translate('Bank Routing Number')}}">
                    @error('bank_routing_no')
                    <small class="form-text text-danger">{{ $message }}</small>
                    @enderror
                </div>
            </div>
        </div>
    </div>

    <div class="form-group mb-0 text-right">
        <button type="submit" class="btn btn-primary">{{translate('Update Profile')}}</button>
    </div>
</form>

<br>

<!-- Address -->
<div class="card">
    <div class="card-header">
        <h5 class="mb-0 h6">{{ translate('Address')}}</h5>
    </div>
    <div class="card-body">
        <div class="row gutters-10">
            @foreach ($addresses as $key => $address)
            <div class="col-lg-4">
                <div class="border p-3 pr-5 rounded mb-3 position-relative">
                    <div>
                        <span class="w-50 fw-600">{{ translate('Address') }}:</span>
                        <span class="ml-2">{{ $address->address }}</span>
                    </div>
                    <div>
                        <span class="w-50 fw-600">{{ translate('Postal Code') }}:</span>
                        <span class="ml-2">{{ $address->postal_code }}</span>
                    </div>
                    @if ($address->area)
                    <div >
                        <span class="w-50 fw-600">{{ translate('Area') }}:</span>
                        <span class="ml-2">{{ optional($address->area)->name }}</span>
                    </div>
                    @endif
                    <div>
                        <span class="w-50 fw-600">{{ translate('City') }}:</span>
                        <span class="ml-2">{{ optional($address->city)->name }}</span>
                    </div>
                    @if (get_setting('has_state') == 1) 
                    <div>
                        <span class="w-50 fw-600">{{ translate('State') }}:</span>
                        <span class="ml-2">{{ optional($address->state)->name }}</span>
                    </div>
                    @endif
                    <div>
                        <span class="w-50 fw-600">{{ translate('Country') }}:</span>
                        <span class="ml-2">{{ optional($address->country)->name }}</span>
                    </div>
                    <div>
                        <span class="w-50 fw-600">{{ translate('Phone') }}:</span>
                        <span class="ml-2">{{ $address->phone }}</span>
                    </div>
                    @if ($address->set_default)
                    <div class="position-absolute right-0 bottom-0 pr-2 pb-3">
                        <span class="badge badge-inline badge-primary">{{ translate('default') }}</span>
                    </div>
                    @endif
                    <div class="dropdown position-absolute right-0 top-0">
                        <button class="btn bg-gray px-2" type="button" data-toggle="dropdown">
                            <i class="la la-ellipsis-v"></i>
                        </button>
                        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
                            <a class="dropdown-item" onclick="edit_address('{{$address->id}}')">
                                {{ translate('Edit') }}
                            </a>
                            @if (!$address->set_default)
                            <a class="dropdown-item" href="{{ route('seller.addresses.set_default', $address->id) }}">{{ translate('Make This Default') }}</a>
                            @endif
                            <a class="dropdown-item" href="{{ route('seller.addresses.destroy', $address->id) }}">{{ translate('Delete') }}</a>
                        </div>
                    </div>
                </div>
            </div>
            @endforeach
            <div class="col-lg-4 mx-auto" onclick="add_new_address()">
                <div class="border p-3 rounded mb-3 c-pointer text-center bg-light">
                    <i class="la la-plus la-2x"></i>
                    <div class="alpha-7">{{ translate('Add New Address') }}</div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- Change Email -->
<form action="{{ route('user.change.email') }}" method="POST">
    @csrf
    <div class="card">
        <div class="card-header">
            <h5 class="mb-0 h6">{{ translate('Change your email')}}</h5>
        </div>
        <div class="card-body">
            <div class="row">
                <div class="col-md-2">
                    <label>{{ translate('Your New Email') }}</label>
                </div>
                <div class="col-md-10">
                    <div class="input-group mb-3">
                        <input type="email" class="form-control" placeholder="{{ translate('Your Email')}}" name="email" value="{{ $user->email }}" />
                        <div class="input-group-append">
                            <button type="button" class="btn btn-outline-secondary new-email-verification">
                                <span class="d-none loading">
                                    <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>{{ translate('Sending Email...') }}
                                </span>
                                <span class="default">{{ translate('Verify') }}</span>
                            </button>
                        </div>
                    </div>
                </div>
            </div>
            <div class="row update-div">
                <div class="col-md-2">
                    <label class="fs-14">{{ translate('Verification Code') }}</label>
                </div>
                <div class="col-md-10">
                    <div class="input-group mb-3">
                        <input type="text" class="form-control rounded-0" placeholder="{{ translate('Enter Your Verification Code')}}" name="code" value="" disabled />
                        <div class="input-group-append">
                           
                        </div>
                    </div>
                    <div class="form-group mb-0 text-right">
                        <button type="submit" class="btn btn-primary rounded-0 w-150px mt-3" disabled >{{translate('Update Email')}}</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</form>

@endsection

@section('modal')
{{-- New Address Modal --}}
<div class="modal fade" id="new-address-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">{{ translate('New Address') }}</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <form class="form-default" role="form" action="{{ route('seller.addresses.store') }}" method="POST">
                @csrf
                <div class="modal-body">
                    <div class="p-3">
                        <div class="row">
                            <div class="col-md-2">
                                <label>{{ translate('Address')}}</label>
                            </div>
                            <div class="col-md-10">
                                <textarea class="form-control mb-3" placeholder="{{ translate('Your Address')}}" rows="2" name="address" required></textarea>
                            </div>
                        </div>
                        @if (get_active_countries()->count() >1)
                        <div class="row">
                            <div class="col-md-2">
                                <label>{{ translate('Country')}}</label>
                            </div>
                            <div class="col-md-10">
                                <div class="mb-3">
                                    <select class="form-control aiz-selectpicker" data-live-search="true" data-placeholder="{{ translate('Select your country') }}" name="country_id" required>
                                        <option value="">{{ translate('Select your country') }}</option>
                                        @foreach (\App\Models\Country::where('status', 1)->get() as $key => $country)
                                        <option value="{{ $country->id }}">{{ $country->name }}</option>
                                        @endforeach
                                    </select>
                                </div>
                            </div>
                        </div>
                        @elseif(get_active_countries()->count() == 1)
                        <input type="hidden" name="country_id" value="{{get_active_countries()[0]->id }}">
                        @endif

                        @if(get_setting('has_state') == 1)
                        <div class="row">
                            <div class="col-md-2">
                                <label>{{ translate('State')}}</label>
                            </div>
                            <div class="col-md-10">
                                <select class="form-control mb-3 aiz-selectpicker" data-live-search="true" name="state_id" required>

                                </select>
                            </div>
                        </div>
                        @endif

                        <div class="row">
                            <div class="col-md-2">
                                <label>{{ translate('City')}}</label>
                            </div>
                            <div class="col-md-10">
                                <select class="form-control mb-3 aiz-selectpicker" data-live-search="true" name="city_id" required>

                                </select>
                            </div>
                        </div>

                        <div class="row area-field d-none">
                            <div class="col-md-2">
                                <label>{{ translate('Area')}}</label>
                            </div>
                            <div class="col-md-10">
                                <select class="form-control mb-3 aiz-selectpicker rounded-0" data-live-search="true" name="area_id">
                                 
                                </select>
                            </div>
                        </div>

                        @if (get_setting('google_map') == 1)
                        <div class="row">
                            <input id="searchInput" class="controls" type="text" placeholder="{{translate('Enter a location')}}">
                            <div id="map"></div>
                            <ul id="geoData">
                                <li style="display: none;">{{ translate('Full Address') }}: <span id="location"></span></li>
                                <li style="display: none;">{{ translate('Postal Code') }}: <span id="postal_code"></span></li>
                                <li style="display: none;">{{ translate('Country') }}: <span id="country"></span></li>
                                <li style="display: none;">{{ translate('Latitude') }}: <span id="lat"></span></li>
                                <li style="display: none;">{{ translate('Longitude') }}: <span id="lon"></span></li>
                            </ul>
                        </div>

                        <div class="row">
                            <div class="col-md-2" id="">
                                <label for="exampleInputuname">{{ translate('Longitude') }}</label>
                            </div>
                            <div class="col-md-10" id="">
                                <input type="text" class="form-control mb-3" id="longitude" name="longitude" readonly="">
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-2" id="">
                                <label for="exampleInputuname">{{ translate('Latitude') }}</label>
                            </div>
                            <div class="col-md-10" id="">
                                <input type="text" class="form-control mb-3" id="latitude" name="latitude" readonly="">
                            </div>
                        </div>
                        @endif

                        <div class="row">
                            <div class="col-md-2">
                                <label>{{ translate('Postal code')}}</label>
                            </div>
                            <div class="col-md-10">
                                <input type="text" class="form-control mb-3" placeholder="{{ translate('Your Postal Code')}}" name="postal_code" value="" required>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-2">
                                <label>{{ translate('Phone')}}</label>
                            </div>
                            <div class="col-md-10">
                                <input type="text" class="form-control mb-3" placeholder="{{ translate('+880')}}" name="phone" value="" required>
                            </div>
                        </div>
                        <div class="form-group text-right">
                            <button type="submit" class="btn btn-sm btn-primary">{{translate('Save')}}</button>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>

{{-- Edit Address Modal --}}
<div class="modal fade" id="edit-address-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">{{ translate('New Address') }}</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>

            <div class="modal-body" id="edit_modal_body">

            </div>
        </div>
    </div>
</div>

@endsection

@section('script')
<script type="text/javascript">
    $('.new-email-verification').on('click', function() {
        $(this).find('.loading').removeClass('d-none');
        $(this).find('.default').addClass('d-none');
        var email = $("input[name=email]").val();
        
        $.post('{{ route('user.email.update.verify.code') }}', {_token:'{{ csrf_token() }}', email: email}, function(data){
                data = JSON.parse(data);
                $('.default').removeClass('d-none');
                $('.loading').addClass('d-none');
                if (data.status == 2){
                    AIZ.plugins.notify('warning', data.message);
                }
                else if (data.status == 1){
                    AIZ.plugins.notify('success', data.message);
                    $('input[name="code"]').prop('disabled', false);
                    $('button[type="submit"]').prop('disabled', false);
                }
                else{
                    AIZ.plugins.notify('danger', data.message);
                }
            });
    });

    function add_new_address() {
        $('#new-address-modal').modal('show');
    }

    function edit_address(address) {
        var url = '{{ route("seller.addresses.edit", ":id") }}';
        url = url.replace(':id', address);

        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: url,
            type: 'GET',
            success: function(response) {
                $('#edit_modal_body').html(response.html);
                $('#edit-address-modal').modal('show');
                AIZ.plugins.bootstrapSelect('refresh');

                @if(get_setting('google_map') == 1)
                var lat = -33.8688;
                var long = 151.2195;

                if (response.data.address_data.latitude && response.data.address_data.longitude) {
                    lat = parseFloat(response.data.address_data.latitude);
                    long = parseFloat(response.data.address_data.longitude);
                }

                initialize(lat, long, 'edit_');
                @endif

                @if(get_active_countries()->count() == 1)
                        get_states({{ get_active_countries()[0]->id }});
                @endif
            }
        });
    }

    $(document).ready(function() {
        @if(get_setting('has_state') == 1)
            get_states(@json(get_active_countries()[0]->id));
        @else
            get_city_by_country(@json(get_active_countries()[0]->id));
        @endif
    });


    $(document).on('change', '[name=country_id]', function() {
        var country_id = $(this).val();
        @if(get_setting('has_state') == 1)
            get_states(country_id);
        @else
            get_city_by_country(country_id);
        @endif
    });
    

    $(document).on('change', '[name=state_id]', function() {
        var state_id = $(this).val();
        get_city(state_id);
    });

    $(document).on('change', '[name=city_id]', function() {
        var city_id = $(this).val();
        get_area(city_id);
    });

    function get_states(country_id) {
        $('[name="state"]').html("");
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: "{{route('seller.get-state')}}",
            type: 'POST',
            data: {
                country_id: country_id
            },
            success: function(response) {
                var obj = JSON.parse(response);
                if (obj != '') {
                    $('[name="state_id"]').html(obj);
                    AIZ.plugins.bootstrapSelect('refresh');
                }
            }
        });
    }

    function get_city(state_id) {
        $('[name="city"]').html("");
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: "{{route('seller.get-city')}}",
            type: 'POST',
            data: {
                state_id: state_id
            },
            success: function(response) {
                var obj = JSON.parse(response);
                if (obj != '') {
                    $('[name="city_id"]').html(obj);
                    AIZ.plugins.bootstrapSelect('refresh');
                }
            }
        });
    }

    function get_area(city_id) {
        $('[name="area"]').html("");
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: "{{route('get-area')}}",
            type: 'POST',
            data: {
                city_id: city_id
            },
            success: function (response) {
                var obj = JSON.parse(response);
                $('[name="area_id"]').html(obj);
                AIZ.plugins.bootstrapSelect('refresh');
                if (obj.includes('<option') && !obj.includes('disabled selected')) {
                    $('[name="area_id"]').attr('required', true);
                    $('.area-field').removeClass('d-none'); 
                } else {
                    $('[name="area_id"]').removeAttr('required');
                    $('.area-field').addClass('d-none');
                }
            }
        });
    }

    function get_city_by_country(country_id){
        $('[name="city"]').html("");
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: "{{route('get-city-by-country')}}",
            type: 'POST',
            data: {
                country_id: country_id
            },
            success: function (response) {
                var obj = JSON.parse(response);
                if(obj != '') {
                    $('[name="city_id"]').html(obj);
                    AIZ.plugins.bootstrapSelect('refresh');
                }
            }
        });
    }

</script>

@if (get_setting('google_map') == 1)

@include('frontend.partials.google_map')

@endif

@if(get_active_countries()->count() == 1)
<script>
    $(document).ready(function() {
        get_states(@json(get_active_countries()[0]->id))
    });
</script>
@endif

@endsection