codigo actual del servidor, con avances de joan

This commit is contained in:
Jose Sanchez
2023-08-07 15:52:04 -04:00
commit 3cd9b8bbe8
3070 changed files with 532255 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
<script>
function account_delete_confirm_modal(delete_url)
{
jQuery('#account_delete_confirm').modal('show', {backdrop: 'static'});
document.getElementById('account_delete_link').setAttribute('href' , delete_url);
}
</script>
<div class="modal fade" id="account_delete_confirm" tabindex="-1" role="dialog" aria-labelledby="account_delete_confirmModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header d-block py-4">
<div class="d-flex justify-content-center">
<span class="avatar avatar-md mb-2 mt-2">
@if (Auth::check() && Auth::user()->avatar_original != null)
<img src="{{ uploaded_asset(Auth::user()->avatar_original) }}" class="m-auto"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
@else
<img src="{{ static_asset('assets/img/avatar-place.png') }}" class="image rounded-circle m-auto"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
@endif
</span>
</div>
<h4 class="modal-title text-center fw-700" id="account_delete_confirmModalLabel" style="color: #ff9819;">{{ translate('Delete Your Account')}}</h4>
<p class="fs-16 fw-600 text-center" style="color: #8d8d8d;">{{ translate('Warning: You cannot undo this action')}}</p>
</div>
<div class="modal-body pt-3 pb-5 px-xl-5">
<p class="text-danger mt-3"><i><strong>{{ translate('Note: ')}}&nbsp;{{ translate("Don't Click to any button or don't do any action during account Deletion, it may takes some times.")}}</strong></i></p>
<p class="fs-14 fw-700" style="color: #8d8d8d;">{{ translate('Deleting Account Means:')}}</p>
<div class="row bg-soft-warning py-2 mb-2 ml-0 mr-0 border-left border-width-2 border-danger">
<div class="col-1">
<img src="{{ static_asset('assets/img/warning.png') }}" class="h-20px">
</div>
<div class="col">
<p class="fw-600 mb-0">{{ translate('If you create any classified ptoducts, after deleting your account, those products will no longer in our system') }}</p>
</div>
</div>
<div class="row bg-soft-warning py-3 ml-0 mr-0 border-left border-width-2 border-danger">
<div class="col-1">
<img src="{{ static_asset('assets/img/warning.png') }}" class="h-20px">
</div>
<div class="col">
<p class="fw-600 mb-0">{{ translate('After deleting your account, wallet balance will no longer in our system') }}</p>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary rounded-0 w-150px" data-dismiss="modal">{{ translate('Cancel')}}</button>
<a id="account_delete_link" class="btn btn-danger rounded-0 w-150px">{{ translate('Delete Account')}}</a>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,269 @@
<div class="modal-body px-4 py-5 c-scrollbar-light">
<div class="row">
<!-- Product Image gallery -->
<div class="col-lg-6">
<div class="row gutters-10 flex-row-reverse">
@php
$photos = explode(',',$product->photos);
@endphp
<div class="col">
<div class="aiz-carousel product-gallery" data-nav-for='.product-gallery-thumb' data-fade='true' data-auto-height='true'>
@foreach ($photos as $key => $photo)
<div class="carousel-box img-zoom rounded-0">
<img class="img-fluid lazyload"
src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($photo) }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</div>
@endforeach
@foreach ($product->stocks as $key => $stock)
@if ($stock->image != null)
<div class="carousel-box img-zoom rounded-0">
<img class="img-fluid lazyload"
src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($stock->image) }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</div>
@endif
@endforeach
</div>
</div>
<div class="col-auto w-90px">
<div class="aiz-carousel carousel-thumb product-gallery-thumb" data-items='5' data-nav-for='.product-gallery' data-vertical='true' data-focus-select='true'>
@foreach ($photos as $key => $photo)
<div class="carousel-box c-pointer border rounded-0">
<img class="lazyload mw-100 size-60px mx-auto"
src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($photo) }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</div>
@endforeach
@foreach ($product->stocks as $key => $stock)
@if ($stock->image != null)
<div class="carousel-box c-pointer border rounded-0" data-variation="{{ $stock->variant }}">
<img class="lazyload mw-100 size-50px mx-auto"
src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($stock->image) }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</div>
@endif
@endforeach
</div>
</div>
</div>
</div>
<!-- Product Info -->
<div class="col-lg-6">
<div class="text-left">
<!-- Product name -->
<h2 class="mb-2 fs-16 fw-700 text-dark">
{{ $product->getTranslation('name') }}
</h2>
<!-- Product Price & Club Point -->
@if(home_price($product) != home_discounted_price($product))
<div class="row no-gutters mt-3">
<div class="col-3">
<div class="text-secondary fs-14 fw-400">{{ translate('Price')}}</div>
</div>
<div class="col-9">
<div class="">
<strong class="fs-16 fw-700 text-primary">
{{ home_discounted_price($product) }}
</strong>
<del class="fs-14 opacity-60 ml-2">
{{ home_price($product) }}
</del>
@if($product->unit != null)
<span class="opacity-70 ml-1">/{{ $product->getTranslation('unit') }}</span>
@endif
@if(discount_in_percentage($product) > 0)
<span class="bg-primary ml-2 fs-11 fw-700 text-white w-35px text-center px-2" style="padding-top:2px;padding-bottom:2px;">-{{discount_in_percentage($product)}}%</span>
@endif
</div>
<!-- Club Point -->
@if (addon_is_activated('club_point') && $product->earn_point > 0)
<div class="mt-2 bg-warning d-flex justify-content-center align-items-center px-3 py-1" style="width: fit-content;">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
<g id="Group_23922" data-name="Group 23922" transform="translate(-973 -633)">
<circle id="Ellipse_39" data-name="Ellipse 39" cx="6" cy="6" r="6" transform="translate(973 633)" fill="#fff"/>
<g id="Group_23920" data-name="Group 23920" transform="translate(973 633)">
<path id="Path_28698" data-name="Path 28698" d="M7.667,3H4.333L3,5,6,9,9,5Z" transform="translate(0 0)" fill="#f3af3d"/>
<path id="Path_28699" data-name="Path 28699" d="M5.33,3h-1L3,5,6,9,4.331,5Z" transform="translate(0 0)" fill="#f3af3d" opacity="0.5"/>
<path id="Path_28700" data-name="Path 28700" d="M12.666,3h1L15,5,12,9l1.664-4Z" transform="translate(-5.995 0)" fill="#f3af3d"/>
</g>
</g>
</svg>
<small class="fs-11 fw-500 text-white ml-2">{{ translate('Club Point') }}: {{ $product->earn_point }}</small>
</div>
@endif
</div>
</div>
@else
<div class="row no-gutters mt-3">
<div class="col-3">
<div class="text-secondary fs-14 fw-400">{{ translate('Price')}}</div>
</div>
<div class="col-9">
<div class="">
<strong class="fs-16 fw-700 text-primary">
{{ home_discounted_price($product) }}
</strong>
@if ($product->unit != null)
<span class="opacity-70">/{{ $product->unit }}</span>
@endif
</div>
</div>
</div>
@endif
@php
$qty = 0;
foreach ($product->stocks as $key => $stock) {
$qty += $stock->qty;
}
@endphp
<!-- Product Choice options form -->
<form id="option-choice-form">
@csrf
<input type="hidden" name="id" value="{{ $product->id }}">
@if($product->digital !=1)
<!-- Product Choice options -->
@if ($product->choice_options != null)
@foreach (json_decode($product->choice_options) as $key => $choice)
<div class="row no-gutters mt-3">
<div class="col-3">
<div class="text-secondary fs-14 fw-400 mt-2 ">{{ \App\Models\Attribute::find($choice->attribute_id)->getTranslation('name') }}</div>
</div>
<div class="col-9">
<div class="aiz-radio-inline">
@foreach ($choice->values as $key => $value)
<label class="aiz-megabox pl-0 mr-2 mb-0">
<input
type="radio"
name="attribute_id_{{ $choice->attribute_id }}"
value="{{ $value }}"
@if($key == 0) checked @endif
>
<span class="aiz-megabox-elem rounded-0 d-flex align-items-center justify-content-center py-1 px-3">
{{ $value }}
</span>
</label>
@endforeach
</div>
</div>
</div>
@endforeach
@endif
<!-- Color -->
@if (count(json_decode($product->colors)) > 0)
<div class="row no-gutters mt-3">
<div class="col-3">
<div class="text-secondary fs-14 fw-400 mt-2">{{ translate('Color')}}</div>
</div>
<div class="col-9">
<div class="aiz-radio-inline">
@foreach (json_decode($product->colors) as $key => $color)
<label class="aiz-megabox pl-0 mr-2 mb-0" data-toggle="tooltip" data-title="{{ \App\Models\Color::where('code', $color)->first()->name }}">
<input
type="radio"
name="color"
value="{{ \App\Models\Color::where('code', $color)->first()->name }}"
@if($key == 0) checked @endif
>
<span class="aiz-megabox-elem rounded-0 d-flex align-items-center justify-content-center p-1">
<span class="size-25px d-inline-block rounded" style="background: {{ $color }};"></span>
</span>
</label>
@endforeach
</div>
</div>
</div>
@endif
<!-- Quantity -->
<div class="row no-gutters mt-3">
<div class="col-3">
<div class="text-secondary fs-14 fw-400 mt-2">{{ translate('Quantity')}}</div>
</div>
<div class="col-9">
<div class="product-quantity d-flex align-items-center">
<div class="row no-gutters align-items-center aiz-plus-minus mr-3" style="width: 130px;">
<button class="btn col-auto btn-icon btn-sm btn-light rounded-0" type="button" data-type="minus" data-field="quantity" disabled="">
<i class="las la-minus"></i>
</button>
<input type="number" name="quantity" class="col border-0 text-center flex-grow-1 fs-16 input-number" placeholder="1" value="{{ $product->min_qty }}" min="{{ $product->min_qty }}" max="10" lang="en">
<button class="btn col-auto btn-icon btn-sm btn-light rounded-0" type="button" data-type="plus" data-field="quantity">
<i class="las la-plus"></i>
</button>
</div>
<div class="avialable-amount opacity-60">
@if($product->stock_visibility_state == 'quantity')
(<span id="available-quantity">{{ $qty }}</span> {{ translate('available')}})
@elseif($product->stock_visibility_state == 'text' && $qty >= 1)
(<span id="available-quantity">{{ translate('In Stock') }}</span>)
@endif
</div>
</div>
</div>
</div>
@endif
<!-- Total Price -->
<div class="row no-gutters mt-3 pb-3 d-none" id="chosen_price_div">
<div class="col-3">
<div class="text-secondary fs-14 fw-400 mt-1">{{ translate('Total Price')}}</div>
</div>
<div class="col-9">
<div class="product-price">
<strong id="chosen_price" class="fs-20 fw-700 text-primary">
</strong>
</div>
</div>
</div>
</form>
<!-- Add to cart -->
<div class="mt-3">
@if ($product->digital == 1)
<button type="button" class="btn btn-primary rounded-0 buy-now fw-600 add-to-cart" onclick="addToCart()">
<i class="la la-shopping-cart"></i>
<span class="d-none d-md-inline-block">{{ translate('Add to cart')}}</span>
</button>
@elseif($qty > 0)
@if ($product->external_link != null)
<a type="button" class="btn btn-soft-primary rounded-0 mr-2 add-to-cart fw-600" href="{{ $product->external_link }}">
<i class="las la-share"></i>
<span class="d-none d-md-inline-block">{{ translate($product->external_link_btn)}}</span>
</a>
@else
<button type="button" class="btn btn-primary rounded-0 buy-now fw-600 add-to-cart" onclick="addToCart()">
<i class="la la-shopping-cart"></i>
<span class="d-none d-md-inline-block">{{ translate('Add to cart')}}</span>
</button>
@endif
@endif
<button type="button" class="btn btn-secondary rounded-0 out-of-stock fw-600 d-none" disabled>
<i class="la la-cart-arrow-down"></i>{{ translate('Out of Stock')}}
</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$('#option-choice-form input').on('change', function () {
getVariantPrice();
});
</script>

View File

@@ -0,0 +1,86 @@
<div class="modal-body px-4 py-5 c-scrollbar-light">
<!-- Item added to your cart -->
<div class="text-center text-success mb-4">
<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36">
<g id="Group_23957" data-name="Group 23957" transform="translate(-6269 7766)">
<path id="Path_28713" data-name="Path 28713" d="M12.8,32.8a3.6,3.6,0,1,0,3.6,3.6A3.584,3.584,0,0,0,12.8,32.8ZM2,4V7.6H5.6l6.471,13.653-2.43,4.41A3.659,3.659,0,0,0,9.2,27.4,3.6,3.6,0,0,0,12.8,31H34.4V27.4H13.565a.446.446,0,0,1-.45-.45.428.428,0,0,1,.054-.216L14.78,23.8H28.19a3.612,3.612,0,0,0,3.15-1.854l6.435-11.682A1.74,1.74,0,0,0,38,9.4a1.8,1.8,0,0,0-1.8-1.8H9.587L7.877,4H2ZM30.8,32.8a3.6,3.6,0,1,0,3.6,3.6A3.584,3.584,0,0,0,30.8,32.8Z" transform="translate(6267 -7770)" fill="#85b567"/>
<rect id="Rectangle_18068" data-name="Rectangle 18068" width="9" height="3" rx="1.5" transform="translate(6284.343 -7757.879) rotate(45)" fill="#fff"/>
<rect id="Rectangle_18069" data-name="Rectangle 18069" width="3" height="13" rx="1.5" transform="translate(6295.657 -7760.707) rotate(45)" fill="#fff"/>
</g>
</svg>
<h3 class="fs-28 fw-500">{{ translate('Item added to your cart!')}}</h3>
</div>
<!-- Product Info -->
<div class="media mb-1">
<img src="{{ static_asset('assets/img/placeholder.jpg') }}" data-src="{{ uploaded_asset($product->thumbnail_img) }}"
class="mr-4 lazyload size-90px img-fit rounded-0" alt="Product Image" onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
<div class="media-body mt-2 text-left d-flex flex-column justify-content-between">
<h6 class="fs-14 fw-700 text-truncate-2">
{{ $product->getTranslation('name') }}
</h6>
<div class="row mt-2">
<div class="col-sm-3 fs-14 fw-400 text-secondary">
<div>{{ translate('Price')}}</div>
</div>
<div class="col-sm-9">
<div class="fs-16 fw-700 text-primary">
<strong>
{{ single_price(($data['price'] + $data['tax']) * $data['quantity']) }}
</strong>
</div>
</div>
</div>
</div>
</div>
<!-- Related product -->
<div class="bg-white shadow-sm">
<div class="py-3">
<h3 class="fs-16 fw-700 mb-0 text-dark">
<span class="mr-4">{{ translate('Frequently Bought Together')}}</span>
</h3>
</div>
<div class="p-3">
<div class="aiz-carousel gutters-5 half-outside-arrow" data-items="2" data-xl-items="3" data-lg-items="4" data-md-items="3" data-sm-items="2" data-xs-items="2" data-arrows='true' data-infinite='true'>
@foreach (filter_products(\App\Models\Product::where('category_id', $product->category_id)->where('id', '!=', $product->id))->limit(10)->get() as $key => $related_product)
<div class="carousel-box hov-scale-img hov-shadow-sm">
<div class="aiz-card-box my-2 has-transition">
<div class="">
<a href="{{ route('product', $related_product->slug) }}" class="d-block">
<img class="img-fit lazyload mx-auto h-140px h-md-200px has-transition"
src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($related_product->thumbnail_img) }}"
alt="{{ $related_product->getTranslation('name') }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</a>
</div>
<div class="p-md-3 p-2 text-center">
<h3 class="fw-400 fs-14 text-dark text-truncate-2 lh-1-4 mb-0 h-35px">
<a href="{{ route('product', $related_product->slug) }}" class="d-block text-reset hov-text-primary">{{ $related_product->getTranslation('name') }}</a>
</h3>
<div class="fs-14 mt-3">
<span class="fw-700 text-primary">{{ home_discounted_base_price($related_product) }}</span>
@if(home_base_price($related_product) != home_discounted_base_price($related_product))
<del class="fw-600 opacity-50 ml-1">{{ home_base_price($related_product) }}</del>
@endif
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
<!-- Back to shopping & Checkout buttons -->
<div class="row gutters-5">
<div class="col-sm-6">
<button class="btn btn-warning mb-3 mb-sm-0 btn-block rounded-0 text-white" data-dismiss="modal">{{ translate('Back to shopping')}}</button>
</div>
<div class="col-sm-6">
<a href="{{ route('cart') }}" class="btn btn-primary mb-3 mb-sm-0 btn-block rounded-0">{{ translate('Proceed to Checkout')}}</a>
</div>
</div>
</div>

View File

@@ -0,0 +1,123 @@
<form class="form-default" role="form" action="{{ route('addresses.update', $address_data->id) }}" method="POST">
@csrf
<div class="p-3">
<!-- Address -->
<div class="row">
<div class="col-md-2">
<label>{{ translate('Address')}}</label>
</div>
<div class="col-md-10">
<textarea class="form-control mb-3 rounded-0" placeholder="{{ translate('Your Address')}}" rows="2" name="address" required>{{ $address_data->address }}</textarea>
</div>
</div>
<!-- Country -->
<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 rounded-0" data-live-search="true" data-placeholder="{{ translate('Select your country')}}" name="country_id" id="edit_country" required>
<option value="">{{ translate('Select your country') }}</option>
@foreach (\App\Models\Country::where('status', 1)->get() as $key => $country)
<option value="{{ $country->id }}" @if($address_data->country_id == $country->id) selected @endif>
{{ $country->name }}
</option>
@endforeach
</select>
</div>
</div>
</div>
<!-- State -->
<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 rounded-0" name="state_id" id="edit_state" data-live-search="true" required>
@foreach ($states as $key => $state)
<option value="{{ $state->id }}" @if($address_data->state_id == $state->id) selected @endif>
{{ $state->name }}
</option>
@endforeach
</select>
</div>
</div>
<!-- City -->
<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 rounded-0" data-live-search="true" name="city_id" required>
@foreach ($cities as $key => $city)
<option value="{{ $city->id }}" @if($address_data->city_id == $city->id) selected @endif>
{{ $city->name }}
</option>
@endforeach
</select>
</div>
</div>
@if (get_setting('google_map') == 1)
<!-- Google Map -->
<div class="row mt-3 mb-3">
<input id="edit_searchInput" class="controls" type="text" placeholder="Enter a location">
<div id="edit_map"></div>
<ul id="geoData">
<li style="display: none;">Full Address: <span id="location"></span></li>
<li style="display: none;">Postal Code: <span id="postal_code"></span></li>
<li style="display: none;">Country: <span id="country"></span></li>
<li style="display: none;">Latitude: <span id="lat"></span></li>
<li style="display: none;">Longitude: <span id="lon"></span></li>
</ul>
</div>
<!-- Longitude -->
<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 rounded-0" id="edit_longitude" name="longitude" value="{{ $address_data->longitude }}" readonly="">
</div>
</div>
<!-- Latitude -->
<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 rounded-0" id="edit_latitude" name="latitude" value="{{ $address_data->latitude }}" readonly="">
</div>
</div>
@endif
<!-- Postal code -->
<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 rounded-0" placeholder="{{ translate('Your Postal Code')}}" value="{{ $address_data->postal_code }}" name="postal_code" value="" required>
</div>
</div>
<!-- Phone -->
<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 rounded-0" placeholder="{{ translate('+880')}}" value="{{ $address_data->phone }}" name="phone" value="" required>
</div>
</div>
<!-- Save button -->
<div class="form-group text-right">
<button type="submit" class="btn btn-primary rounded-0 w-150px">{{translate('Save')}}</button>
</div>
</div>
</form>

View File

@@ -0,0 +1,240 @@
<!-- 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 modal-md" 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('addresses.store') }}" method="POST">
@csrf
<div class="modal-body c-scrollbar-light">
<div class="p-3">
<!-- Address -->
<div class="row">
<div class="col-md-2">
<label>{{ translate('Address')}}</label>
</div>
<div class="col-md-10">
<textarea class="form-control mb-3 rounded-0" placeholder="{{ translate('Your Address')}}" rows="2" name="address" required></textarea>
</div>
</div>
<!-- Country -->
<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 rounded-0" 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>
<!-- State -->
<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 rounded-0" data-live-search="true" name="state_id" required>
</select>
</div>
</div>
<!-- City -->
<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 rounded-0" data-live-search="true" name="city_id" required>
</select>
</div>
</div>
@if (get_setting('google_map') == 1)
<!-- Google Map -->
<div class="row mt-3 mb-3">
<input id="searchInput" class="controls" type="text" placeholder="{{translate('Enter a location')}}">
<div id="map"></div>
<ul id="geoData">
<li style="display: none;">Full Address: <span id="location"></span></li>
<li style="display: none;">Postal Code: <span id="postal_code"></span></li>
<li style="display: none;">Country: <span id="country"></span></li>
<li style="display: none;">Latitude: <span id="lat"></span></li>
<li style="display: none;">Longitude: <span id="lon"></span></li>
</ul>
</div>
<!-- Longitude -->
<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 rounded-0" id="longitude" name="longitude" readonly="">
</div>
</div>
<!-- Latitude -->
<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 rounded-0" id="latitude" name="latitude" readonly="">
</div>
</div>
@endif
<!-- Postal code -->
<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 rounded-0" placeholder="{{ translate('Your Postal Code')}}" name="postal_code" value="" required>
</div>
</div>
<!-- Phone -->
<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 rounded-0" placeholder="{{ translate('+880')}}" name="phone" value="" required>
</div>
</div>
<!-- Save button -->
<div class="form-group text-right">
<button type="submit" class="btn btn-primary rounded-0 w-150px">{{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 modal-md" 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 c-scrollbar-light" id="edit_modal_body">
</div>
</div>
</div>
</div>
@section('script')
<script type="text/javascript">
function add_new_address(){
$('#new-address-modal').modal('show');
}
function edit_address(address) {
var url = '{{ route("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
}
});
}
$(document).on('change', '[name=country_id]', function() {
var country_id = $(this).val();
get_states(country_id);
});
$(document).on('change', '[name=state_id]', function() {
var state_id = $(this).val();
get_city(state_id);
});
function get_states(country_id) {
$('[name="state"]').html("");
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "{{route('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('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');
}
}
});
}
</script>
@if (get_setting('google_map') == 1)
@include('frontend.partials.google_map')
@endif
@endsection

View File

@@ -0,0 +1,9 @@
<div class="modal-body p-4 added-to-cart">
<div class="text-center text-danger">
<h2>{{translate('oops..')}}</h2>
<h3>{{translate('Remove auction product from cart to add this product.')}}</h3>
</div>
<div class="text-center mt-5">
<button class="btn btn-outline-primary" data-dismiss="modal">{{translate('Back to shopping')}}</button>
</div>
</div>

View File

@@ -0,0 +1,51 @@
@php
$best_selers = Cache::remember('best_selers', 86400, function () {
return \App\Models\Shop::where('verification_status', 1)->orderBy('num_of_sale', 'desc')->take(20)->get();
});
@endphp
@if (get_setting('vendor_system_activation') == 1)
<section class="mb-4">
<div class="container">
<div class="px-2 py-4 px-md-4 py-md-3 bg-white shadow-sm rounded">
<div class="d-flex mb-3 align-items-baseline border-bottom">
<h3 class="h5 fw-700 mb-0">
<span class="border-bottom border-primary border-width-2 pb-3 d-inline-block">{{ translate('Best Sellers')}}</span>
</h3>
<a href="{{ route('sellers') }}" class="ml-auto mr-0 btn btn-primary btn-sm shadow-md">{{ translate('View All Sellers') }}</a>
</div>
<div class="aiz-carousel gutters-10 half-outside-arrow" data-items="3" data-lg-items="3" data-md-items="2" data-sm-items="2" data-xs-items="1" data-rows="2">
@foreach ($best_selers as $key => $seller)
@if ($seller->user != null)
<div class="carousel-box">
<div class="row no-gutters box-3 align-items-center border border-light rounded hov-shadow-md my-2 has-transition">
<div class="col-4">
<a href="{{ route('shop.visit', $seller->slug) }}" class="d-block p-3">
<img src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="@if ($seller->logo !== null) {{ uploaded_asset($seller->logo) }} @else {{ static_asset('assets/img/placeholder.jpg') }} @endif"
alt="{{ $seller->name }}"
class="img-fluid lazyload">
</a>
</div>
<div class="col-8 border-left border-light">
<div class="p-3 text-left">
<h2 class="h6 fw-600 text-truncate">
<a href="{{ route('shop.visit', $seller->slug) }}" class="text-reset">{{ $seller->name }}</a>
</h2>
<div class="rating rating-sm mb-2">
{{ renderStarRating($seller->rating) }}
</div>
<a href="{{ route('shop.visit', $seller->slug) }}" class="btn btn-soft-primary btn-sm">
{{ translate('Visit Store') }} <i class="las la-angle-right"></i>
</a>
</div>
</div>
</div>
</div>
@endif
@endforeach
</div>
</div>
</div>
</section>
@endif

View File

@@ -0,0 +1,34 @@
@php
$best_selling_products = Cache::remember('best_selling_products', 86400, function () {
return filter_products(\App\Models\Product::where('published', 1)->orderBy('num_of_sale', 'desc'))->limit(20)->get();
});
@endphp
@if (get_setting('best_selling') == 1 && count($best_selling_products) > 0)
<section class="mb-2 mb-md-3 mt-2 mt-md-3">
<div class="container">
<!-- Top Section -->
<div class="d-flex mb-2 mb-md-3 align-items-baseline justify-content-between">
<!-- Title -->
<h3 class="fs-16 fs-md-20 fw-700 mb-2 mb-sm-0">
<span class="">{{ translate('Best Selling') }}</span>
</h3>
<!-- Links -->
<div class="d-flex">
<a type="button" class="arrow-prev slide-arrow link-disable text-secondary mr-2" onclick="clickToSlide('slick-prev','section_best_selling')"><i class="las la-angle-left fs-20 fw-600"></i></a>
<a type="button" class="arrow-next slide-arrow text-secondary ml-2" onclick="clickToSlide('slick-next','section_best_selling')"><i class="las la-angle-right fs-20 fw-600"></i></a>
</div>
</div>
<!-- Product Section -->
<div class="px-sm-3">
<div class="aiz-carousel sm-gutters-16 arrow-none" data-items="6" data-xl-items="5" data-lg-items="4" data-md-items="3" data-sm-items="2" data-xs-items="2" data-arrows='true' data-infinite='false'>
@foreach ($best_selling_products as $key => $product)
<div class="carousel-box px-3 position-relative has-transition hov-animate-outline border-right border-top border-bottom @if($key == 0) border-left @endif">
@include('frontend.partials.product_box_1',['product' => $product])
</div>
@endforeach
</div>
</div>
</div>
</section>
@endif

View File

@@ -0,0 +1,110 @@
@php
if (auth()->user() != null) {
$user_id = Auth::user()->id;
$cart = \App\Models\Cart::where('user_id', $user_id)->get();
} else {
$temp_user_id = Session()->get('temp_user_id');
if ($temp_user_id) {
$cart = \App\Models\Cart::where('temp_user_id', $temp_user_id)->get();
}
}
$total = 0;
if(isset($cart) && count($cart) > 0){
foreach ($cart as $key => $cartItem){
$product = \App\Models\Product::find($cartItem['product_id']);
$total = $total + cart_product_price($cartItem, $product, false) * $cartItem['quantity'];
}
}
@endphp
<!-- Cart button with cart count -->
<a href="javascript:void(0)" class="d-flex align-items-center text-dark px-3 h-100" data-toggle="dropdown" data-display="static" title="{{translate('Cart')}}">
<span class="mr-2">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="20.562" viewBox="0 0 24 20.562">
<g id="_5e67fc94b53aaec8ca181b806dd815ee" data-name="5e67fc94b53aaec8ca181b806dd815ee" transform="translate(-33.276 -101)">
<path id="Path_32659" data-name="Path 32659" d="M34.034,102.519H38.2l-.732-.557c.122.37.243.739.365,1.112q.441,1.333.879,2.666.528,1.6,1.058,3.211.46,1.394.917,2.788c.149.451.291.9.446,1.352l.008.02a.76.76,0,0,0,1.466-.4c-.122-.37-.243-.739-.365-1.112q-.441-1.333-.879-2.666-.528-1.607-1.058-3.213-.46-1.394-.917-2.788c-.149-.451-.289-.9-.446-1.352l-.008-.02a.783.783,0,0,0-.732-.557H34.037a.76.76,0,0,0,0,1.519Z" fill="#fff"/>
<path id="Path_32660" data-name="Path 32660" d="M288.931,541.934q-.615,1.1-1.233,2.193c-.058.106-.119.21-.177.317a.767.767,0,0,0,.656,1.142h11.6c.534,0,1.071.01,1.608,0h.023a.76.76,0,0,0,0-1.519h-11.6c-.534,0-1.074-.015-1.608,0h-.023l.656,1.142q.615-1.1,1.233-2.193c.058-.106.119-.21.177-.316a.759.759,0,0,0-1.312-.765Z" transform="translate(-247.711 -429.41)" fill="#fff"/>
<circle id="Ellipse_553" data-name="Ellipse 553" cx="1.724" cy="1.724" r="1.724" transform="translate(49.612 117.606)" fill="#fff"/>
<path id="Path_32661" data-name="Path 32661" d="M658.4,739.2a2.267,2.267,0,0,0,1.489,2.1,2.232,2.232,0,0,0,2.433-.648A2.231,2.231,0,1,0,658.4,739.2a.506.506,0,0,0,1.013,0c0-.041,0-.084.005-.124a.381.381,0,0,1,.005-.053c.008-.1,0,.033-.005.03a.979.979,0,0,1,.061-.248c.008-.02.023-.106.04-.111s-.046.094-.018.043a.656.656,0,0,0,.028-.061,2.3,2.3,0,0,1,.129-.215c.048-.073-.068.078.013-.015.025-.028.051-.058.078-.086s.056-.056.084-.081l.038-.033c.018-.015.091-.051.025-.023s-.015.013,0,0,.035-.025.056-.038a.947.947,0,0,1,.086-.051c.038-.023.078-.041.119-.061.013-.008.066-.033,0,0s.025-.008.033-.01A1.56,1.56,0,0,1,660.4,738l.068-.013c.056-.013-.048.005-.048.005.046,0,.094-.01.139-.01a2.043,2.043,0,0,1,.248.008c.094.008-.1-.018.02.005.046.008.089.02.134.03s.076.023.114.035a.589.589,0,0,1,.063.023c0,.008-.094-.048-.043-.018.071.043.149.076.22.122.018.013.035.025.056.038s.056.023,0,0-.018-.015,0,0l.051.043a2.274,2.274,0,0,1,.172.177c.076.084-.035-.058.013.015.02.033.043.063.063.1s.041.068.058.1l.023.046c.048.091.01-.008,0-.013.03.01.063.192.073.225l.023.1c.02.1,0-.03,0-.033.013.013.008.071.008.086a1.749,1.749,0,0,1,0,.23.63.63,0,0,0-.005.071c0,.051-.03.043.005-.03a.791.791,0,0,0-.028.134c-.018.071-.046.139-.066.21s.046-.086.013-.028a.245.245,0,0,0-.02.046c-.02.041-.041.078-.063.117s-.041.066-.063.1c-.068.1.048-.051-.01.018a1.932,1.932,0,0,1-.172.18c-.01.01-.071.076-.089.076,0,0,.1-.071.023-.02-.015.01-.028.018-.041.028-.071.046-.144.084-.218.122s.091-.03-.018.008l-.111.038-.116.03c-.018,0-.033.008-.051.01-.111.025.081-.005.015,0a2.045,2.045,0,0,1-.248.01c-.041,0-.081-.005-.124-.008-.015,0-.076-.008,0,0s-.018-.005-.035-.008a1.912,1.912,0,0,1-.261-.076c-.015-.005-.066-.03,0,0s-.015-.008-.03-.015c-.041-.02-.078-.041-.117-.063s-.073-.048-.111-.073c-.061-.038.008.02.023.02-.01,0-.043-.035-.051-.043a1.872,1.872,0,0,1-.187-.187.3.3,0,0,1-.043-.051c0,.01.061.086.02.023-.025-.038-.051-.073-.073-.111s-.048-.089-.071-.132c-.053-.1.025.081-.015-.033a1.836,1.836,0,0,1-.073-.263.163.163,0,0,0-.01-.051c.038.084.008.071,0,.013s-.008-.106-.008-.16a.513.513,0,0,0-1.026,0Z" transform="translate(-609.293 -619.872)" fill="#fff"/>
<circle id="Ellipse_554" data-name="Ellipse 554" cx="1.724" cy="1.724" r="1.724" transform="translate(40.884 117.606)" fill="#fff"/>
<path id="Path_32662" data-name="Path 32662" d="M270.814,272.355a2.267,2.267,0,0,0,1.489,2.1,2.232,2.232,0,0,0,2.433-.648,2.231,2.231,0,1,0-3.922-1.453.506.506,0,0,0,1.013,0c0-.041,0-.084.005-.124a.377.377,0,0,1,.005-.053c.008-.1,0,.033-.005.03a.981.981,0,0,1,.061-.248c.008-.02.023-.106.04-.111s-.046.094-.018.043a.656.656,0,0,0,.028-.061,2.3,2.3,0,0,1,.129-.215c.048-.073-.068.079.013-.015.025-.028.051-.058.078-.086s.056-.056.084-.081l.038-.033c.018-.015.091-.051.025-.023s-.015.013,0,0,.035-.025.056-.038a.96.96,0,0,1,.086-.051c.038-.023.078-.04.119-.061.013-.008.066-.033,0,0s.025-.008.033-.01a1.564,1.564,0,0,1,.213-.061l.068-.013c.056-.013-.048.005-.048.005.046,0,.094-.01.139-.01a2.031,2.031,0,0,1,.248.008c.094.008-.1-.018.02.005.046.008.089.02.134.03s.076.023.114.035a.583.583,0,0,1,.063.023c0,.008-.094-.048-.043-.018.071.043.149.076.22.122.018.013.035.025.056.038s.056.023,0,0-.018-.015,0,0l.051.043a2.257,2.257,0,0,1,.172.177c.076.084-.035-.058.013.015.02.033.043.063.063.1s.04.068.058.1l.023.046c.048.091.01-.008,0-.013.03.01.063.192.073.225l.023.1c.02.1,0-.03,0-.033.013.013.008.071.008.086a1.749,1.749,0,0,1,0,.23.622.622,0,0,0-.005.071c0,.051-.03.043.005-.03a.788.788,0,0,0-.028.134c-.018.071-.046.139-.066.21s.046-.086.013-.028a.249.249,0,0,0-.02.046c-.02.04-.041.078-.063.116s-.041.066-.063.1c-.068.1.048-.051-.01.018a1.929,1.929,0,0,1-.172.18c-.01.01-.071.076-.089.076,0,0,.1-.071.023-.02-.015.01-.028.018-.041.028-.071.046-.144.084-.218.122s.091-.03-.018.008l-.111.038-.116.03c-.018,0-.033.008-.051.01-.111.025.081-.005.015,0a2.039,2.039,0,0,1-.248.01c-.041,0-.081-.005-.124-.008-.015,0-.076-.008,0,0s-.018-.005-.035-.008a1.919,1.919,0,0,1-.261-.076c-.015-.005-.066-.03,0,0s-.015-.008-.03-.015c-.04-.02-.078-.04-.116-.063s-.073-.048-.111-.073c-.061-.038.008.02.023.02-.01,0-.043-.035-.051-.043a1.873,1.873,0,0,1-.187-.187.3.3,0,0,1-.043-.051c0,.01.061.086.02.023-.025-.038-.051-.073-.073-.111s-.048-.089-.071-.132c-.053-.1.025.081-.015-.033a1.84,1.84,0,0,1-.073-.263.164.164,0,0,0-.01-.051c.038.084.008.071,0,.013s-.008-.106-.008-.16a.513.513,0,0,0-1.026,0ZM287.2,258l-3.074,7.926H272.313L269.7,258Z" transform="translate(-230.437 -153.024)" fill="#fff"/>
<path id="Path_32663" data-name="Path 32663" d="M267.044,237.988q-.52,1.341-1.038,2.682-.828,2.138-1.654,4.274l-.38.983.489-.372H254.1c-.476,0-.957-.02-1.436,0h-.02l.489.372q-.444-1.348-.886-2.694-.7-2.131-1.4-4.264c-.109-.327-.215-.653-.324-.983l-.489.641h16.791c.228,0,.456.005.681,0h.03a.506.506,0,0,0,0-1.013H250.744c-.228,0-.456-.005-.681,0h-.03a.511.511,0,0,0-.489.641q.444,1.348.886,2.694.7,2.131,1.4,4.264c.109.327.215.653.324.983a.523.523,0,0,0,.489.372h10.359c.476,0,.957.018,1.436,0h.02a.526.526,0,0,0,.489-.372q.52-1.341,1.038-2.682.828-2.138,1.654-4.274l.38-.983a.508.508,0,0,0-.355-.623A.52.52,0,0,0,267.044,237.988Z" transform="translate(-210.769 -133.152)" fill="#fff"/>
</g>
</svg>
</span>
<span class="d-none d-xl-block ml-2 fs-14 fw-700 text-white">{{ single_price($total) }}</span>
<span class="nav-box-text d-none d-xl-block ml-2 text-white fs-12">
(<span class="cart-count">{{(isset($cart) && count($cart) > 0) ? count($cart) : 0 }}</span> {{translate('Items')}})
</span>
</a>
<!-- Cart Items -->
<div class="dropdown-menu dropdown-menu-right dropdown-menu-lg p-0 stop-propagation rounded-0">
@if (isset($cart) && count($cart) > 0)
<div class="fs-16 fw-700 text-soft-dark pt-4 pb-2 mx-4 border-bottom" style="border-color: #e5e5e5 !important;">
{{ translate('Cart Items') }}
</div>
<!-- Cart Products -->
<ul class="h-360px overflow-auto c-scrollbar-light list-group list-group-flush mx-1">
@foreach ($cart as $key => $cartItem)
@php
$product = \App\Models\Product::find($cartItem['product_id']);
@endphp
@if ($product != null)
<li class="list-group-item border-0 hov-scale-img">
<span class="d-flex align-items-center">
<a href="{{ route('product', $product->slug) }}"
class="text-reset d-flex align-items-center flex-grow-1">
<img src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($product->thumbnail_img) }}"
class="img-fit lazyload size-60px has-transition"
alt="{{ $product->getTranslation('name') }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
<span class="minw-0 pl-2 flex-grow-1">
<span class="fw-700 fs-13 text-dark mb-2 text-truncate-2" title="{{ $product->getTranslation('name') }}">
{{ $product->getTranslation('name') }}
</span>
<span class="fs-14 fw-400 text-secondary">{{ $cartItem['quantity'] }}x</span>
<span class="fs-14 fw-400 text-secondary">{{ cart_product_price($cartItem, $product) }}</span>
</span>
</a>
<span class="">
<button onclick="removeFromCart({{ $cartItem['id'] }})"
class="btn btn-sm btn-icon stop-propagation">
<i class="la la-close fs-18 fw-600 text-secondary"></i>
</button>
</span>
</span>
</li>
@endif
@endforeach
</ul>
<!-- Subtotal -->
<div class="px-3 py-2 fs-15 border-top d-flex justify-content-between mx-4" style="border-color: #e5e5e5 !important;">
<span class="fs-14 fw-400 text-secondary">{{ translate('Subtotal') }}</span>
<span class="fs-16 fw-700 text-dark">{{ single_price($total) }}</span>
</div>
<!-- View cart & Checkout Buttons -->
<div class="py-3 text-center border-top mx-4" style="border-color: #e5e5e5 !important;">
<div class="row gutters-10 justify-content-center">
<div class="col-sm-6 mb-2">
<a href="{{ route('cart') }}" class="btn btn-warning btn-sm btn-block rounded-4 text-white">
{{ translate('View cart') }}
</a>
</div>
@if (Auth::check())
<div class="col-sm-6">
<a href="{{ route('checkout.shipping_info') }}" class="btn btn-primary btn-sm btn-block rounded-4">
{{ translate('Checkout') }}
</a>
</div>
@endif
</div>
</div>
@else
<div class="text-center p-3">
<i class="las la-frown la-3x opacity-60 mb-3"></i>
<h3 class="h6 fw-700">{{ translate('Your Cart is empty') }}</h3>
</div>
@endif
</div>

View File

@@ -0,0 +1,142 @@
<div class="container">
@if( $carts && count($carts) > 0 )
<div class="row">
<div class="col-xxl-8 col-xl-10 mx-auto">
<div class="border bg-white p-3 p-lg-4 text-left">
<div class="mb-4">
<!-- Headers -->
<div class="row gutters-5 d-none d-lg-flex border-bottom mb-3 pb-3 text-secondary fs-12">
<div class="col col-md-1 fw-600">{{ translate('Qty')}}</div>
<div class="col-md-5 fw-600">{{ translate('Product')}}</div>
<div class="col fw-600">{{ translate('Price')}}</div>
<div class="col fw-600">{{ translate('Tax')}}</div>
<div class="col fw-600">{{ translate('Total')}}</div>
<div class="col-auto fw-600">{{ translate('Remove')}}</div>
</div>
<!-- Cart Items -->
<ul class="list-group list-group-flush">
@php
$total = 0;
@endphp
@foreach ($carts as $key => $cartItem)
@php
$product = \App\Models\Product::find($cartItem['product_id']);
$product_stock = $product->stocks->where('variant', $cartItem['variation'])->first();
// $total = $total + ($cartItem['price'] + $cartItem['tax']) * $cartItem['quantity'];
$total = $total + cart_product_price($cartItem, $product, false) * $cartItem['quantity'];
$product_name_with_choice = $product->getTranslation('name');
if ($cartItem['variation'] != null) {
$product_name_with_choice = $product->getTranslation('name').' - '.$cartItem['variation'];
}
@endphp
<li class="list-group-item px-0">
<div class="row gutters-5 align-items-center">
<!-- Quantity -->
<div class="col-md-1 col order-1 order-md-0">
@if ($cartItem['digital'] != 1 && $product->auction_product == 0)
<div class="d-flex flex-column align-items-start aiz-plus-minus mr-2 ml-0">
<button
class="btn col-auto btn-icon btn-sm btn-circle btn-light"
type="button" data-type="plus"
data-field="quantity[{{ $cartItem['id'] }}]">
<i class="las la-plus"></i>
</button>
<input type="number" name="quantity[{{ $cartItem['id'] }}]"
class="col border-0 text-left px-0 flex-grow-1 fs-14 input-number"
placeholder="1" value="{{ $cartItem['quantity'] }}"
min="{{ $product->min_qty }}"
max="{{ $product_stock->qty }}"
onchange="updateQuantity({{ $cartItem['id'] }}, this)" style="padding-left:0.75rem !important;">
<button
class="btn col-auto btn-icon btn-sm btn-circle btn-light"
type="button" data-type="minus"
data-field="quantity[{{ $cartItem['id'] }}]">
<i class="las la-minus"></i>
</button>
</div>
@elseif($product->auction_product == 1)
<span class="fw-700 fs-14">1</span>
@endif
</div>
<!-- Product Image & name -->
<div class="col-md-5 d-flex align-items-center mb-2 mb-md-0">
<span class="mr-2 ml-0">
<img src="{{ uploaded_asset($product->thumbnail_img) }}"
class="img-fit size-70px"
alt="{{ $product->getTranslation('name') }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</span>
<span class="fs-14">{{ $product_name_with_choice }}</span>
</div>
<!-- Price -->
<div class="col-md col-4 order-2 order-md-0 my-3 my-md-0">
<span class="opacity-60 fs-12 d-block d-md-none">{{ translate('Price')}}</span>
<span class="fw-700 fs-14">{{ cart_product_price($cartItem, $product, true, false) }}</span>
</div>
<!-- Tax -->
<div class="col-md col-4 order-3 order-md-0 my-3 my-md-0">
<span class="opacity-60 fs-12 d-block d-md-none">{{ translate('Tax')}}</span>
<span class="fw-700 fs-14">{{ cart_product_tax($cartItem, $product) }}</span>
</div>
<!-- Total -->
<div class="col-md col-5 order-4 order-md-0 my-3 my-md-0">
<span class="opacity-60 fs-12 d-block d-md-none">{{ translate('Total')}}</span>
<span class="fw-700 fs-16 text-primary">{{ single_price(cart_product_price($cartItem, $product, false) * $cartItem['quantity']) }}</span>
</div>
<!-- Remove From Cart -->
<div class="col-md-auto col-6 order-5 order-md-0 text-right">
<a href="javascript:void(0)" onclick="removeFromCartView(event, {{ $cartItem['id'] }})" class="btn btn-icon btn-sm btn-soft-primary bg-soft-warning hov-bg-primary btn-circle">
<i class="las la-trash fs-16"></i>
</a>
</div>
</div>
</li>
@endforeach
</ul>
</div>
<!-- Subtotal -->
<div class="px-0 py-2 mb-4 border-top d-flex justify-content-between">
<span class="opacity-60 fs-14">{{translate('Subtotal')}}</span>
<span class="fw-700 fs-16">{{ single_price($total) }}</span>
</div>
<div class="row align-items-center">
<!-- Return to shop -->
<div class="col-md-6 text-center text-md-left order-1 order-md-0">
<a href="{{ route('home') }}" class="btn btn-link fs-14 fw-700 px-0">
<i class="las la-arrow-left fs-16"></i>
{{ translate('Return to shop')}}
</a>
</div>
<!-- Continue to Shipping -->
<div class="col-md-6 text-center text-md-right">
@if(Auth::check())
<a href="{{ route('checkout.shipping_info') }}" class="btn btn-primary fs-14 fw-700 rounded-0 px-4">
{{ translate('Continue to Shipping')}}
</a>
@else
<button class="btn btn-primary fs-14 fw-700 rounded-0 px-4" onclick="showLoginModal()">{{ translate('Continue to Shipping')}}</button>
@endif
</div>
</div>
</div>
</div>
</div>
@else
<div class="row">
<div class="col-xl-8 mx-auto">
<div class="border bg-white p-4">
<!-- Empty cart -->
<div class="text-center p-3">
<i class="las la-frown la-3x opacity-60 mb-3"></i>
<h3 class="h4 fw-700">{{translate('Your Cart is empty')}}</h3>
</div>
</div>
</div>
</div>
@endif
</div>
<script type="text/javascript">
AIZ.extra.plusMinus();
</script>

View File

@@ -0,0 +1,247 @@
<div class="card rounded-0 border shadow-none">
<div class="card-header pt-4 pb-1 border-bottom-0">
<h3 class="fs-16 fw-700 mb-0">{{ translate('Summary') }}</h3>
<div class="text-right">
<!-- Items Count -->
<span class="badge badge-inline badge-primary fs-12 rounded-0 px-2">
{{ count($carts) }}
{{ translate('Items') }}
</span>
<!-- Minimum Order Amount -->
@php
$coupon_discount = 0;
@endphp
@if (Auth::check() && get_setting('coupon_system') == 1)
@php
$coupon_code = null;
@endphp
@foreach ($carts as $key => $cartItem)
@php
$product = \App\Models\Product::find($cartItem['product_id']);
@endphp
@if ($cartItem->coupon_applied == 1)
@php
$coupon_code = $cartItem->coupon_code;
break;
@endphp
@endif
@endforeach
@php
$coupon_discount = carts_coupon_discount($coupon_code);
@endphp
@endif
@php $subtotal_for_min_order_amount = 0; @endphp
@foreach ($carts as $key => $cartItem)
@php $subtotal_for_min_order_amount += cart_product_price($cartItem, $cartItem->product, false, false) * $cartItem['quantity']; @endphp
@endforeach
@if (get_setting('minimum_order_amount_check') == 1 && $subtotal_for_min_order_amount < get_setting('minimum_order_amount'))
<span class="badge badge-inline badge-primary fs-12 rounded-0 px-2">
{{ translate('Minimum Order Amount') . ' ' . single_price(get_setting('minimum_order_amount')) }}
</span>
@endif
</div>
</div>
<!-- Club point -->
@if (addon_is_activated('club_point'))
<div class="px-4 pt-1 w-100 d-flex align-items-center justify-content-between">
<h3 class="fs-14 fw-700 mb-0">{{ translate('Total Clubpoint') }}</h3>
<div class="text-right">
<span class="badge badge-inline badge-warning fs-12 rounded-0 px-2 text-white">
@php
$total_point = 0;
@endphp
@foreach ($carts as $key => $cartItem)
@php
$product = \App\Models\Product::find($cartItem['product_id']);
$total_point += $product->earn_point * $cartItem['quantity'];
@endphp
@endforeach
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" class="mr-2">
<g id="Group_23922" data-name="Group 23922" transform="translate(-973 -633)">
<circle id="Ellipse_39" data-name="Ellipse 39" cx="6" cy="6" r="6" transform="translate(973 633)" fill="#fff"/>
<g id="Group_23920" data-name="Group 23920" transform="translate(973 633)">
<path id="Path_28698" data-name="Path 28698" d="M7.667,3H4.333L3,5,6,9,9,5Z" transform="translate(0 0)" fill="#f3af3d"/>
<path id="Path_28699" data-name="Path 28699" d="M5.33,3h-1L3,5,6,9,4.331,5Z" transform="translate(0 0)" fill="#f3af3d" opacity="0.5"/>
<path id="Path_28700" data-name="Path 28700" d="M12.666,3h1L15,5,12,9l1.664-4Z" transform="translate(-5.995 0)" fill="#f3af3d"/>
</g>
</g>
</svg>
{{ $total_point }}
</span>
</div>
</div>
@endif
<div class="card-body">
<!-- Products Info -->
<table class="table">
<thead>
<tr>
<th class="product-name border-top-0 border-bottom-1 pl-0 fs-12 fw-400 opacity-60">{{ translate('Product') }}</th>
<th class="product-total text-right border-top-0 border-bottom-1 pr-0 fs-12 fw-400 opacity-60">{{ translate('Total') }}</th>
</tr>
</thead>
<tbody>
@php
$subtotal = 0;
$tax = 0;
$shipping = 0;
$product_shipping_cost = 0;
$shipping_region = $shipping_info['city'];
@endphp
@foreach ($carts as $key => $cartItem)
@php
$product = \App\Models\Product::find($cartItem['product_id']);
$subtotal += cart_product_price($cartItem, $product, false, false) * $cartItem['quantity'];
$tax += cart_product_tax($cartItem, $product, false) * $cartItem['quantity'];
$product_shipping_cost = $cartItem['shipping_cost'];
$shipping += $product_shipping_cost;
$product_name_with_choice = $product->getTranslation('name');
if ($cartItem['variant'] != null) {
$product_name_with_choice = $product->getTranslation('name') . ' - ' . $cartItem['variant'];
}
@endphp
<tr class="cart_item">
<td class="product-name pl-0 fs-14 text-dark fw-400 border-top-0 border-bottom">
{{ $product_name_with_choice }}
<strong class="product-quantity">
× {{ $cartItem['quantity'] }}
</strong>
</td>
<td class="product-total text-right pr-0 fs-14 text-primary fw-600 border-top-0 border-bottom">
<span
class="pl-4 pr-0">{{ single_price(cart_product_price($cartItem, $cartItem->product, false, false) * $cartItem['quantity']) }}</span>
</td>
</tr>
@endforeach
</tbody>
</table>
<input type="hidden" id="sub_total" value="{{ $subtotal }}">
<table class="table" style="margin-top: 2rem!important;">
<tfoot>
<!-- Subtotal -->
<tr class="cart-subtotal">
<th class="pl-0 fs-14 pt-0 pb-2 text-dark fw-600 border-top-0">{{ translate('Subtotal') }}</th>
<td class="text-right pr-0 fs-14 pt-0 pb-2 fw-600 text-primary border-top-0">
<span class="fw-600">{{ single_price($subtotal) }}</span>
</td>
</tr>
<!-- Tax -->
<tr class="cart-shipping">
<th class="pl-0 fs-14 pt-0 pb-2 text-dark fw-600 border-top-0">{{ translate('Tax') }}</th>
<td class="text-right pr-0 fs-14 pt-0 pb-2 fw-600 text-primary border-top-0">
<span class="fw-600">{{ single_price($tax) }}</span>
</td>
</tr>
<!-- Total Shipping -->
<tr class="cart-shipping">
<th class="pl-0 fs-14 pt-0 pb-2 text-dark fw-600 border-top-0">{{ translate('Total Shipping') }}</th>
<td class="text-right pr-0 fs-14 pt-0 pb-2 fw-600 text-primary border-top-0">
<span class="fw-600">{{ single_price($shipping) }}</span>
</td>
</tr>
<!-- Redeem point -->
@if (Session::has('club_point'))
<tr class="cart-shipping">
<th class="pl-0 fs-14 pt-0 pb-2 text-dark fw-600 border-top-0">{{ translate('Redeem point') }}</th>
<td class="text-right pr-0 fs-14 pt-0 pb-2 fw-600 text-primary border-top-0">
<span class="fw-600">{{ single_price(Session::get('club_point')) }}</span>
</td>
</tr>
@endif
<!-- Coupon Discount -->
@if ($coupon_discount > 0)
<tr class="cart-shipping">
<th class="pl-0 fs-14 pt-0 pb-2 text-dark fw-600 border-top-0">{{ translate('Coupon Discount') }}</th>
<td class="text-right pr-0 fs-14 pt-0 pb-2 fw-600 text-primary border-top-0">
<span class="fw-600">{{ single_price($coupon_discount) }}</span>
</td>
</tr>
@endif
@php
$total = $subtotal + $tax + $shipping;
if (Session::has('club_point')) {
$total -= Session::get('club_point');
}
if ($coupon_discount > 0) {
$total -= $coupon_discount;
}
@endphp
<!-- Total -->
<tr class="cart-total">
<th class="pl-0 fs-14 text-dark fw-600"><span class="strong-600">{{ translate('Total') }}</span></th>
<td class="text-right pr-0 fs-14 fw-600 text-primary">
<strong><span>{{ single_price($total) }}</span></strong>
</td>
</tr>
</tfoot>
</table>
<!-- Remove Redeem Point -->
@if (addon_is_activated('club_point'))
@if (Session::has('club_point'))
<div class="mt-3">
<form class="" action="{{ route('checkout.remove_club_point') }}" method="POST"
enctype="multipart/form-data">
@csrf
<div class="input-group">
<div class="form-control">{{ Session::get('club_point') }}</div>
<div class="input-group-append">
<button type="submit"
class="btn btn-primary">{{ translate('Remove Redeem Point') }}</button>
</div>
</div>
</form>
</div>
@endif
@endif
<!-- Coupon System -->
@if (Auth::check() && get_setting('coupon_system') == 1)
@if ($coupon_discount > 0 && $coupon_code)
<div class="mt-3">
<form class="" id="remove-coupon-form" enctype="multipart/form-data">
@csrf
<div class="input-group">
<div class="form-control">{{ $coupon_code }}</div>
<div class="input-group-append">
<button type="button" id="coupon-remove"
class="btn btn-primary">{{ translate('Change Coupon') }}</button>
</div>
</div>
</form>
</div>
@else
<div class="mt-3">
<form class="" id="apply-coupon-form" enctype="multipart/form-data">
@csrf
<input type="hidden" name="owner_id" value="{{ $carts[0]['owner_id'] }}">
<div class="input-group">
<input type="text" class="form-control rounded-0" name="code"
onkeydown="return event.key != 'Enter';"
placeholder="{{ translate('Have coupon code? Apply here') }}" required>
<div class="input-group-append">
<button type="button" id="coupon-apply"
class="btn btn-primary rounded-0">{{ translate('Apply') }}</button>
</div>
</div>
</form>
</div>
@endif
@endif
</div>
</div>

View File

@@ -0,0 +1,16 @@
<div class="card-columns">
@foreach (\App\Utility\CategoryUtility::get_immediate_children_ids($category->id) as $key => $first_level_id)
<div class="card shadow-none border-0">
<ul class="list-unstyled mb-3">
<li class="fs-14 fw-700 mb-3">
<a class="text-reset hov-text-primary" href="{{ route('products.category', \App\Models\Category::find($first_level_id)->slug) }}">{{ \App\Models\Category::find($first_level_id)->getTranslation('name') }}</a>
</li>
@foreach (\App\Utility\CategoryUtility::get_immediate_children_ids($first_level_id) as $key => $second_level_id)
<li class="mb-2 fs-14 pl-2">
<a class="text-reset hov-text-primary animate-underline-primary" href="{{ route('products.category', \App\Models\Category::find($second_level_id)->slug) }}">{{ \App\Models\Category::find($second_level_id)->getTranslation('name') }}</a>
</li>
@endforeach
</ul>
</div>
@endforeach
</div>

View File

@@ -0,0 +1,24 @@
<div class="aiz-category-menu bg-white rounded-0 border-top" id="category-sidebar" style="width:270px;">
<ul class="list-unstyled categories no-scrollbar mb-0 text-left ">
@foreach (\App\Models\Category::where('level', 0)->orderBy('order_level', 'desc')->get()->take(10) as $key => $category)
<li class="category-nav-element border border-top-0" data-id="{{ $category->id }}">
<a href="{{ route('products.category', $category->slug) }}" class="text-truncate text-dark px-4 fs-14 d-block hov-column-gap-1">
<img class="cat-image lazyload mr-2 opacity-60"
src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($category->icon) }}"
width="16"
alt="{{ $category->getTranslation('name') }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
<span class="cat-name has-transition">{{ $category->getTranslation('name') }}</span>
</a>
@if(count(\App\Utility\CategoryUtility::get_immediate_children_ids($category->id))>0)
<div class="sub-cat-menu c-scrollbar-light border p-4 shadow-none">
<div class="c-preloader text-center absolute-center">
<i class="las la-spinner la-spin la-3x opacity-70"></i>
</div>
</div>
@endif
</li>
@endforeach
</ul>
</div>

View File

@@ -0,0 +1,10 @@
<a href="{{ route('compare') }}" class="d-flex align-items-center text-dark" data-toggle="tooltip" data-title="{{ translate('Compare') }}" data-placement="top">
<span class="position-relative d-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path id="_9f8e765afedd47ec9e49cea83c37dfea" data-name="9f8e765afedd47ec9e49cea83c37dfea" d="M18.037,5.547v.8a.8.8,0,0,1-.8.8H7.221a.4.4,0,0,0-.4.4V9.216a.642.642,0,0,1-1.1.454L2.456,6.4a.643.643,0,0,1,0-.909L5.723,2.227a.642.642,0,0,1,1.1.454V4.342a.4.4,0,0,0,.4.4H17.234a.8.8,0,0,1,.8.8Zm-3.685,4.86a.642.642,0,0,0-1.1.454v1.661a.4.4,0,0,1-.4.4H2.84a.8.8,0,0,0-.8.8v.8a.8.8,0,0,0,.8.8H12.854a.4.4,0,0,1,.4.4V17.4a.642.642,0,0,0,1.1.454l3.267-3.268a.643.643,0,0,0,0-.909Z" transform="translate(-2.037 -2.038)" fill="#fff"/>
</svg>
@if(Session::has('compare'))
<span class="badge badge-primary badge-inline badge-pill absolute-top-right--10px">{{ count(Session::get('compare'))}}</span>
@endif
</span>
</a>

View File

@@ -0,0 +1,104 @@
@if ($key == 0 || ($key+1 > 3 && ($key+1 -(floor(($key+1)%3)*3)) == 1))
@php $bg = "linear-gradient(to right, #e2583e 0%, #bf1931 100%);"; @endphp
@elseif ($key == 1 || ($key+1 > 3 && ($key+1 -(floor(($key+1)%3)*3)) == 2))
@php $bg = "linear-gradient(to right, #7cc4c3 0%, #479493 100%);"; @endphp
@elseif ($key == 2 || ($key+1 > 3 && ($key+1 -(floor(($key+1)%3)*3)) == 3))
@php $bg = "linear-gradient(to right, #98b3d1 0%, #5f4a8b 100%);"; @endphp
@endif
@if($coupon->type == 'product_base')
@php
$products = json_decode($coupon->details);
$coupon_products = [];
foreach($products as $product) {
array_push($coupon_products, $product->product_id);
}
@endphp
@else
@php
$order_discount = json_decode($coupon->details);
@endphp
@endif
@php
if($coupon->user->user_type != 'admin') {
$shop = $coupon->user->shop;
$name = $shop->name;
}
else {
$name = get_setting('website_name');
}
@endphp
<div style="min-height: 232px; border-radius: 24px; background: {{ $bg }};" class="d-flex align-items-center position-relative">
<!-- Shop Name & discount -->
<div class="position-absolute" style="top:2rem; left:2rem;">
<h3 class="fs-13 text-white fw-500 px-3">{{ $name }}
@if (\Request::route()->getName() == 'coupons.all')
<a
@if($coupon->user->user_type != 'admin')
href="{{ route('shop.visit', $shop->slug) }}"
@else
href="{{ route('inhouse.all') }}"
@endif
class="ml-3 text-white hov-text-warning fs-13" style="text-decoration: underline;"
>
{{ translate('Visit Store') }}
</a>
@endif
</h3>
<div class="align-self-center px-3 flex-grow-1 text-white">
@if($coupon->discount_type == 'amount')
<p class="fs-16 fw-500 mb-1">{{ single_price($coupon->discount) }} {{ translate('OFF') }}</p>
@else
<p class="fs-16 fw-500 mb-1">{{ $coupon->discount }}% {{ translate('OFF') }}</p>
@endif
</div>
</div>
<!-- Middle design -->
<div class="d-flex jystify-content-between align-items-center w-100 position-absolute">
<span class="bg-white rounded-content" style="min-height: 48px; min-width: 48px; margin-left: -24px;"></span>
<hr class="border border-dashed border-white opacity-40 w-100 mx-2">
<span class="bg-white rounded-content" style="min-height: 48px; min-width: 48px; margin-right: -24px;"></span>
</div>
<!-- Coupon Details -->
<div class="position-absolute" style="bottom:1rem; left:2rem; right:2rem">
<div class="px-4 mt-2">
@if($coupon->type == 'product_base')
<!-- Coupon Products -->
@php $products = App\Models\Product::whereIn('id', $coupon_products)->get(); @endphp
<div class="aiz-carousel coupon-slider gutters-16 arrow-none" data-items="6" data-lg-items="6" data-md-items="4" data-sm-items="4" data-xs-items="4" data-arrows='true' data-infinite='true' data-autoplay="true">
@foreach($products as $key => $product)
<a href="{{ route('product', $product->slug) }}" title="{{ $product->name }}" class='p-1 border border-transparent hov-border' target="_blank">
<img class="img-fit mx-auto h-48px w-48px"
src="{{ uploaded_asset($product->thumbnail_img) }}"
data-src="{{ uploaded_asset($product->thumbnail_img) }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';"
alt="">
</a>
@endforeach
</div>
@else
<!-- Coupon Discount range -->
<span class="fs-12 text-white pb-lg-3 d-block m-auto ">
@if($coupon->discount_type == 'amount')
{{ translate('Min Spend ') }} <strong>{{ single_price($order_discount->min_buy) }}</strong> {{ translate('from') }} <strong>{{ $name }}</strong> {{ translate('to get') }} <strong>{{ single_price($coupon->discount) }}</strong> {{ translate('OFF on total orders') }}
@else
{{ translate('Min Spend ') }} <strong>{{ single_price($order_discount->min_buy) }}</strong> {{ translate('from') }} <strong>{{ $name }}</strong> {{ translate('to get') }} <strong>{{ $coupon->discount }}%</strong> {{ translate('OFF on total orders') }}
@endif
</span>
@endif
</div>
<!-- Coupon Code -->
<div class="text-right">
<span class="fs-13 d-block mb-0 text-white">
{{ translate('Code') }}:
<span class="fw-600">{{ $coupon->code }}</span>
<span class="ml-2 text-white fs-16" style="cursor:pointer;" onclick="copyCouponCode('{{ $coupon->code }}')" data-toggle="tooltip" data-title="{{ translate('Copy the Code') }}" data-placement="top"><i class="las la-copy"></i></span>
</span>
</div>
</div>
</div>

Binary file not shown.

View File

@@ -0,0 +1,34 @@
@php
$featured_products = Cache::remember('featured_products', 3600, function () {
return filter_products(\App\Models\Product::where('published', 1)->where('featured', '1'))->latest()->limit(12)->get();
});
@endphp
@if (count($featured_products) > 0)
<section class="mb-2 mb-md-3 mt-2 mt-md-3">
<div class="container">
<!-- Top Section -->
<div class="d-flex mb-2 mb-md-3 align-items-baseline justify-content-between">
<!-- Title -->
<h3 class="fs-16 fs-md-20 fw-700 mb-2 mb-sm-0">
<span class="">{{ translate('Featured Products') }}</span>
</h3>
<!-- Links -->
<div class="d-flex">
<a type="button" class="arrow-prev slide-arrow link-disable text-secondary mr-2" onclick="clickToSlide('slick-prev','section_featured')"><i class="las la-angle-left fs-20 fw-600"></i></a>
<a type="button" class="arrow-next slide-arrow text-secondary ml-2" onclick="clickToSlide('slick-next','section_featured')"><i class="las la-angle-right fs-20 fw-600"></i></a>
</div>
</div>
<!-- Products Section -->
<div class="px-sm-3">
<div class="aiz-carousel sm-gutters-16 arrow-none" data-items="6" data-xl-items="5" data-lg-items="4" data-md-items="3" data-sm-items="2" data-xs-items="2" data-arrows='true' data-infinite='false'>
@foreach ($featured_products as $key => $product)
<div class="carousel-box px-3 position-relative has-transition hov-animate-outline border-right border-top border-bottom @if($key == 0) border-left @endif">
@include('frontend.partials.product_box_1',['product' => $product])
</div>
@endforeach
</div>
</div>
</div>
</section>
@endif

View File

@@ -0,0 +1,118 @@
<script>
let default_longtitude = '';
let default_latitude = '';
@if (get_setting('google_map_longtitude') != '' && get_setting('google_map_longtitude') != '')
default_longtitude = {{ get_setting('google_map_longtitude') }};
default_latitude = {{ get_setting('google_map_latitude') }};
@endif
function initialize(lat = -33.8688, lang = 151.2195, id_format = '') {
var long = lang;
var lat = lat;
if (default_longtitude != '' && default_latitude != '') {
long = default_longtitude;
lat = default_latitude;
}
var map = new google.maps.Map(document.getElementById(id_format + 'map'), {
center: {
lat: lat,
lng: long
},
zoom: 13
});
var myLatlng = new google.maps.LatLng(lat, long);
var input = document.getElementById(id_format + 'searchInput');
// console.log(input);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
var autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.bindTo('bounds', map);
var infowindow = new google.maps.InfoWindow();
var marker = new google.maps.Marker({
map: map,
position: myLatlng,
anchorPoint: new google.maps.Point(0, -29),
draggable: true,
});
map.addListener('click', function(event) {
marker.setPosition(event.latLng);
document.getElementById(id_format + 'latitude').value = event.latLng.lat();
document.getElementById(id_format + 'longitude').value = event.latLng.lng();
infowindow.setContent('Latitude: ' + event.latLng.lat() + '<br>Longitude: ' + event.latLng.lng());
infowindow.open(map, marker);
});
google.maps.event.addListener(marker, 'dragend', function(event) {
document.getElementById(id_format + 'latitude').value = event.latLng.lat();
document.getElementById(id_format + 'longitude').value = event.latLng.lng();
infowindow.setContent('Latitude: ' + event.latLng.lat() + '<br>Longitude: ' + event.latLng.lng());
infowindow.open(map, marker);
});
autocomplete.addListener('place_changed', function() {
infowindow.close();
marker.setVisible(false);
var place = autocomplete.getPlace();
if (!place.geometry) {
window.alert("Autocomplete's returned place contains no geometry");
return;
}
// If the place has a geometry, then present it on a map.
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport);
} else {
map.setCenter(place.geometry.location);
map.setZoom(17);
}
/*
marker.setIcon(({
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(35, 35)
}));
*/
marker.setPosition(place.geometry.location);
marker.setVisible(true);
var address = '';
if (place.address_components) {
address = [
(place.address_components[0] && place.address_components[0].short_name || ''),
(place.address_components[1] && place.address_components[1].short_name || ''),
(place.address_components[2] && place.address_components[2].short_name || '')
].join(' ');
}
infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + address);
infowindow.open(map, marker);
//Location details
for (var i = 0; i < place.address_components.length; i++) {
if (place.address_components[i].types[0] == 'postal_code') {
document.getElementById('postal_code').innerHTML = place.address_components[i].long_name;
}
if (place.address_components[i].types[0] == 'country') {
document.getElementById('country').innerHTML = place.address_components[i].long_name;
}
}
document.getElementById('location').innerHTML = place.formatted_address;
document.getElementById(id_format + 'latitude').value = place.geometry.location.lat();
document.getElementById(id_format + 'longitude').value = place.geometry.location.lng();
});
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key={{ env('MAP_API_KEY') }}&libraries=places&language=en&callback=initialize"
async defer></script>

View File

@@ -0,0 +1,37 @@
@if(get_setting('home_categories') != null)
@php $home_categories = json_decode(get_setting('home_categories')); @endphp
@foreach ($home_categories as $key1 => $value)
@php $category = \App\Models\Category::find($value); @endphp
<section class="@if($key1 != 0) mt-4 @endif" style="">
<div class="container">
<div class="row gutters-16">
<!-- Home category Baner & name -->
<div class="col-xl-3 col-lg-4 col-md-5">
<div class="h-200px h-sm-250px h-md-340px">
<div class="h-100 w-100 w-xl-auto position-relative hov-scale-img overflow-hidden">
<div class="position-absolute h-100 w-100 overflow-hidden">
<img src="{{ uploaded_asset($category->cover_image) }}" alt="{{ $category->getTranslation('name') }}" class="img-fit h-100 has-transition"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</div>
<div class="pb-4 px-3 absolute-bottom-left w-100 has-transition h-100 d-flex flex-column align-items-center justify-content-end" style="background: linear-gradient(to top, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 100%) !important;">
<a class="fs-16 fw-700 text-white text-center animate-underline-white home-category-name d-flex align-items-center hov-column-gap-1" href="{{ route('products.category', $category->slug) }}" style="width: max-content;">{{ $category->getTranslation('name') }}&nbsp;<i class="las la-angle-right"></i></a>
</div>
</div>
</div>
</div>
<!-- Category Products -->
<div class="col-xl-9 col-lg-8 col-md-7">
<div class="aiz-carousel arrow-x-0 border-right arrow-inactive-none" data-items="5" data-xxl-items="5" data-xl-items="4.5" data-lg-items="3" data-md-items="2" data-sm-items="2" data-xs-items="2" data-arrows='true' data-infinite='false'>
@foreach (get_cached_products($category->id)->take(5) as $key => $product)
<div class="carousel-box px-3 position-relative has-transition border-right border-top border-bottom @if($key == 0) border-left @endif hov-animate-outline">
@include('frontend.partials.product_box_1',['product' => $product])
</div>
@endforeach
</div>
</div>
</div>
</div>
</section>
@endforeach
@endif

View File

@@ -0,0 +1,139 @@
<div class="modal fade" id="login_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-dialog-zoom" role="document">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title fw-600">{{ translate('Login') }}</h6>
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true"></span>
</button>
</div>
<div class="modal-body">
<div class="p-3">
<form class="form-default" role="form" action="{{ route('cart.login.submit') }}" method="POST">
@csrf
@if (addon_is_activated('otp_system') && env('DEMO_MODE') != 'On')
<!-- Phone -->
<div class="form-group phone-form-group mb-1">
<input type="tel" id="phone-code"
class="form-control{{ $errors->has('phone') ? ' is-invalid' : '' }}"
value="{{ old('phone') }}" placeholder="" name="phone" autocomplete="off">
</div>
<!-- Country Code -->
<input type="hidden" name="country_code" value="">
<!-- Email -->
<div class="form-group email-form-group mb-1 d-none">
<input type="email"
class="form-control {{ $errors->has('email') ? ' is-invalid' : '' }}"
value="{{ old('email') }}" placeholder="{{ translate('Email') }}" name="email"
id="email" autocomplete="off">
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<!-- Use Email Instead -->
<div class="form-group text-right">
<button class="btn btn-link p-0 text-primary" type="button"
onclick="toggleEmailPhone(this)"><i>*{{ translate('Use Email Instead') }}</i></button>
</div>
@else
<!-- Use Email Instead -->
<div class="form-group">
<input type="email"
class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}"
value="{{ old('email') }}" placeholder="{{ translate('Email') }}" name="email"
id="email" autocomplete="off">
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
@endif
<!-- Password -->
<div class="form-group">
<input type="password" name="password" class="form-control h-auto rounded-0 form-control-lg"
placeholder="{{ translate('Password') }}">
</div>
<!-- Remember Me & Forgot password -->
<div class="row mb-2">
<div class="col-6">
<label class="aiz-checkbox">
<input type="checkbox" name="remember" {{ old('remember') ? 'checked' : '' }}>
<span class=opacity-60>{{ translate('Remember Me') }}</span>
<span class="aiz-square-check"></span>
</label>
</div>
<div class="col-6 text-right">
<a href="{{ route('password.request') }}"
class="text-reset opacity-60 hov-opacity-100 fs-14">{{ translate('Forgot password?') }}</a>
</div>
</div>
<!-- Login Button -->
<div class="mb-5">
<button type="submit"
class="btn btn-primary btn-block fw-600 rounded-0">{{ translate('Login') }}</button>
</div>
</form>
<!-- Register Now -->
<div class="text-center mb-3">
<p class="text-muted mb-0">{{ translate('Dont have an account?') }}</p>
<a href="{{ route('user.registration') }}">{{ translate('Register Now') }}</a>
</div>
<!-- Social Login -->
@if (get_setting('google_login') == 1 || get_setting('facebook_login') == 1 || get_setting('twitter_login') == 1 || get_setting('apple_login') == 1)
<div class="separator mb-3">
<span class="bg-white px-3 opacity-60">{{ translate('Or Login With') }}</span>
</div>
<ul class="list-inline social colored text-center mb-5">
<!-- Facebook -->
@if (get_setting('facebook_login') == 1)
<li class="list-inline-item">
<a href="{{ route('social.login', ['provider' => 'facebook']) }}"
class="facebook">
<i class="lab la-facebook-f"></i>
</a>
</li>
@endif
<!-- Google -->
@if (get_setting('google_login') == 1)
<li class="list-inline-item">
<a href="{{ route('social.login', ['provider' => 'google']) }}"
class="google">
<i class="lab la-google"></i>
</a>
</li>
@endif
<!-- Twitter -->
@if (get_setting('twitter_login') == 1)
<li class="list-inline-item">
<a href="{{ route('social.login', ['provider' => 'twitter']) }}"
class="twitter">
<i class="lab la-twitter"></i>
</a>
</li>
@endif
<!-- Apple -->
@if (get_setting('apple_login') == 1)
<li class="list-inline-item">
<a href="{{ route('social.login', ['provider' => 'apple']) }}"
class="apple">
<i class="lab la-apple"></i>
</a>
</li>
@endif
</ul>
@endif
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,47 @@
@foreach ($conversation->messages as $key => $message)
@if ($message->user_id == Auth::user()->id)
<div class="block block-comment mb-3">
<div class="d-flex flex-row-reverse">
<div class="pl-3">
<div class="block-image">
@if ($message->user->avatar_original != null)
<img src="{{ uploaded_asset($message->user->avatar_original) }}" class="rounded-circle">
@else
<img src="{{ static_asset('assets/img/avatar-place.png') }}" class="rounded-circle">
@endif
</div>
</div>
<div class="flex-grow-1 ml-5 pl-5">
<div class="p-3 bg-gray rounded">
{{ $message->message }}
</div>
<span class="comment-date alpha-7 small mt-1 d-block text-right">
{{ date('h:i:m d-m-Y', strtotime($message->created_at)) }}
</span>
</div>
</div>
</div>
@else
<div class="block block-comment mb-3">
<div class="d-flex">
<div class="pr-3">
<div class="block-image">
@if ($message->user->avatar_original != null)
<img src="{{ uploaded_asset($message->user->avatar_original) }}" class="rounded-circle">
@else
<img src="{{ static_asset('assets/img/avatar-place.png') }}" class="rounded-circle">
@endif
</div>
</div>
<div class="flex-grow-1 mr-5 pr-5">
<div class="p-3 bg-gray rounded">
{{ $message->message }}
</div>
<span class="comment-date alpha-7 small mt-1 d-block">
{{ date('h:i:m d-m-Y', strtotime($message->created_at)) }}
</span>
</div>
</div>
</div>
@endif
@endforeach

View File

@@ -0,0 +1,9 @@
<div class="modal-body p-4 added-to-cart">
<div class="text-center text-danger">
<h2>{{translate('oops..')}}</h2>
<h3>{{translate('You have to add minimum '.$min_qty.' products!')}}</h3>
</div>
<div class="text-center mt-5">
<button class="btn btn-outline-primary" data-dismiss="modal">{{translate('Back to shopping')}}</button>
</div>
</div>

View File

@@ -0,0 +1,62 @@
<script>
function confirm_modal(delete_url)
{
jQuery('#confirm-delete').modal('show', {backdrop: 'static'});
document.getElementById('delete_link').setAttribute('href' , delete_url);
}
</script>
<div class="modal fade" id="confirm-delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
{{-- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> --}}
<h4 class="modal-title" id="myModalLabel">{{ translate('Confirmation')}}</h4>
</div>
<div class="modal-body">
<p>{{ translate('Delete confirmation message')}}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary rounded-0" data-dismiss="modal">{{ translate('Cancel')}}</button>
<a id="delete_link" class="btn btn-danger btn-ok rounded-0">{{ translate('Delete')}}</a>
</div>
</div>
</div>
</div>
<!-- Login Modal -->
@include('frontend.partials.login_modal')
<!-- Bid Modal -->
<div class="modal fade" id="bid_for_product" 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('Bid For Product') }} <small id="min_bid_amount"></small> </h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
</button>
</div>
<div class="modal-body">
<form class="form-horizontal" action="{{ route('auction_product_bids.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<input type="hidden" name="product_id" id="bid_product_id" value="">
<div class="form-group">
<label class="form-label">
{{translate('Place Bid Price')}}
<span class="text-danger">*</span>
</label>
<div class="form-group">
<input type="number" step="0.01" class="form-control form-control-sm" name="amount" id="bid_amount" min="" placeholder="{{ translate('Enter Amount') }}" required>
</div>
</div>
<div class="form-group text-right">
<button type="submit" class="btn btn-sm btn-primary transition-3d-hover mr-1">{{ translate('Submit') }}</button>
</div>
</form>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,9 @@
<div class="modal-body p-4 added-to-cart">
<div class="text-center text-danger">
<h2>{{translate('oops..')}}</h2>
<h3>{{translate('This item is out of stock!')}}</h3>
</div>
<div class="text-center mt-5">
<button class="btn btn-outline-primary" data-dismiss="modal">{{translate('Back to shopping')}}</button>
</div>
</div>

View File

@@ -0,0 +1,40 @@
<div class="card-header bg-white py-3">
<h5 class="heading-6 mb-0">{{translate('Select Nearest Pick-up Point')}}</h5>
</div>
@php
$admin_products = array();
$seller_products = array();
foreach (Session::get('cart') as $key => $cartItem){
if(\App\Models\Product::find($cartItem['id'])->added_by == 'admin'){
array_push($admin_products, $cartItem['id']);
}
else{
$product_ids = array();
if(isset($seller_products[\App\Models\Product::find($cartItem['id'])->user_id])){
$product_ids = $seller_products[\App\Models\Product::find($cartItem['id'])->user_id];
}
array_push($product_ids, $cartItem['id']);
$seller_products[\App\Models\Product::find($cartItem['id'])->user_id] = $product_ids;
}
}
// dd($seller_products);
@endphp
@if (!empty($admin_products))
@foreach ($pick_up_points as $key => $pick_up_point)
<label class="mega-radio w-100">
<input type="radio" name="pickup_point_id" value="{{ $pick_up_point->id }}" checked required>
<span class="d-block">
<br><strong>{{ translate('Address') }}: {{ $pick_up_point->getTranslation('name') }}</strong>
<br><strong>{{ translate('Address') }}: {{ $pick_up_point->getTranslation('address') }}</strong>
<br><strong>{{ translate('Phone') }}: {{ $pick_up_point->phone }}</strong>
</span>
</label>
@endforeach
@endif
@if (!empty($seller_products))
@foreach ($seller_products as $key => $seller_product)
@foreach ($seller_product as $key => $value)
{{ $value }}<br>
@endforeach
@endforeach
@endif

View File

@@ -0,0 +1,33 @@
@foreach(json_decode($subsubcategory->options) as $key=> $option)
<div class="form-group clearfix row">
<div class="col-sm-2">
<label class="control-label">{{$option->title}}</label>
</div>
<div class="col-sm-10">
<div class="customer_choice_options_types_wrap">
<div class="customer_choice_options_types_wrap_child">
@if($option->type == 'radio' || $option->type == 'select')
@foreach($option->options as $options)
<div class="form-group clearfix row">
<div class="col-sm-4">
<input class="form-control" type="text" value="{{$options}}" disabled>
</div>
<div class="col-sm-4">
<input class="form-control" type="number" lang="en" min="0" step="0.01" name="{{$option->name}}_{{$options}}_price" required>
</div>
<div class="col-sm-4">
<select class="form-control selectpicker" name="{{$option->name}}_{{$options}}_variation">
<option value="increase">{{translate('Increase')}}</option>
<option value="decrease">{{translate('Decrease')}}</option>
</select>
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
</div>
@endforeach

View File

@@ -0,0 +1,109 @@
@php
if (auth()->user() != null) {
$user_id = Auth::user()->id;
$cart = \App\Models\Cart::where('user_id', $user_id)->get();
} else {
$temp_user_id = Session()->get('temp_user_id');
if ($temp_user_id) {
$cart = \App\Models\Cart::where('temp_user_id', $temp_user_id)->get();
}
}
$cart_added = array();
if(isset($cart) && count($cart) > 0){
$cart_added = $cart->pluck('product_id')->toArray();
}
@endphp
<div class="aiz-card-box h-auto bg-white py-3 hov-scale-img">
<div class="position-relative h-140px h-md-200px img-fit overflow-hidden">
@php
$product_url = route('product', $product->slug);
if($product->auction_product == 1) {
$product_url = route('auction-product', $product->slug);
}
@endphp
<!-- Image -->
<a href="{{ $product_url }}" class="d-block h-100">
<img class="lazyload mx-auto img-fit has-transition"
src="{{ static_asset('assets/img/placeholder.jpg') }}"
data-src="{{ uploaded_asset($product->thumbnail_img) }}"
alt="{{ $product->getTranslation('name') }}" title="{{ $product->getTranslation('name') }}"
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
</a>
<!-- Discount percentage tag -->
@if(discount_in_percentage($product) > 0)
<span class="absolute-top-left bg-primary ml-1 mt-1 fs-11 fw-700 text-white w-35px text-center" style="padding-top:2px;padding-bottom:2px;">-{{discount_in_percentage($product)}}%</span>
@endif
<!-- Wholesale tag -->
@if ($product->wholesale_product)
<span class="absolute-top-left fs-11 text-white fw-700 px-2 lh-1-8 ml-1 mt-1" style="background-color: #455a64; @if(discount_in_percentage($product) > 0) top:25px; @endif">
{{ translate('Wholesale') }}
</span>
@endif
@if($product->auction_product == 0)
<!-- wishlisht & compare icons -->
<div class="absolute-top-right aiz-p-hov-icon">
<a href="javascript:void(0)" class="hov-svg-white" onclick="addToWishList({{ $product->id }})" data-toggle="tooltip" data-title="{{ translate('Add to wishlist') }}" data-placement="left">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14.4" viewBox="0 0 16 14.4">
<g id="_51a3dbe0e593ba390ac13cba118295e4" data-name="51a3dbe0e593ba390ac13cba118295e4" transform="translate(-3.05 -4.178)">
<path id="Path_32649" data-name="Path 32649" d="M11.3,5.507l-.247.246L10.8,5.506A4.538,4.538,0,1,0,4.38,11.919l.247.247,6.422,6.412,6.422-6.412.247-.247A4.538,4.538,0,1,0,11.3,5.507Z" transform="translate(0 0)" fill="#919199"/>
<path id="Path_32650" data-name="Path 32650" d="M11.3,5.507l-.247.246L10.8,5.506A4.538,4.538,0,1,0,4.38,11.919l.247.247,6.422,6.412,6.422-6.412.247-.247A4.538,4.538,0,1,0,11.3,5.507Z" transform="translate(0 0)" fill="#919199"/>
</g>
</svg>
</a>
<a href="javascript:void(0)" class="hov-svg-white" onclick="addToCompare({{ $product->id }})" data-toggle="tooltip" data-title="{{ translate('Add to compare') }}" data-placement="left">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path id="_9f8e765afedd47ec9e49cea83c37dfea" data-name="9f8e765afedd47ec9e49cea83c37dfea" d="M18.037,5.547v.8a.8.8,0,0,1-.8.8H7.221a.4.4,0,0,0-.4.4V9.216a.642.642,0,0,1-1.1.454L2.456,6.4a.643.643,0,0,1,0-.909L5.723,2.227a.642.642,0,0,1,1.1.454V4.342a.4.4,0,0,0,.4.4H17.234a.8.8,0,0,1,.8.8Zm-3.685,4.86a.642.642,0,0,0-1.1.454v1.661a.4.4,0,0,1-.4.4H2.84a.8.8,0,0,0-.8.8v.8a.8.8,0,0,0,.8.8H12.854a.4.4,0,0,1,.4.4V17.4a.642.642,0,0,0,1.1.454l3.267-3.268a.643.643,0,0,0,0-.909Z" transform="translate(-2.037 -2.038)" fill="#919199"/>
</svg>
</a>
</div>
<!-- add to cart -->
<a class="cart-btn absolute-bottom-left w-100 h-35px aiz-p-hov-icon text-white fs-13 fw-700 d-flex flex-column justify-content-center align-items-center @if(in_array($product->id, $cart_added)) active @endif"
href="javascript:void(0)" onclick="showAddToCartModal({{ $product->id }})">
<span class="cart-btn-text">{{ translate('Add to Cart') }}</span>
<br>
<span><i class="las la-2x la-shopping-cart"></i></span>
</a>
@endif
@if($product->auction_product == 1 && $product->auction_start_date <= strtotime("now") && $product->auction_end_date >= strtotime("now"))
<!-- Place Bid -->
@php
$highest_bid = $product->bids->max('amount');
$min_bid_amount = $highest_bid != null ? $highest_bid+1 : $product->starting_bid;
@endphp
<a class="cart-btn absolute-bottom-left w-100 h-35px aiz-p-hov-icon text-white fs-13 fw-700 d-flex flex-column justify-content-center align-items-center @if(in_array($product->id, $cart_added)) active @endif"
href="javascript:void(0)" onclick="bid_single_modal({{ $product->id }}, {{ $min_bid_amount }})">
<span class="cart-btn-text">{{ translate('Place Bid') }}</span>
<br>
<span><i class="las la-2x la-gavel"></i></span>
</a>
@endif
</div>
<div class="p-2 p-md-3 text-left">
<!-- Product name -->
<h3 class="fw-400 fs-13 text-truncate-2 lh-1-4 mb-0 h-35px text-center">
<a href="{{ $product_url }}" class="d-block text-reset hov-text-primary" title="{{ $product->getTranslation('name') }}">{{ $product->getTranslation('name') }}</a>
</h3>
<div class="fs-14 d-flex justify-content-center mt-3">
@if($product->auction_product == 0)
<!-- Previous price -->
@if(home_base_price($product) != home_discounted_base_price($product))
<div class="disc-amount has-transition">
<del class="fw-400 text-secondary mr-1">{{ home_base_price($product) }}</del>
</div>
@endif
<!-- price -->
<div class="">
<span class="fw-700 text-primary">{{ home_discounted_base_price($product) }}</span>
</div>
@endif
@if($product->auction_product == 1)
<!-- Bid Amount -->
<div class="">
<span class="fw-700 text-primary">{{ single_price($product->starting_bid) }}</span>
</div>
@endif
</div>
</div>
</div>

View File

@@ -0,0 +1,53 @@
<div class="py-3">
<h3 class="fs-16 fw-700 mb-0">
<span>{{ translate('Other Questions') }}</span>
</h3>
</div>
<!-- Product queries -->
@forelse ($product_queries as $product_query)
<div class="produc-queries mb-4">
<div class="query d-flex my-2">
<span class="mt-1">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="36" viewBox="0 0 24 36">
<g id="Group_23928" data-name="Group 23928" transform="translate(-654 -2397)">
<path id="Path_28707" data-name="Path 28707" d="M0,0H24V24H0Z" transform="translate(654 2397)" fill="#d43533"/>
<text id="Q" transform="translate(666 2414)" fill="#fff" font-size="14" font-family="Roboto-Bold, Roboto" font-weight="700"><tspan x="-4.833" y="0">Q</tspan></text>
<path id="Path_28708" data-name="Path 28708" d="M0,0H12L0,12Z" transform="translate(666 2421)" fill="#d43533"/>
<path id="Path_28711" data-name="Path 28711" d="M0,0H12L0,12Z" transform="translate(666 2421)" fill="#1b1b28" opacity="0.2"/>
</g>
</svg>
</span>
<div class="ml-3 mt-0 p-0">
<div class="fs-14">{{ strip_tags($product_query->question) }}</div>
<span class="text-secondary">{{ $product_query->user->name }} </span>
</div>
</div>
<div class="answer d-flex my-2">
<span class="mt-1">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="36" viewBox="0 0 24 36">
<g id="Group_23929" data-name="Group 23929" transform="translate(-654 -2453)">
<path id="Path_28709" data-name="Path 28709" d="M0,0H24V24H0Z" transform="translate(654 2453)" fill="#f3af3d"/>
<text id="A" transform="translate(666 2470)" fill="#fff" font-size="14" font-family="Roboto-Bold, Roboto" font-weight="700"><tspan x="-4.71" y="0">A</tspan></text>
<path id="Path_28710" data-name="Path 28710" d="M0,0H12L0,12Z" transform="translate(666 2477)" fill="#f3af3d"/>
<path id="Path_28712" data-name="Path 28712" d="M0,0H12L0,12Z" transform="translate(666 2477)" fill="#1b1b28" opacity="0.1"/>
</g>
</svg>
</span>
<div class="ml-3 mt-0 p-0">
<div class="fs-14">
{{ strip_tags($product_query->reply ? $product_query->reply : translate('Seller did not respond yet')) }}
</div>
<span class=" text-secondary"> {{ $product_query->product->user->name }}
</span>
</div>
</div>
</div>
@empty
<p>{{ translate('No none asked to seller yet') }}</p>
@endforelse
<!-- Pagination -->
<div class="aiz-pagination product-queries-pagination py-2 d-flex justify-content-end">
{{ $product_queries->links() }}
</div>

View File

@@ -0,0 +1,81 @@
<div class="">
@if (sizeof($keywords) > 0)
<div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Popular Suggestions')}}</div>
<ul class="list-group list-group-raw">
@foreach ($keywords as $key => $keyword)
<li class="list-group-item py-1">
<a class="text-reset hov-text-primary" href="{{ route('suggestion.search', $keyword) }}">{{ $keyword }}</a>
</li>
@endforeach
</ul>
@endif
</div>
<div class="">
@if (count($categories) > 0)
<div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Category Suggestions')}}</div>
<ul class="list-group list-group-raw">
@foreach ($categories as $key => $category)
<li class="list-group-item py-1">
<a class="text-reset hov-text-primary" href="{{ route('products.category', $category->slug) }}">{{ $category->getTranslation('name') }}</a>
</li>
@endforeach
</ul>
@endif
</div>
<div class="">
@if (count($products) > 0)
<div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Products')}}</div>
<ul class="list-group list-group-raw">
@foreach ($products as $key => $product)
<li class="list-group-item">
<a class="text-reset" href="{{ route('product', $product->slug) }}">
<div class="d-flex search-product align-items-center">
<div class="mr-3">
<img class="size-40px img-fit rounded" src="{{ uploaded_asset($product->thumbnail_img) }}">
</div>
<div class="flex-grow-1 overflow--hidden minw-0">
<div class="product-name text-truncate fs-14 mb-5px">
{{ $product->getTranslation('name') }}
</div>
<div class="">
@if(home_base_price($product) != home_discounted_base_price($product))
<del class="opacity-60 fs-15">{{ home_base_price($product) }}</del>
@endif
<span class="fw-600 fs-16 text-primary">{{ home_discounted_base_price($product) }}</span>
</div>
</div>
</div>
</a>
</li>
@endforeach
</ul>
@endif
</div>
@if(get_setting('vendor_system_activation') == 1)
<div class="">
@if (count($shops) > 0)
<div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Shops')}}</div>
<ul class="list-group list-group-raw">
@foreach ($shops as $key => $shop)
<li class="list-group-item">
<a class="text-reset" href="{{ route('shop.visit', $shop->slug) }}">
<div class="d-flex search-product align-items-center">
<div class="mr-3">
<img class="size-40px img-fit rounded" src="{{ uploaded_asset($shop->logo) }}">
</div>
<div class="flex-grow-1 overflow--hidden">
<div class="product-name text-truncate fs-14 mb-5px">
{{ $shop->name }}
</div>
<div class="opacity-60">
{{ $shop->address }}
</div>
</div>
</div>
</a>
</li>
@endforeach
</ul>
@endif
</div>
@endif

View File

@@ -0,0 +1,108 @@
<div class="modal fade" id="wallet_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Recharge Wallet') }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body gry-bg px-3 pt-3" style="overflow-y: inherit;">
<form class="" action="{{ route('wallet.recharge') }}" method="post">
@csrf
<div class="row">
<div class="col-md-4">
<label>{{ translate('Payment Method') }} <span class="text-danger">*</span></label>
</div>
<div class="col-md-8">
<div class="mb-3">
<select class="form-control selectpicker rounded-0" data-minimum-results-for-search="Infinity"
name="payment_option" data-live-search="true">
@if (get_setting('paypal_payment') == 1)
<option value="paypal">{{ translate('Paypal') }}</option>
@endif
@if (get_setting('stripe_payment') == 1)
<option value="stripe">{{ translate('Stripe') }}</option>
@endif
@if (get_setting('mercadopago_payment') == 1)
<option value="mercadopago">{{ translate('Mercadopago') }}</option>
@endif
@if (get_setting('toyyibpay_payment') == 1)
<option value="toyyibpay">{{ translate('ToyyibPay') }}</option>
@endif
@if (get_setting('sslcommerz_payment') == 1)
<option value="sslcommerz">{{ translate('SSLCommerz') }}</option>
@endif
@if (get_setting('instamojo_payment') == 1)
<option value="instamojo">{{ translate('Instamojo') }}</option>
@endif
@if (get_setting('paystack') == 1)
<option value="paystack">{{ translate('Paystack') }}</option>
@endif
@if (get_setting('voguepay') == 1)
<option value="voguepay">{{ translate('VoguePay') }}</option>
@endif
@if (get_setting('payhere') == 1)
<option value="payhere">{{ translate('Payhere') }}</option>
@endif
@if (get_setting('ngenius') == 1)
<option value="ngenius">{{ translate('Ngenius') }}</option>
@endif
@if (get_setting('razorpay') == 1)
<option value="razorpay">{{ translate('Razorpay') }}</option>
@endif
@if (get_setting('iyzico') == 1)
<option value="iyzico">{{ translate('Iyzico') }}</option>
@endif
@if (get_setting('bkash') == 1)
<option value="bkash">{{ translate('Bkash') }}</option>
@endif
@if (get_setting('nagad') == 1)
<option value="nagad">{{ translate('Nagad') }}</option>
@endif
@if (get_setting('payku') == 1)
<option value="payku">{{ translate('Payku') }}</option>
@endif
@if (addon_is_activated('african_pg'))
@if (get_setting('mpesa') == 1)
<option value="mpesa">{{ translate('Mpesa') }}</option>
@endif
@if (get_setting('flutterwave') == 1)
<option value="flutterwave">{{ translate('Flutterwave') }}</option>
@endif
@if (get_setting('payfast') == 1)
<option value="payfast">{{ translate('PayFast') }}</option>
@endif
@endif
@if (addon_is_activated('paytm') && get_setting('paytm_payment'))
<option value="paytm">{{ translate('Paytm') }}</option>
@endif
@if (get_setting('authorizenet') == 1)
<option value="authorizenet">{{ translate('Authorize Net') }}</option>
@endif
@if (addon_is_activated('paytm') && get_setting('myfatoorah') == 1)
<option value="myfatoorah">{{ translate('MyFatoorah') }}</option>
@endif
@if (addon_is_activated('paytm') && get_setting('khalti_payment') == 1)
<option value="khalti">{{ translate('Khalti') }}</option>
@endif
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>{{ translate('Amount') }} <span class="text-danger">*</span></label>
</div>
<div class="col-md-8">
<input type="number" lang="en" class="form-control mb-3 rounded-0" name="amount"
placeholder="{{ translate('Amount') }}" required>
</div>
</div>
<div class="form-group text-right">
<button type="submit"
class="btn btn-sm btn-primary rounded-0 transition-3d-hover mr-1">{{ translate('Confirm') }}</button>
</div>
</form>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,13 @@
<a href="{{ route('wishlists.index') }}" class="d-flex align-items-center text-dark" data-toggle="tooltip" data-title="{{ translate('Wishlist') }}" data-placement="top">
<span class="position-relative d-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14.4" viewBox="0 0 16 14.4">
<g id="_51a3dbe0e593ba390ac13cba118295e4" data-name="51a3dbe0e593ba390ac13cba118295e4" transform="translate(-3.05 -4.178)">
<path id="Path_32649" data-name="Path 32649" d="M11.3,5.507l-.247.246L10.8,5.506A4.538,4.538,0,1,0,4.38,11.919l.247.247,6.422,6.412,6.422-6.412.247-.247A4.538,4.538,0,1,0,11.3,5.507Z" transform="translate(0 0)" fill="#fff"/>
<path id="Path_32650" data-name="Path 32650" d="M11.3,5.507l-.247.246L10.8,5.506A4.538,4.538,0,1,0,4.38,11.919l.247.247,6.422,6.412,6.422-6.412.247-.247A4.538,4.538,0,1,0,11.3,5.507Z" transform="translate(0 0)" fill="#fff"/>
</g>
</svg>
@if(Auth::check() && count(Auth::user()->wishlists)>0)
<span class="badge badge-primary badge-inline badge-pill absolute-top-right--10px">{{ count(Auth::user()->wishlists)}}</span>
@endif
</span>
</a>

View File

@@ -0,0 +1,19 @@
<div class="modal-header">
<h5 class="modal-title strong-600 heading-5">{{translate('Seller Message')}}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body gry-bg px-3 pt-3">
<div class="row">
<div class="col-lg-2">
<label>{{translate('Message')}} <span class="text-danger">*</span></label>
</div>
<div class="col-lg-10">
<textarea name="meta_description" rows="8" class="form-control rounded-0" disabled>{{ $seller_withdraw_request->message }}</textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal">{{translate('Cancel')}}</button>
</div>