Nuevos cambios hechos de diseño
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,103 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h5 class="fs-20 fw-700 text-dark">{{ translate('Conversations')}}</h5>
|
||||
<p class="fs-14 fw-400 text-secondary">{{ translate('Select a conversation to view all messages')}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Conversations -->
|
||||
@if (count($conversations) > 0)
|
||||
<div class="p-0">
|
||||
<ul class="list-group list-group-flush p-0">
|
||||
@foreach ($conversations as $key => $conversation)
|
||||
@if ($conversation->receiver != null && $conversation->sender != null)
|
||||
<li class="list-group-item p-4 has-transition hov-bg-light border mb-3">
|
||||
<div class="row gutters-10">
|
||||
<!-- Receiver/Shop Image -->
|
||||
<div class="col-auto">
|
||||
<div class="media">
|
||||
<span class="avatar avatar-sm flex-shrink-0 border">
|
||||
@if (Auth::user()->id == $conversation->sender_id)
|
||||
@if ($conversation->receiver->shop != null)
|
||||
<a href="{{ route('shop.visit', $conversation->receiver->shop->slug) }}" class="">
|
||||
<img src="{{ uploaded_asset($conversation->receiver->shop->logo) }}"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
</a>
|
||||
@else
|
||||
<img @if ($conversation->receiver->avatar_original == null) src="{{ static_asset('assets/img/avatar-place.png') }}"
|
||||
@else src="{{ uploaded_asset($conversation->receiver->avatar_original) }}" @endif
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
@endif
|
||||
@else
|
||||
<img @if ($conversation->sender->avatar_original == null) src="{{ static_asset('assets/img/avatar-place.png') }}" @else src="{{ uploaded_asset($conversation->sender->avatar_original) }}" @endif class="rounded-circle" onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Receiver/Shop Name & Time -->
|
||||
<div class="col-auto col-lg-3">
|
||||
@if (Auth::user()->id == $conversation->sender_id)
|
||||
<h6 class="text-dark mb-2">
|
||||
@if ($conversation->receiver->shop != null)
|
||||
<a href="{{ route('shop.visit', $conversation->receiver->shop->slug) }}" class="text-reset hov-text-primary fw-700 fs-14">{{ $conversation->receiver->shop->name }}</a>
|
||||
@else
|
||||
<span class="text-dark fw-700 fs-14 mb-2">{{ $conversation->receiver->name }}</span>
|
||||
@endif
|
||||
</h6>
|
||||
@else
|
||||
<h6 class="text-dark fw-700 fs-14 mb-2">{{ $conversation->sender->name }}</h6>
|
||||
@endif
|
||||
<small class="text-secondary fs-12">
|
||||
{{ date('d.m.Y h:i:m', strtotime($conversation->messages->last()->created_at)) }}
|
||||
</small>
|
||||
</div>
|
||||
<!-- conversation -->
|
||||
<div class="col-12 col-lg">
|
||||
<div class="block-body">
|
||||
<div class="block-body-inner pb-3">
|
||||
<!-- Title -->
|
||||
<div class="row no-gutters">
|
||||
<div class="col">
|
||||
<h6 class="mt-0">
|
||||
<a href="{{ route('conversations.show', encrypt($conversation->id)) }}" class="text-reset hov-text-primary fs-14 fw-700">
|
||||
{{ $conversation->title }}
|
||||
</a>
|
||||
@if ((Auth::user()->id == $conversation->sender_id && $conversation->sender_viewed == 0) || (Auth::user()->id == $conversation->receiver_id && $conversation->receiver_viewed == 0))
|
||||
<span class="badge badge-inline badge-danger">{{ translate('New') }}</span>
|
||||
@endif
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Last Message -->
|
||||
<p class="mb-0 text-secondary fs-14">
|
||||
{{ $conversation->messages->last()->message }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@else
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="text-center bg-white p-4 border">
|
||||
<img class="mw-100 h-200px" src="{{ static_asset('assets/img/nothing.svg') }}" alt="Image">
|
||||
<h5 class="mb-0 h5 mt-3">{{ translate("There isn't anything added yet")}}</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination">
|
||||
{{ $conversations->links() }}
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,100 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="h6 fw-700">
|
||||
<span>{{ translate('Conversations With ')}}</span>
|
||||
@if ($conversation->sender_id == Auth::user()->id && $conversation->receiver->shop != null)
|
||||
<a href="{{ route('shop.visit', $conversation->receiver->shop->slug) }}" class="">{{ $conversation->receiver->shop->name }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header bg-light">
|
||||
<div>
|
||||
<!-- Conversation title -->
|
||||
<h5 class="card-title fs-14 fw-700 mb-1">{{ $conversation->title }}</h5>
|
||||
<!-- Conversation Woth -->
|
||||
<p class="mb-0 fs-14 text-secondary fw-400">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="mr-2">
|
||||
<g id="Group_24976" data-name="Group 24976" transform="translate(1053.151 256.688)">
|
||||
<path id="Path_3012" data-name="Path 3012" d="M134.849,88.312h-8a2,2,0,0,0-2,2v5a2,2,0,0,0,2,2v3l2.4-3h5.6a2,2,0,0,0,2-2v-5a2,2,0,0,0-2-2m1,7a1,1,0,0,1-1,1h-8a1,1,0,0,1-1-1v-5a1,1,0,0,1,1-1h8a1,1,0,0,1,1,1Z" transform="translate(-1178 -341)" fill="#b5b5bf"/>
|
||||
<path id="Path_3013" data-name="Path 3013" d="M134.849,81.312h8a1,1,0,0,1,1,1v5a1,1,0,0,1-1,1h-.5a.5.5,0,0,0,0,1h.5a2,2,0,0,0,2-2v-5a2,2,0,0,0-2-2h-8a2,2,0,0,0-2,2v.5a.5.5,0,0,0,1,0v-.5a1,1,0,0,1,1-1" transform="translate(-1182 -337)" fill="#b5b5bf"/>
|
||||
<path id="Path_3014" data-name="Path 3014" d="M131.349,93.312h5a.5.5,0,0,1,0,1h-5a.5.5,0,0,1,0-1" transform="translate(-1181 -343.5)" fill="#b5b5bf"/>
|
||||
<path id="Path_3015" data-name="Path 3015" d="M131.349,99.312h5a.5.5,0,1,1,0,1h-5a.5.5,0,1,1,0-1" transform="translate(-1181 -346.5)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
{{ translate('Between you and') }}
|
||||
@if ($conversation->sender_id == Auth::user()->id)
|
||||
{{ $conversation->receiver->shop ? $conversation->receiver->shop->name : $conversation->receiver->name }}
|
||||
@else
|
||||
{{ $conversation->sender->name }}
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<!-- Conversations -->
|
||||
<ul class="list-group list-group-flush">
|
||||
@foreach($conversation->messages as $message)
|
||||
<li class="list-group-item px-0">
|
||||
<div class="media mb-2">
|
||||
@if (Auth::user()->id != $message->user_id && $message->user->shop != null)
|
||||
<a href="{{ route('shop.visit', $message->user->shop->slug) }}" class="">
|
||||
<img class="avatar avatar-sm mr-3" src="{{ uploaded_asset($message->user->shop->logo) }}"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
</a>
|
||||
@else
|
||||
<img class="avatar avatar-sm mr-3" @if($message->user != null) src="{{ uploaded_asset($message->user->avatar_original) }}" @endif
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
@endif
|
||||
<div class="media-body">
|
||||
<h6 class="mb-0 fw-600 mb-2">
|
||||
@if (Auth::user()->id != $message->user_id && $message->user->shop != null)
|
||||
<a href="{{ route('shop.visit', $message->user->shop->slug) }}" class="text-reset hov-text-primary">{{ $message->user->shop->name }}</a>
|
||||
@else
|
||||
{{ $message->user ? $message->user->name : '' }}
|
||||
@endif
|
||||
</h6>
|
||||
<p class="fs-12 text-secondary">
|
||||
{{ date('d.m.Y h:i:m', strtotime($message->created_at)) }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="fs-14 fw-400">
|
||||
{{ $message->message }}
|
||||
</p>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
<!-- Send message -->
|
||||
<form class="pt-4" action="{{ route('messages.store') }}" method="POST">
|
||||
@csrf
|
||||
<input type="hidden" name="conversation_id" value="{{ $conversation->id }}">
|
||||
<div class="form-group">
|
||||
<textarea class="form-control rounded-0" rows="4" name="message" placeholder="{{ translate('Type your reply') }}" required></textarea>
|
||||
</div>
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-primary rounded-0 w-150px">{{ translate('Send') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function refresh_messages(){
|
||||
$.post('{{ route('conversations.refresh') }}', {_token:'{{ @csrf_token() }}', id:'{{ encrypt($conversation->id) }}'}, function(data){
|
||||
$('#messages').html(data);
|
||||
})
|
||||
}
|
||||
|
||||
refresh_messages(); // This will run on page load
|
||||
setInterval(function(){
|
||||
refresh_messages() // this will run after every 4 seconds
|
||||
}, 4000);
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,301 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
|
||||
<div class="row gutters-16">
|
||||
<!-- Wallet summary -->
|
||||
@if (get_setting('wallet_system') == 1)
|
||||
<div class="col-xl-8 col-md-6 mb-4">
|
||||
<div class="h-100" style="background-image: url('{{ static_asset("assets/img/wallet-bg.png") }}'); background-size: cover; background-position: center center;">
|
||||
<div class="p-4 h-100 w-100 w-xl-50">
|
||||
<p class="fs-14 fw-400 text-gray mb-3">{{ translate('Wallet Balance') }}</p>
|
||||
<h1 class="fs-30 fw-700 text-white ">{{ single_price(Auth::user()->balance) }}</h1>
|
||||
<hr class="border border-dashed border-white opacity-40 ml-0 mt-4 mb-4">
|
||||
@php
|
||||
$last_recharge = \App\Models\Wallet::where('user_id', Auth::user()->id)->orderBy('id', 'desc')->first();
|
||||
@endphp
|
||||
<p class="fs-14 fw-400 text-gray mb-1">{{ translate('Last Recharge') }} <strong>{{ $last_recharge ? date('d.m.Y', strtotime($last_recharge->created_at)) : '' }}</strong></p>
|
||||
<h3 class="fs-20 fw-700 text-white ">{{ $last_recharge ? single_price($last_recharge->amount) : 0 }}</h3>
|
||||
<button class="btn btn-block border border-soft-light hov-bg-dark text-white mt-5 py-3" onclick="show_wallet_modal()" style="border-radius: 30px; background: rgba(255, 255, 255, 0.1);">
|
||||
<i class="la la-plus fs-18 fw-700 mr-2"></i>
|
||||
{{ translate('Recharge Wallet') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="col mb-4">
|
||||
<div class="h-100">
|
||||
<div class="row h-100 @if(get_setting('wallet_system') != 1 && addon_is_activated('club_point')) row-cols-md-2 @endif row-cols-1">
|
||||
<!-- Expenditure summary -->
|
||||
<div class="col">
|
||||
<div class="p-4 bg-primary @if(!addon_is_activated('club_point')) h-100 @endif" style="margin-bottom: 2rem;">
|
||||
<div class="d-flex align-items-center pb-4 ">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
|
||||
<g id="Group_25000" data-name="Group 25000" transform="translate(-926 -614)">
|
||||
<rect id="Rectangle_18646" data-name="Rectangle 18646" width="48" height="48" rx="24" transform="translate(926 614)" fill="rgba(255,255,255,0.5)"/>
|
||||
<g id="Group_24786" data-name="Group 24786" transform="translate(701.466 93)">
|
||||
<path id="Path_32311" data-name="Path 32311" d="M122.052,10V8.55a.727.727,0,1,0-1.455,0V10a2.909,2.909,0,0,0-2.909,2.909v.727A2.909,2.909,0,0,0,120.6,16.55h1.455A1.454,1.454,0,0,1,123.506,18v.727a1.454,1.454,0,0,1-1.455,1.455H120.6a1.454,1.454,0,0,1-1.455-1.455.727.727,0,1,0-1.455,0,2.909,2.909,0,0,0,2.909,2.909V23.1a.727.727,0,1,0,1.455,0V21.641a2.909,2.909,0,0,0,2.909-2.909V18a2.909,2.909,0,0,0-2.909-2.909H120.6a1.454,1.454,0,0,1-1.455-1.455v-.727a1.454,1.454,0,0,1,1.455-1.455h1.455a1.454,1.454,0,0,1,1.455,1.455.727.727,0,0,0,1.455,0A2.909,2.909,0,0,0,122.052,10" transform="translate(127.209 529.177)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="ml-3 d-flex flex-column justify-content-between">
|
||||
@php
|
||||
$expenditure = \App\Models\Order::where('user_id', Auth::user()->id)->where('payment_status', 'paid')->sum('grand_total');
|
||||
@endphp
|
||||
<span class="fs-14 fw-400 text-white mb-1">{{ translate('Total Expenditure') }}</span>
|
||||
<span class="fs-20 fw-700 text-white">{{ single_price($expenditure) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{{ route('purchase_history.index') }}" class="fs-12 text-white">
|
||||
{{ translate('View Order History') }}
|
||||
<i class="las la-angle-right fs-14"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Club Point summary -->
|
||||
@if (addon_is_activated('club_point'))
|
||||
<div class="col">
|
||||
<div class="p-4 bg-warning">
|
||||
<div class="d-flex align-items-center pb-4 ">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
|
||||
<g id="Group_25000" data-name="Group 25000" transform="translate(-926 -614)">
|
||||
<rect id="Rectangle_18646" data-name="Rectangle 18646" width="48" height="48" rx="24" transform="translate(926 614)" fill="rgba(255,255,255,0.5)"/>
|
||||
<g id="Group_24786" data-name="Group 24786" transform="translate(701.466 93)">
|
||||
<path id="Path_2961" data-name="Path 2961" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(27.466 537)" fill="#fff"/>
|
||||
<path id="Union_11" data-name="Union 11" d="M16425.393,420.226l-3.777-5.039a.42.42,0,0,1-.012-.482l1.662-2.515a.416.416,0,0,1,.313-.186l0,0h4.26a.41.41,0,0,1,.346.19l1.674,2.515a.414.414,0,0,1-.012.482l-3.777,5.039a.413.413,0,0,1-.338.169A.419.419,0,0,1,16425.393,420.226Zm-2.775-5.245,3.113,4.148,3.109-4.148-1.32-1.983h-3.592Z" transform="translate(-16177.195 129)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="ml-3 d-flex flex-column justify-content-between">
|
||||
@php
|
||||
$club_points = \App\Models\ClubPoint::where('user_id', Auth::user()->id)->where('convert_status', 0)->sum('points');
|
||||
@endphp
|
||||
<span class="fs-14 fw-400 text-white mb-1">{{ translate('Total Club Points') }}</span>
|
||||
<span class="fs-20 fw-700 text-white">{{ $club_points }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{{ route('earnng_point_for_user') }}" class="fs-12 text-white">
|
||||
{{ translate('Convert Club Points') }}
|
||||
<i class="las la-angle-right fs-14"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row gutters-16 mt-2">
|
||||
|
||||
<!-- count summary -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="px-4 bg-white border h-100">
|
||||
<!-- Cart summary -->
|
||||
<div class="d-flex align-items-center py-4 border-bottom">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
|
||||
<g id="Group_25000" data-name="Group 25000" transform="translate(-1367 -427)">
|
||||
<path id="Path_32314" data-name="Path 32314" d="M24,0A24,24,0,1,1,0,24,24,24,0,0,1,24,0Z" transform="translate(1367 427)" fill="#d43533"/>
|
||||
<g id="Group_24770" data-name="Group 24770" transform="translate(1382.999 443)">
|
||||
<path id="Path_25692" data-name="Path 25692" d="M294.507,424.89a2,2,0,1,0,2,2A2,2,0,0,0,294.507,424.89Zm0,3a1,1,0,1,1,1-1A1,1,0,0,1,294.507,427.89Z" transform="translate(-289.508 -412.89)" fill="#fff"/>
|
||||
<path id="Path_25693" data-name="Path 25693" d="M302.507,424.89a2,2,0,1,0,2,2A2,2,0,0,0,302.507,424.89Zm0,3a1,1,0,1,1,1-1A1,1,0,0,1,302.507,427.89Z" transform="translate(-289.508 -412.89)" fill="#fff"/>
|
||||
<g id="LWPOLYLINE">
|
||||
<path id="Path_25694" data-name="Path 25694" d="M305.43,416.864a1.5,1.5,0,0,0-1.423-1.974h-9a.5.5,0,0,0,0,1h9a.467.467,0,0,1,.129.017.5.5,0,0,1,.354.611l-1.581,6a.5.5,0,0,1-.483.372h-7.462a.5.5,0,0,1-.489-.392l-1.871-8.433a1.5,1.5,0,0,0-1.465-1.175h-1.131a.5.5,0,1,0,0,1h1.043a.5.5,0,0,1,.489.391l1.871,8.434a1.5,1.5,0,0,0,1.465,1.175h7.55a1.5,1.5,0,0,0,1.423-1.026Z" transform="translate(-289.508 -412.89)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="ml-3 d-flex flex-column justify-content-between">
|
||||
@php
|
||||
$user_id = Auth::user()->id;
|
||||
$cart = \App\Models\Cart::where('user_id', $user_id)->get();
|
||||
@endphp
|
||||
<span class="fs-20 fw-700 mb-1">{{ count($cart) > 0 ? sprintf("%02d", count($cart)) : 0 }}</span>
|
||||
<span class="fs-14 fw-400 text-secondary">{{ translate('Products in Cart') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Wishlist summary -->
|
||||
<div class="d-flex align-items-center py-4 border-bottom">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
|
||||
<g id="Group_25000" data-name="Group 25000" transform="translate(-1367 -499)">
|
||||
<path id="Path_32309" data-name="Path 32309" d="M24,0A24,24,0,1,1,0,24,24,24,0,0,1,24,0Z" transform="translate(1367 499)" fill="#3490f3"/>
|
||||
<g id="Group_24772" data-name="Group 24772" transform="translate(1383 515)">
|
||||
<g id="Wooden" transform="translate(0 1)">
|
||||
<path id="Path_25676" data-name="Path 25676" d="M290.82,413.6a4.5,4.5,0,0,0-6.364,0l-.318.318-.318-.318a4.5,4.5,0,1,0-6.364,6.364l6.046,6.054a.9.9,0,0,0,1.272,0l6.046-6.054A4.5,4.5,0,0,0,290.82,413.6Zm-.707,5.657-5.975,5.984-5.975-5.984a3.5,3.5,0,1,1,4.95-4.95l.389.389a.9.9,0,0,0,1.272,0l.389-.389a3.5,3.5,0,1,1,4.95,4.95Z" transform="translate(-276.138 -412.286)" fill="#fff"/>
|
||||
</g>
|
||||
<rect id="Rectangle_1603" data-name="Rectangle 1603" width="16" height="16" transform="translate(0)" fill="none"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="ml-3 d-flex flex-column justify-content-between">
|
||||
@php
|
||||
$user_id = Auth::user()->id;
|
||||
$cart = \App\Models\Cart::where('user_id', $user_id)->get();
|
||||
@endphp
|
||||
<span class="fs-20 fw-700 mb-1">{{ count(Auth::user()->wishlists) > 0 ? sprintf("%02d", count(Auth::user()->wishlists)) : 0 }}</span>
|
||||
<span class="fs-14 fw-400 text-secondary">{{ translate('Products in Wishlist') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Order summary -->
|
||||
<div class="d-flex align-items-center py-4">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
|
||||
<g id="Group_25000" data-name="Group 25000" transform="translate(-1367 -576)">
|
||||
<path id="Path_32315" data-name="Path 32315" d="M24,0A24,24,0,1,1,0,24,24,24,0,0,1,24,0Z" transform="translate(1367 576)" fill="#85b567"/>
|
||||
<path id="_2e746ddacacf202af82cf4480bae6173" data-name="2e746ddacacf202af82cf4480bae6173" d="M11.483,3h-.009a.308.308,0,0,0-.1.026L4.26,6.068A.308.308,0,0,0,4,6.376V15.6a.308.308,0,0,0,.026.127v0l.009.017a.308.308,0,0,0,.157.147l7.116,3.042a.338.338,0,0,0,.382,0L18.8,15.9a.308.308,0,0,0,.189-.243q0-.008,0-.017s0-.01,0-.015,0-.01,0-.015,0,0,0,0V6.376a.308.308,0,0,0-.255-.306L11.632,3.031l-.007,0a.308.308,0,0,0-.05-.017l-.009,0-.022,0h-.062Zm.014.643L13,4.287,6.614,7.02,6.6,7.029,5.088,6.383,11.5,3.643Zm2.29.979,1.829.782L9.108,8.188a.414.414,0,0,0-.186.349v3.291l-.667-1a.308.308,0,0,0-.393-.1l-.786.392V7.493l6.712-2.87ZM16.4,5.738l1.509.645L11.5,9.124,9.99,8.48l6.39-2.733.018-.009ZM4.615,6.85l1.846.789v3.975a.308.308,0,0,0,.445.275l.987-.494,1.064,1.595v0a.308.308,0,0,0,.155.14h0l.027.009a.308.308,0,0,0,.057.012h.036l.036,0,.025,0,.018,0,.015,0a.308.308,0,0,0,.05-.022h0a.308.308,0,0,0,.156-.309V8.955l1.654.707v8.56L4.615,15.411Zm13.765,0v8.56L11.8,18.223V9.662Z" transform="translate(1379.5 588.5)" fill="#fff" stroke="#fff" stroke-width="0.25" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="ml-3 d-flex flex-column justify-content-between">
|
||||
@php
|
||||
$orders = \App\Models\Order::where('user_id', Auth::user()->id)->get();
|
||||
$total = 0;
|
||||
foreach ($orders as $key => $order) {
|
||||
$total += count($order->orderDetails);
|
||||
}
|
||||
@endphp
|
||||
<span class="fs-20 fw-700 mb-1">{{ $total > 0 ? sprintf("%02d", $total) : 0 }}</span>
|
||||
<span class="fs-14 fw-400 text-secondary">{{ translate('Total Products Ordered') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Purchased Package -->
|
||||
@if (get_setting('classified_product'))
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="p-4 border h-100">
|
||||
<h6 class="fw-700 mb-3 text-dark">{{ translate('Purchased Package') }}</h6>
|
||||
@php
|
||||
$customer_package = \App\Models\CustomerPackage::find(Auth::user()->customer_package_id);
|
||||
@endphp
|
||||
@if($customer_package != null)
|
||||
<img src="{{ uploaded_asset($customer_package->logo) }}" class="img-fluid mb-4 h-70px"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
<p class="fs-14 fw-700 mb-3 text-primary">{{ translate('Current Package') }}: {{ $customer_package->getTranslation('name') }}</p>
|
||||
<p class="mb-2 d-flex justify-content-between">
|
||||
<span class="text-secondary">{{ translate('Product Upload') }}</span>
|
||||
<span class="fw-700">{{ $customer_package->product_upload }} {{ translate('Times')}}</span>
|
||||
</p>
|
||||
<p class="mb-3 d-flex justify-content-between">
|
||||
<span class="text-secondary">{{ translate('Product Upload Remains') }}</span>
|
||||
<span class="fw-700">{{ Auth::user()->remaining_uploads }} {{ translate('Times')}}</span>
|
||||
</p>
|
||||
@else
|
||||
<span class="fs-14 fw-700 mb-4 text-primary">{{translate('Package Not Found')}}</span>
|
||||
@endif
|
||||
<a href="{{ route('customer_packages_list_show') }}" class="btn btn-primary btn-block fs-14 fw-500" style="border-radius: 25px;">{{ translate('Upgrade Package') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Default Shipping Address -->
|
||||
<div class="col-xl-4 col-md-6 mb-4">
|
||||
<div class="p-4 border h-100">
|
||||
<h6 class="fw-700 mb-3 text-dark">{{ translate('Default Shipping Address') }}</h6>
|
||||
@if(Auth::user()->addresses != null)
|
||||
@php
|
||||
$address = Auth::user()->addresses->where('set_default', 1)->first();
|
||||
@endphp
|
||||
@if($address != null)
|
||||
<ul class="list-unstyled mb-5">
|
||||
<li class="fs-14 fw-400 text-derk pb-1"><span>{{ $address->address }},</span></li>
|
||||
<li class="fs-14 fw-400 text-derk pb-1"><span>{{ $address->postal_code }} - {{ $address->city->name }},</span></li>
|
||||
<li class="fs-14 fw-400 text-derk pb-1"><span>{{ $address->state->name }},</span></li>
|
||||
<li class="fs-14 fw-400 text-derk pb-1"><span>{{ $address->country->name }}.</span></li>
|
||||
<li class="fs-14 fw-400 text-derk pb-1"><span>{{ $address->phone }}</span></li>
|
||||
</ul>
|
||||
@endif
|
||||
@endif
|
||||
<button class="btn btn-dark btn-block fs-14 fw-500" onclick="add_new_address()" style="border-radius: 25px;">
|
||||
<i class="la la-plus fs-18 fw-700 mr-2"></i>
|
||||
{{ translate('Add New Address') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row align-items-center mb-2 mt-1">
|
||||
<div class="col-6">
|
||||
<h3 class=" mb-0 fs-14 fs-md-16 fw-700 text-dark">{{ translate('My Wishlist')}}</h3>
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
<a class="text-blue fs-10 fs-md-12 fw-700 hov-text-primary animate-underline-primary" href="{{ route('wishlists.index') }}">{{ translate('View All') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@php
|
||||
$wishlists = \App\Models\Wishlist::where('user_id', Auth::user()->id)->get();
|
||||
@endphp
|
||||
@if (count($wishlists) > 0)
|
||||
<div class="row row-cols-xxl-5 row-cols-xl-4 row-cols-lg-4 row-cols-md-3 row-cols-sm-2 row-cols-2 gutters-16 border-top border-left mx-1 mx-md-0 mb-4">
|
||||
@foreach($wishlists->take(5) as $key => $wishlist)
|
||||
@if ($wishlist->product != null)
|
||||
<div class="aiz-card-box col py-3 text-center border-right border-bottom has-transition hov-shadow-out z-1" id="wishlist_{{ $wishlist->id }}">
|
||||
<div class="position-relative h-140px h-md-200px img-fit overflow-hidden mb-3">
|
||||
<!-- Image -->
|
||||
<a href="{{ route('product', $wishlist->product->slug) }}" class="d-block h-100">
|
||||
<img src="{{ uploaded_asset($wishlist->product->thumbnail_img) }}" class="lazyload mx-auto img-fit"
|
||||
title="{{ $wishlist->product->getTranslation('name') }}">
|
||||
</a>
|
||||
<!-- Remove from wishlisht -->
|
||||
<div class="absolute-top-right aiz-p-hov-icon">
|
||||
<a href="javascript:void(0)" onclick="removeFromWishlist({{ $wishlist->id }})" data-toggle="tooltip" data-title="{{ translate('Remove from wishlist') }}" data-placement="left">
|
||||
<i class="la la-trash"></i>
|
||||
</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 justify-content-center align-items-center"
|
||||
href="javascript:void(0)" onclick="showAddToCartModal({{ $wishlist->product->id }})">{{ translate('Add to Cart') }}</a>
|
||||
</div>
|
||||
<!-- Product Name -->
|
||||
<h5 class="fs-14 mb-0 lh-1-5 fw-400 text-truncate-2 mb-3">
|
||||
<a href="{{ route('product', $wishlist->product->slug) }}" class="text-reset hov-text-primary"
|
||||
title="{{ $wishlist->product->getTranslation('name') }}">{{ $wishlist->product->getTranslation('name') }}</a>
|
||||
</h5>
|
||||
<!-- Price -->
|
||||
<div class="fs-14">
|
||||
<span class="fw-600 text-primary">{{ home_discounted_base_price($wishlist->product) }}</span>
|
||||
@if(home_base_price($wishlist->product) != home_discounted_base_price($wishlist->product))
|
||||
<del class="opacity-60 ml-1">{{ home_base_price($wishlist->product) }}</del>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@else
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="text-center bg-white p-4 border">
|
||||
<img class="mw-100 h-200px" src="{{ static_asset('assets/img/nothing.svg') }}" alt="Image">
|
||||
<h5 class="mb-0 h5 mt-3">{{ translate("There isn't anything added yet")}}</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Wallet Recharge Modal -->
|
||||
@include('frontend.partials.wallet_modal')
|
||||
<script type="text/javascript">
|
||||
function show_wallet_modal() {
|
||||
$('#wallet_modal').modal('show');
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Address modal Modal -->
|
||||
@include('frontend.partials.address_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
@if (get_setting('google_map') == 1)
|
||||
@include('frontend.partials.google_map')
|
||||
@endif
|
||||
@endsection
|
||||
BIN
desarrollo2/resources/views/frontend/user/customer/desktop.ini
Normal file
BIN
desarrollo2/resources/views/frontend/user/customer/desktop.ini
Normal file
Binary file not shown.
@@ -0,0 +1,64 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Followed Sellers') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (count($followed_sellers) > 0)
|
||||
<div class="px-3">
|
||||
<div class="row row-cols-xxl-4 row-cols-xl-4 row-cols-lg-3 row-cols-md-2 row-cols-1 border-top border-left">
|
||||
@foreach ($followed_sellers as $key => $followed_seller)
|
||||
@if($followed_seller->shop !=null)
|
||||
<div class="col border-right border-bottom p-4 has-transition hov-shadow-out z-1" id="followed_seller_{{ $followed_seller->shop->id }}">
|
||||
<!-- Shop logo -->
|
||||
<a href="{{ route('shop.visit', $followed_seller->shop->slug) }}" class="d-flex mx-auto justify-content-center align-item-center h-130px w-130px overflow-hidden hov-scale" tabindex="0" style="border: 1px solid #e5e5e5; border-radius: 50%; box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.06);">
|
||||
<img src="{{ static_asset('assets/img/placeholder-rect.jpg') }}"
|
||||
data-src="{{ uploaded_asset($followed_seller->shop->logo) }}"
|
||||
alt="{{ $followed_seller->shop->name }}"
|
||||
class="img-fit lazyload"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder-rect.jpg') }}';">
|
||||
</a>
|
||||
<div class="text-center">
|
||||
<!-- Shop name -->
|
||||
<h2 class="fs-14 fw-700 text-dark text-truncate-2 h-40px mt-3">
|
||||
<a href="{{ route('shop.visit', $followed_seller->shop->slug) }}" class="text-reset hov-text-primary" tabindex="0">{{ $followed_seller->shop->name }}</a>
|
||||
</h2>
|
||||
<!-- Shop Rating -->
|
||||
<div class="rating rating-md rating-space mt-2 mb-3">
|
||||
{{ renderStarRating($followed_seller->shop->rating) }}
|
||||
<span class="ml-1 fs-14">({{ $followed_seller->shop->num_of_reviews }}
|
||||
{{ translate('reviews') }})</span>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<a href="{{ route("followed_seller.remove", ['id'=>$followed_seller->shop->id]) }}" class="fs-12 fw-700 hov-text-warning">{{ translate('Unfollow This Seller') }}</a>
|
||||
</div>
|
||||
<!-- Visit Button -->
|
||||
<a href="{{ route('shop.visit', $followed_seller->shop->slug) }}" class="btn btn-light text-gray-dark btn-block btn-sm rounded-0 border fw-700" tabindex="0" style="padding: 0.75rem">
|
||||
{{ translate('Visit Store') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="text-center bg-white p-4 border">
|
||||
<img class="mw-100 h-200px" src="{{ static_asset('assets/img/nothing.svg') }}" alt="Image">
|
||||
<h5 class="mb-0 h5 mt-3">{{ translate("There isn't anything added yet")}}</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination">
|
||||
{{ $followed_sellers->links() }}
|
||||
</div>
|
||||
@endsection
|
||||
Binary file not shown.
@@ -0,0 +1,76 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<form class="" id="sort_customers" action="" method="GET">
|
||||
<div class="card-header border-bottom-0 row gutters-5">
|
||||
<div class="col">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{translate('Notifications')}}</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<!-- Notifications -->
|
||||
<ul class="list-group list-group-flush">
|
||||
@forelse($notifications as $notification)
|
||||
@if($notification->type == 'App\Notifications\OrderNotification')
|
||||
<li class="list-group-item d-flex justify-content-between align-items- py-3 px-0">
|
||||
<div class="media text-inherit">
|
||||
<div class="media-body">
|
||||
<p class="mb-1 text-truncate-2">
|
||||
{{translate('Your Order: ')}}
|
||||
<a href="{{route('purchase_history.details', encrypt($notification->data['order_id']))}}">
|
||||
{{$notification->data['order_code']}}
|
||||
</a>
|
||||
{{translate(' has been '. ucfirst(str_replace('_', ' ', $notification->data['status'])))}}
|
||||
</p>
|
||||
<small class="text-muted">
|
||||
{{ date("F j Y, g:i a", strtotime($notification->created_at)) }}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@empty
|
||||
<li class="list-group-item">
|
||||
<div class="py-4 text-center fs-16">{{ translate('No notification found') }}</div>
|
||||
</li>
|
||||
@endforelse
|
||||
</ul>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-3">
|
||||
{{ $notifications->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Delete modal -->
|
||||
@include('modals.delete_modal')
|
||||
|
||||
<!-- Rrder details modal -->
|
||||
<div class="modal fade" id="order_details" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-xl" role="document">
|
||||
<div class="modal-content">
|
||||
<div id="order-details-modal-body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Payment modal -->
|
||||
<div class="modal fade" id="payment_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div id="payment_modal_body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,259 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Add Your Product') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Language -->
|
||||
<ul class="nav nav-tabs nav-fill border-light">
|
||||
@foreach (\App\Models\Language::all() as $key => $language)
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-reset rounded-0 @if ($language->code == $lang) active @else bg-soft-dark border-light border-left-0 @endif py-3" href="{{ route('customer_products.edit', ['id'=>$product->id, 'lang'=> $language->code] ) }}">
|
||||
<img src="{{ static_asset('assets/img/flags/'.$language->code.'.png') }}" height="11" class="mr-1">
|
||||
<span>{{ $language->name }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
<form class="" action="{{route('customer_products.update', $product->id)}}" method="POST" enctype="multipart/form-data" id="choice_form">
|
||||
<input name="_method" type="hidden" value="PATCH">
|
||||
<input type="hidden" name="lang" value="{{ $lang }}">
|
||||
@csrf
|
||||
|
||||
<!-- General -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('General')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Name')}} <span class="text-danger">* <i class="las la-language" title="{{translate('Translatable')}}"></i></span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="name" value="{{ $product->getTranslation('name') }}" placeholder="{{ translate('Product Name')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Category')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control aiz-selectpicker" data-placeholder="{{ translate('Select a Category')}}" id="categories" name="category_id" data-live-search="true" data-selected={{ $product->category_id }} required>
|
||||
@foreach ($categories as $category)
|
||||
<option value="{{ $category->id }}">{{ $category->getTranslation('name') }}</option>
|
||||
@foreach ($category->childrenCategories as $childCategory)
|
||||
@include('categories.child_category', ['child_category' => $childCategory])
|
||||
@endforeach
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Brand')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control selectpicker" data-placeholder="{{ translate('Select a brand')}}" data-live-search="true" id="brands" name="brand_id">
|
||||
<option value=""></option>
|
||||
@foreach (\App\Models\Brand::all() as $brand)
|
||||
<option value="{{ $brand->id }}" @if($brand->id == $product->brand_id) selected @endif>{{ $brand->getTranslation('name') }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Unit')}} <span class="text-danger">* <i class="las la-language" title="{{translate('Translatable')}}"></i></span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="unit" value="{{ $product->getTranslation('unit') }}" placeholder="{{ translate('Product unit')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Condition')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control selectpicker" data-placeholder="{{ translate('Select a condition')}}" id="conditon" name="conditon" required>
|
||||
<option value="new" @if ($product->conditon == 'new') selected @endif>{{ translate('New')}}</option>
|
||||
<option value="used" @if ($product->conditon == 'used') selected @endif>{{ translate('Used')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Location')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="location" value="{{ $product->location }}" placeholder="{{ translate('Location')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Product Tag')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control aiz-tag-input rounded-0" name="tags[]" value="{{ $product->tags }}" placeholder="{{ translate('Type & hit enter')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Images -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Images')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Main Images')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="true">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="photos" class="selected-files" value="{{ $product->photos }}">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Thumbnail Image')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="thumbnail_img" class="selected-files" value="{{ $product->thumbnail_img }}">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Videos -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Videos')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Video From')}}</label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control aiz-selectpicker" data-minimum-results-for-search="Infinity" name="video_provider">
|
||||
<option value="youtube" @if ($product->video_provider == 'youtube') selected @endif>{{ translate('Youtube')}}</option>
|
||||
<option value="dailymotion" @if ($product->video_provider == 'dailymotion') selected @endif>{{ translate('Dailymotion')}}</option>
|
||||
<option value="vimeo" @if ($product->video_provider == 'vimeo') selected @endif>{{ translate('Vimeo')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Video URL')}}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="video_link" value="{{ $product->video_link }}" placeholder="{{ translate('Video link')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Meta Tags -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Meta Tags')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Meta Title')}}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" name="meta_title" value="{{ $product->meta_title }}" class="form-control rounded-0" placeholder="{{ translate('Meta Title')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Description')}}</label>
|
||||
<div class="col-md-10">
|
||||
<textarea name="meta_description" rows="8" class="form-control rounded-0">{{ $product->meta_description }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Meta Image')}}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="meta_img" class="selected-files" value="{{ $product->meta_img }}">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Slug')}}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="slug" value="{{ $product->slug }}" placeholder="{{translate('Slug')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Price -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Price')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Unit Price')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="number" lang="en" value="{{ $product->unit_price }}" min="0" step="0.01" class="form-control rounded-0" name="unit_price" placeholder="{{ translate('Unit Price')}} ({{ translate('Base Price')}})" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Description -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Description')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Description')}} <span class="text-danger">* <i class="las la-language" title="{{translate('Translatable')}}"></i></span></label>
|
||||
<div class="col-md-10">
|
||||
<div class="mb-3">
|
||||
<textarea class="aiz-text-editor rounded-0" name="description" required>{{$product->getTranslation('description')}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PDF Specification -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('PDF Specification')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('PDF')}}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="document">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="pdf" class="selected-files" value="{{ $product->pdf }}">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Save Button -->
|
||||
<div class="mar-all text-right">
|
||||
<button type="submit" name="button" class="btn btn-primary rounded-0 px-4">{{ translate('Update Product') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,240 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Add Your Product') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form class="" action="{{route('customer_products.store')}}" method="POST" enctype="multipart/form-data" id="choice_form">
|
||||
@csrf
|
||||
<input type="hidden" name="added_by" value="{{ Auth::user()->user_type }}">
|
||||
<input type="hidden" name="status" value="available">
|
||||
|
||||
<!-- General -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('General')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Name')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="name" placeholder="{{ translate('Product Name')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Category')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control aiz-selectpicker" data-placeholder="{{ translate('Select a Category')}}" id="categories" name="category_id" data-live-search="true" required>
|
||||
@foreach ($categories as $category)
|
||||
<option value="{{ $category->id }}">{{ $category->getTranslation('name') }}</option>
|
||||
@foreach ($category->childrenCategories as $childCategory)
|
||||
@include('categories.child_category', ['child_category' => $childCategory])
|
||||
@endforeach
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Brand')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control aiz-selectpicker" data-placeholder="{{ translate('Select a brand')}}" data-live-search="true" id="brands" name="brand_id">
|
||||
<option value=""></option>
|
||||
@foreach (\App\Models\Brand::all() as $brand)
|
||||
<option value="{{ $brand->id }}">{{ $brand->getTranslation('name') }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Product Unit')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="unit" placeholder="{{ translate('Product unit')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Condition')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control selectpicker" data-placeholder="{{ translate('Select a condition')}}" id="conditon" name="conditon" required>
|
||||
<option value="new">{{ translate('New')}}</option>
|
||||
<option value="used">{{ translate('Used')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Location')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="location" placeholder="{{ translate('Location')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Product Tag')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control aiz-tag-input rounded-0" name="tags[]" placeholder="{{ translate('Type & hit enter')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Images -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Images')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Gallery Images')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="true">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="photos" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Thumbnail Image')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="thumbnail_img" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Videos -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Videos')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Video From')}}</label>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control aiz-selectpicker" data-minimum-results-for-search="Infinity" name="video_provider">
|
||||
<option value="youtube">{{ translate('Youtube')}}</option>
|
||||
<option value="dailymotion">{{ translate('Dailymotion')}}</option>
|
||||
<option value="vimeo">{{ translate('Vimeo')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Video URL')}}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" name="video_link" placeholder="{{ translate('Video link')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Meta Image -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Meta Tags')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Meta Title')}}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" name="meta_title" class="form-control rounded-0" placeholder="{{ translate('Meta Title')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{translate('Description')}}</label>
|
||||
<div class="col-md-10">
|
||||
<textarea name="meta_description" rows="8" class="form-control rounded-0"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Meta Image')}}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="meta_img" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Price -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Price')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Unit Price')}} <span class="text-danger">*</span></label>
|
||||
<div class="col-md-10">
|
||||
<input type="number" lang="en" min="0" step="0.01" class="form-control rounded-0" name="unit_price" placeholder="{{ translate('Unit Price')}} ({{ translate('Base Price')}})" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Description -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('Description')}} <span class="text-danger">*</span></h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('Description')}}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="mb-3">
|
||||
<textarea class="aiz-text-editor rounded-0" name="description" required></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PDF Specification -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{translate('PDF Specification')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-from-label">{{ translate('PDF')}}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="document">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="pdf" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Save Button -->
|
||||
<div class="mar-all text-right">
|
||||
<button type="submit" name="button" class="btn btn-primary rounded-0 px-4">{{ translate('Save Product') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,172 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Classified Products') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row gutters-16 mb-2">
|
||||
<!-- Remaining Uploads -->
|
||||
<div class="col-md-4 mx-auto mb-4" >
|
||||
<div class="bg-dark text-white overflow-hidden text-center p-4 h-100">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
||||
<g id="Group_24953" data-name="Group 24953" transform="translate(-1364 -447)">
|
||||
<g id="Group_24954" data-name="Group 24954">
|
||||
<rect id="Rectangle_18897" data-name="Rectangle 18897" width="2" height="22" rx="1" transform="translate(1379 449)" fill="#fff"/>
|
||||
<rect id="Rectangle_18899" data-name="Rectangle 18899" width="2" height="12" rx="1" transform="translate(1380 447) rotate(45)" fill="#fff"/>
|
||||
<rect id="Rectangle_18900" data-name="Rectangle 18900" width="12" height="2" rx="1" transform="translate(1380 447) rotate(45)" fill="#fff"/>
|
||||
<rect id="Rectangle_18898" data-name="Rectangle 18898" width="32" height="2" rx="1" transform="translate(1364 477)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="py-2">
|
||||
<div class="fs-14 fw-400 text-center">{{ translate('Remaining Uploads') }}</div>
|
||||
<div class="fs-30 fw-700 text-center">{{ max(0, Auth::user()->remaining_uploads) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Add New Product -->
|
||||
<div class="col-md-4 mx-auto mb-4" >
|
||||
<a href="{{ route('customer_products.create')}}">
|
||||
<div class="p-4 mb-3 c-pointer text-center bg-light has-transition border h-100 hov-bg-soft-light">
|
||||
<span class="size-60px rounded-circle mx-auto bg-dark d-flex align-items-center justify-content-center mb-3">
|
||||
<i class="las la-plus la-3x text-white"></i>
|
||||
</span>
|
||||
<div class="fs-14 fw-600 text-dark">{{ translate('Add New Product') }}</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Current Package -->
|
||||
@php
|
||||
$customer_package = \App\Models\CustomerPackage::find(Auth::user()->customer_package_id);
|
||||
@endphp
|
||||
<div class="col-md-4 mx-auto mb-4">
|
||||
<div class="text-center bg-light d-block p-4 h-100 border">
|
||||
@if($customer_package != null)
|
||||
<img src="{{ uploaded_asset($customer_package->logo) }}" height="44" class="mw-100 mx-auto mb-2">
|
||||
<span class="d-block text-dark fs-14 fw-600 mb-2">{{ translate('Current Package')}}: {{ $customer_package->getTranslation('name') }}</span>
|
||||
@else
|
||||
<i class="la la-frown-o mb-1 la-3x"></i>
|
||||
<div class="d-block text-dark fs-14 fw-600 mb-2">{{ translate('No Package Found')}}</div>
|
||||
@endif
|
||||
<a href="{{ route('customer_packages_list_show') }}" class="text-primary hov-text-dark fs-14 fw-700">
|
||||
{{ translate('Upgrade Package')}}
|
||||
<i class="las la-angle-right fs-16 fw-900"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- All Products -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-md-0 fs-20 fw-700 text-dark text-center text-md-left">{{ translate('All Products') }}</h5>
|
||||
</div>
|
||||
<div class="card-body py-0">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">#</th>
|
||||
<th>{{ translate('Product')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Price')}}</th>
|
||||
<th data-breakpoints="lg" class="w-120px">{{ translate('Available Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Admin Status')}}</th>
|
||||
<th class="text-right pr-0 w-90px">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody class="fs-14">
|
||||
@foreach ($products as $key => $product)
|
||||
<tr>
|
||||
<td class="pl-0" style="vertical-align: middle;">{{ sprintf('%02d', $key+1) }}</td>
|
||||
<td class="text-dark" style="vertical-align: middle;">
|
||||
<a href="{{ route('customer.product', $product->slug) }}" class="text-reset hov-text-primary d-flex align-items-center">
|
||||
<img class="lazyload img-fit size-70px"
|
||||
src="{{ static_asset('assets/img/placeholder.jpg') }}"
|
||||
data-src="{{ uploaded_asset($product->thumbnail_img) }}"
|
||||
alt="{{ $product->getTranslation('name') }}"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
|
||||
<span class="ml-1">{{ $product->name }}</span>
|
||||
</a>
|
||||
</td>
|
||||
<td class="fw-700" style="vertical-align: middle;">{{ single_price($product->unit_price) }}</td>
|
||||
<td style="vertical-align: middle;">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input onchange="update_status(this)" value="{{ $product->id }}" type="checkbox" <?php if($product->status == 1) echo "checked";?> >
|
||||
<span class="slider round"></span></label>
|
||||
</td>
|
||||
<td style="vertical-align: middle;">
|
||||
@if ($product->published == '1')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('PUBLISHED')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-info p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('PENDING')}}</span>
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-right pr-0" style="vertical-align: middle;">
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm hov-svg-white" href="{{route('customer_products.edit', ['id'=>$product->id, 'lang'=>env('DEFAULT_LANGUAGE')] )}}" title="{{ translate('Edit') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12.001" viewBox="0 0 12 12.001">
|
||||
<defs>
|
||||
<clipPath id="clip-path">
|
||||
<rect id="Rectangle_18901" data-name="Rectangle 18901" width="10" height="10" transform="translate(0 0.049)" fill="#f3af3d"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g id="Group_25007" data-name="Group 25007" transform="translate(-1337 -418)">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-4 -6.999)">
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1341 436)" fill="#f3af3d"/>
|
||||
</g>
|
||||
<g id="Group_24957" data-name="Group 24957" transform="translate(1338 417.951)" clip-path="url(#clip-path)">
|
||||
<path id="Path_32605" data-name="Path 32605" d="M8.647,3.078l.893-.893a.632.632,0,0,1,.893,0l.893.893a.627.627,0,0,1,0,.89l-.9.888a.212.212,0,0,1-.3,0L8.647,3.376A.211.211,0,0,1,8.647,3.078Zm-.3.6L9.838,5.162a.211.211,0,0,1,0,.3L4.107,11.191a.37.37,0,0,1-.179.089L2.365,11.5a.3.3,0,0,1-.357-.357l.223-1.563A.369.369,0,0,1,2.321,9.4L8.052,3.673A.211.211,0,0,1,8.349,3.673Z" transform="translate(-1.686 -1.776)" fill="#f3af3d"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="javascript:void(0)" class="btn btn-soft-danger btn-icon btn-circle btn-sm hov-svg-white confirm-delete" data-href="{{route('customer_products.destroy', $product->id)}}" title="{{ translate('Delete') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="9.202" height="12" viewBox="0 0 9.202 12">
|
||||
<path id="Path_28714" data-name="Path 28714" d="M15.041,7.608l-.193,5.85a1.927,1.927,0,0,1-1.933,1.864H9.243A1.927,1.927,0,0,1,7.31,13.46L7.117,7.608a.483.483,0,0,1,.966-.032l.193,5.851a.966.966,0,0,0,.966.929h3.672a.966.966,0,0,0,.966-.931l.193-5.849a.483.483,0,1,1,.966.032Zm.639-1.947a.483.483,0,0,1-.483.483H6.961a.483.483,0,1,1,0-.966h1.5a.617.617,0,0,0,.615-.555,1.445,1.445,0,0,1,1.442-1.3h1.126a1.445,1.445,0,0,1,1.442,1.3.617.617,0,0,0,.615.555h1.5a.483.483,0,0,1,.483.483ZM9.913,5.178h2.333a1.6,1.6,0,0,1-.123-.456.483.483,0,0,0-.48-.435H10.516a.483.483,0,0,0-.48.435,1.6,1.6,0,0,1-.124.456ZM10.4,12.5V8.385a.483.483,0,0,0-.966,0V12.5a.483.483,0,1,0,.966,0Zm2.326,0V8.385a.483.483,0,0,0-.966,0V12.5a.483.483,0,1,0,.966,0Z" transform="translate(-6.478 -3.322)" fill="#d43533"/>
|
||||
</svg>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination">
|
||||
{{ $products->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Delete modal -->
|
||||
@include('modals.delete_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function update_status(el){
|
||||
if(el.checked){
|
||||
var status = 1;
|
||||
}
|
||||
else{
|
||||
var status = 0;
|
||||
}
|
||||
$.post('{{ route('customer_products.update.status') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){
|
||||
if(data == 1){
|
||||
AIZ.plugins.notify('success', '{{ translate('Status has been updated successfully') }}');
|
||||
}
|
||||
else{
|
||||
AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,244 @@
|
||||
@extends('frontend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
<section class="py-8 bg-primary text-white">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-8 mx-auto text-center">
|
||||
<h1 class="mb-0 fw-700">{{ translate('Premium Packages for Customers') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="py-4 py-lg-5">
|
||||
<div class="container">
|
||||
<div class="row row-cols-xxl-4 row-cols-lg-3 row-cols-md-2 row-cols-1 gutters-10 justify-content-center">
|
||||
@foreach ($customer_packages as $key => $customer_package)
|
||||
<div class="col">
|
||||
<div class="card overflow-hidden rounded-0 shadow-none border">
|
||||
<div class="card-body">
|
||||
<!-- Package name -->
|
||||
<div class="text-center mb-4 mt-3">
|
||||
<img class="mw-100 mx-auto mb-4" src="{{ uploaded_asset($customer_package->logo) }}" height="100">
|
||||
<h5 class="mb-3 h5 fw-600">{{$customer_package->getTranslation('name')}}</h5>
|
||||
</div>
|
||||
<!-- No. of product upload -->
|
||||
<ul class="list-group list-group-raw fs-20 mb-5">
|
||||
<li class="list-group-item py-2">
|
||||
<i class="las la-check text-success mr-2"></i>
|
||||
{{ $customer_package->product_upload }} {{translate('Product Upload')}}
|
||||
</li>
|
||||
</ul>
|
||||
<!-- Amount -->
|
||||
<div class="mb-5 d-flex align-items-center justify-content-center">
|
||||
@if ($customer_package->amount == 0)
|
||||
<span class="display-4 fw-600 lh-1 mb-0">{{ translate('Free') }}</span>
|
||||
@else
|
||||
<span class="display-4 fw-600 lh-1 mb-0">{{ single_price($customer_package->amount) }}</span>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
<!-- Purchase Button -->
|
||||
<div class="text-center">
|
||||
@if ($customer_package->amount == 0)
|
||||
<button class="btn btn-primary rounded-0" onclick="get_free_package({{ $customer_package->id}})">{{ translate('Free Package')}}</button>
|
||||
@else
|
||||
@if (addon_is_activated('offline_payment') )
|
||||
<button class="btn btn-primary rounded-0" onclick="select_payment_type({{ $customer_package->id}})">{{ translate('Purchase Package')}}</button>
|
||||
@else
|
||||
<button class="btn btn-primary rounded-0" onclick="show_price_modal({{ $customer_package->id}})">{{ translate('Purchase Package')}}</button>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
|
||||
<!-- Select Payment Type Modal -->
|
||||
<div class="modal fade" id="select_payment_type_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Select Payment Type') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input type="hidden" id="package_id" name="package_id" value="">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('Payment Type')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="mb-3">
|
||||
<select class="form-control aiz-selectpicker rounded-0" onchange="payment_type(this.value)"
|
||||
data-minimum-results-for-search="Infinity">
|
||||
<option value="">{{ translate('Select One')}}</option>
|
||||
<option value="online">{{ translate('Online payment')}}</option>
|
||||
<option value="offline">{{ translate('Offline payment')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary rounded-0 transition-3d-hover mr-1" id="select_type_cancel" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Online payment Modal -->
|
||||
<div class="modal fade" id="price_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Purchase Your Package') }}</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="" id="package_payment_form" action="{{ route('customer_packages.purchase') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="customer_package_id" value="">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('Payment Method')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="mb-3">
|
||||
<select class="form-control selectpicker rounded-0" data-live-search="true" name="payment_option">
|
||||
@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('razorpay') == 1)
|
||||
<option value="razorpay">{{ translate('RazorPay')}}</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('iyzico') == 1)
|
||||
<option value="iyzico">{{ translate('Iyzico')}}</option>
|
||||
@endif
|
||||
@if(get_setting('nagad') == 1)
|
||||
<option value="nagad">{{ translate('Nagad')}}</option>
|
||||
@endif
|
||||
@if(get_setting('bkash') == 1)
|
||||
<option value="bkash">{{ translate('Bkash')}}</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
|
||||
@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
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group text-right">
|
||||
<button type="button" class="btn btn-sm btn-secondary rounded-0 transition-3d-hover mr-1" data-dismiss="modal">{{translate('cancel')}}</button>
|
||||
<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>
|
||||
|
||||
|
||||
<!-- offline payment Modal -->
|
||||
<div class="modal fade" id="offline_customer_package_purchase_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Offline Package Purchase ') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div id="offline_customer_package_purchase_modal_body"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
function select_payment_type(id) {
|
||||
$('input[name=package_id]').val(id);
|
||||
$('#select_payment_type_modal').modal('show');
|
||||
}
|
||||
|
||||
function payment_type(type) {
|
||||
var package_id = $('#package_id').val();
|
||||
if (type == 'online') {
|
||||
$("#select_type_cancel").click();
|
||||
show_price_modal(package_id);
|
||||
} else if (type == 'offline') {
|
||||
$("#select_type_cancel").click();
|
||||
$.post('{{ route('offline_customer_package_purchase_modal') }}', {
|
||||
_token: '{{ csrf_token() }}',
|
||||
package_id: package_id
|
||||
}, function (data) {
|
||||
$('#offline_customer_package_purchase_modal_body').html(data);
|
||||
$('#offline_customer_package_purchase_modal').modal('show');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function show_price_modal(id) {
|
||||
$('input[name=customer_package_id]').val(id);
|
||||
$('#price_modal').modal('show');
|
||||
}
|
||||
|
||||
function get_free_package(id) {
|
||||
$('input[name=customer_package_id]').val(id);
|
||||
$('#package_payment_form').submit();
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
BIN
desarrollo2/resources/views/frontend/user/desktop.ini
Normal file
BIN
desarrollo2/resources/views/frontend/user/desktop.ini
Normal file
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Download Your Products') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Product')}}</th>
|
||||
<th class="pr-0 text-right" width="20%">{{ translate('Option')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($orders as $key => $order_id)
|
||||
@php
|
||||
$order = \App\Models\OrderDetail::find($order_id->id);
|
||||
@endphp
|
||||
<tr>
|
||||
<td class="pl-0">
|
||||
<a href="{{ route('product', $order->product->slug) }}" class="d-flex align-items-center">
|
||||
<img class="lazyload img-fit size-80px"
|
||||
src="{{ static_asset('assets/img/placeholder.jpg') }}"
|
||||
data-src="{{ uploaded_asset($order->product->thumbnail_img) }}"
|
||||
alt="{{ $order->product->getTranslation('name') }}"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">
|
||||
<span class="ml-2">{{ $order->product->getTranslation('name') }}</span>
|
||||
</a>
|
||||
</td>
|
||||
<td class="pr-0 text-right" style="vertical-align: middle;">
|
||||
<a class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" href="{{route('digital-products.download', encrypt($order->product->id))}}" title="{{ translate('Download') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12.001" viewBox="0 0 12 12.001">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1341 -424.999)">
|
||||
<path id="Union_17" data-name="Union 17" d="M13936.389,851.5l.707-.707,2.355,2.355V846h1v7.1l2.306-2.306.707.707-3.538,3.538Z" transform="translate(-12592.95 -421)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1341 436)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
{{ $orders->links() }}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,292 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<!-- Order id -->
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Order id') }}: {{ $order->code }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Order Summary -->
|
||||
<div class="card rounded-0 shadow-none border mb-4">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="fs-16 fw-700 text-dark mb-0">{{ translate('Order Summary') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6">
|
||||
<table class="table-borderless table">
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Order Code') }}:</td>
|
||||
<td>{{ $order->code }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Customer') }}:</td>
|
||||
<td>{{ json_decode($order->shipping_address)->name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Email') }}:</td>
|
||||
@if ($order->user_id != null)
|
||||
<td>{{ $order->user->email }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Shipping address') }}:</td>
|
||||
<td>{{ json_decode($order->shipping_address)->address }},
|
||||
{{ json_decode($order->shipping_address)->city }},
|
||||
@if(isset(json_decode($order->shipping_address)->state)) {{ json_decode($order->shipping_address)->state }} - @endif
|
||||
{{ json_decode($order->shipping_address)->postal_code }},
|
||||
{{ json_decode($order->shipping_address)->country }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<table class="table-borderless table">
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Order date') }}:</td>
|
||||
<td>{{ date('d-m-Y H:i A', $order->date) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Order status') }}:</td>
|
||||
<td>{{ translate(ucfirst(str_replace('_', ' ', $order->delivery_status))) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Total order amount') }}:</td>
|
||||
<td>{{ single_price($order->orderDetails->sum('price') + $order->orderDetails->sum('tax')) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Shipping method') }}:</td>
|
||||
<td>{{ translate('Flat shipping rate') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Payment method') }}:</td>
|
||||
<td>{{ translate(ucfirst(str_replace('_', ' ', $order->payment_type))) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-main text-bold">{{ translate('Additional Info') }}</td>
|
||||
<td class="">{{ $order->additional_info }}</td>
|
||||
</tr>
|
||||
@if ($order->tracking_code)
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Tracking code') }}:</td>
|
||||
<td>{{ $order->tracking_code }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Order Details -->
|
||||
<div class="row gutters-16">
|
||||
<div class="col-md-9">
|
||||
<div class="card rounded-0 shadow-none border mt-2 mb-4">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="fs-16 fw-700 text-dark mb-0">{{ translate('Order Details') }}</h5>
|
||||
</div>
|
||||
<div class="card-body table-responsive">
|
||||
<table class="aiz-table table">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">#</th>
|
||||
<th width="30%">{{ translate('Product') }}</th>
|
||||
<th data-breakpoints="md">{{ translate('Variation') }}</th>
|
||||
<th>{{ translate('Quantity') }}</th>
|
||||
<th data-breakpoints="md">{{ translate('Delivery Type') }}</th>
|
||||
<th>{{ translate('Price') }}</th>
|
||||
@if (addon_is_activated('refund_request'))
|
||||
<th data-breakpoints="md">{{ translate('Refund') }}</th>
|
||||
@endif
|
||||
<th data-breakpoints="md" class="text-right pr-0">{{ translate('Review') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($order->orderDetails as $key => $orderDetail)
|
||||
<tr>
|
||||
<td class="pl-0">{{ sprintf('%02d', $key+1) }}</td>
|
||||
<td>
|
||||
@if ($orderDetail->product != null && $orderDetail->product->auction_product == 0)
|
||||
<a href="{{ route('product', $orderDetail->product->slug) }}"
|
||||
target="_blank">{{ $orderDetail->product->getTranslation('name') }}</a>
|
||||
@elseif($orderDetail->product != null && $orderDetail->product->auction_product == 1)
|
||||
<a href="{{ route('auction-product', $orderDetail->product->slug) }}"
|
||||
target="_blank">{{ $orderDetail->product->getTranslation('name') }}</a>
|
||||
@else
|
||||
<strong>{{ translate('Product Unavailable') }}</strong>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ $orderDetail->variation }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $orderDetail->quantity }}
|
||||
</td>
|
||||
<td>
|
||||
@if ($order->shipping_type != null && $order->shipping_type == 'home_delivery')
|
||||
{{ translate('Home Delivery') }}
|
||||
@elseif ($order->shipping_type == 'pickup_point')
|
||||
@if ($order->pickup_point != null)
|
||||
{{ $order->pickup_point->name }} ({{ translate('Pickip Point') }})
|
||||
@else
|
||||
{{ translate('Pickup Point') }}
|
||||
@endif
|
||||
@elseif($order->shipping_type == 'carrier')
|
||||
@if ($order->carrier != null)
|
||||
{{ $order->carrier->name }} ({{ translate('Carrier') }})
|
||||
<br>
|
||||
{{ translate('Transit Time').' - '.$order->carrier->transit_time }}
|
||||
@else
|
||||
{{ translate('Carrier') }}
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td class="fw-700">{{ single_price($orderDetail->price) }}</td>
|
||||
@if (addon_is_activated('refund_request'))
|
||||
@php
|
||||
$no_of_max_day = get_setting('refund_request_time');
|
||||
$last_refund_date = $orderDetail->created_at->addDays($no_of_max_day);
|
||||
$today_date = Carbon\Carbon::now();
|
||||
@endphp
|
||||
<td>
|
||||
@if ($orderDetail->product != null && $orderDetail->product->refundable != 0 && $orderDetail->refund_request == null && $today_date <= $last_refund_date && $orderDetail->payment_status == 'paid' && $orderDetail->delivery_status == 'delivered')
|
||||
<a href="{{ route('refund_request_send_page', $orderDetail->id) }}"
|
||||
class="btn btn-primary btn-sm rounded-0">{{ translate('Send') }}</a>
|
||||
@elseif ($orderDetail->refund_request != null && $orderDetail->refund_request->refund_status == 0)
|
||||
<b class="text-info">{{ translate('Pending') }}</b>
|
||||
@elseif ($orderDetail->refund_request != null && $orderDetail->refund_request->refund_status == 2)
|
||||
<b class="text-success">{{ translate('Rejected') }}</b>
|
||||
@elseif ($orderDetail->refund_request != null && $orderDetail->refund_request->refund_status == 1)
|
||||
<b class="text-success">{{ translate('Approved') }}</b>
|
||||
@elseif ($orderDetail->product->refundable != 0)
|
||||
<b>{{ translate('N/A') }}</b>
|
||||
@else
|
||||
<b>{{ translate('Non-refundable') }}</b>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
<td class="text-xl-right pr-0">
|
||||
@if ($orderDetail->delivery_status == 'delivered')
|
||||
<a href="javascript:void(0);"
|
||||
onclick="product_review('{{ $orderDetail->product_id }}')"
|
||||
class="btn btn-primary btn-sm rounded-0"> {{ translate('Review') }} </a>
|
||||
@else
|
||||
<span class="text-danger">{{ translate('Not Delivered Yet') }}</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Order Ammount -->
|
||||
<div class="col-md-3">
|
||||
<div class="card rounded-0 shadow-none border mt-2">
|
||||
<div class="card-header border-bottom-0">
|
||||
<b class="fs-16 fw-700 text-dark">{{ translate('Order Ammount') }}</b>
|
||||
</div>
|
||||
<div class="card-body pb-0">
|
||||
<table class="table-borderless table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Subtotal') }}</td>
|
||||
<td class="text-right">
|
||||
<span class="strong-600">{{ single_price($order->orderDetails->sum('price')) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Shipping') }}</td>
|
||||
<td class="text-right">
|
||||
<span class="text-italic">{{ single_price($order->orderDetails->sum('shipping_cost')) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Tax') }}</td>
|
||||
<td class="text-right">
|
||||
<span class="text-italic">{{ single_price($order->orderDetails->sum('tax')) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Coupon') }}</td>
|
||||
<td class="text-right">
|
||||
<span class="text-italic">{{ single_price($order->coupon_discount) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Total') }}</td>
|
||||
<td class="text-right">
|
||||
<strong>{{ single_price($order->grand_total) }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@if ($order->manual_payment && $order->manual_payment_data == null)
|
||||
<button onclick="show_make_payment_modal({{ $order->id }})"
|
||||
class="btn btn-block btn-primary">{{ translate('Make Payment') }}</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Product Review Modal -->
|
||||
<div class="modal fade" id="product-review-modal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content" id="product-review-modal-content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Payment Modal -->
|
||||
<div class="modal fade" id="payment_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div id="payment_modal_body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function show_make_payment_modal(order_id) {
|
||||
$.post('{{ route('checkout.make_payment') }}', {
|
||||
_token: '{{ csrf_token() }}',
|
||||
order_id: order_id
|
||||
}, function(data) {
|
||||
$('#payment_modal_body').html(data);
|
||||
$('#payment_modal').modal('show');
|
||||
$('input[name=order_id]').val(order_id);
|
||||
});
|
||||
}
|
||||
|
||||
function product_review(product_id) {
|
||||
$.post('{{ route('product_review_modal') }}', {
|
||||
_token: '{{ @csrf_token() }}',
|
||||
product_id: product_id
|
||||
}, function(data) {
|
||||
$('#product-review-modal-content').html(data);
|
||||
$('#product-review-modal').modal('show', {
|
||||
backdrop: 'static'
|
||||
});
|
||||
AIZ.extra.inputRating();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,108 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Make Payment')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<form class="" action="{{ route('purchase_history.make_payment') }}" method="post" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<input type="hidden" name="order_id" value="{{ $order->id }}">
|
||||
<div class="modal-body gry-bg px-3 pt-3 mx-auto c-scrollbar-light">
|
||||
<div class="align-items-center gutters-5 row">
|
||||
<!-- Manual Payment Methods -->
|
||||
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
|
||||
<div class="col-6 col-md-4">
|
||||
<label class="aiz-megabox d-block mb-3">
|
||||
<input value="{{ $method->heading }}" type="radio" name="payment_option" onchange="toggleManualPaymentData({{ $method->id }})" data-id="{{ $method->id }}" checked>
|
||||
<span class="d-block p-3 aiz-megabox-elem">
|
||||
<img src="{{ uploaded_asset($method->photo) }}" class="img-fluid mb-2">
|
||||
<span class="d-block text-center">
|
||||
<span class="d-block fw-600 fs-15">{{ $method->heading }}</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<div id="manual_payment_data">
|
||||
<!-- Payment description -->
|
||||
<div class="card mb-3 p-3 d-none">
|
||||
<div id="manual_payment_description">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3 p-3">
|
||||
<!-- Amount -->
|
||||
<div class="row mt-3">
|
||||
<div class="col-md-3">
|
||||
<label>{{translate('Amount')}} <span class="text-danger">*</span></label>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<input type="number" lang="en" class="form-control mb-3 rounded-0" min="0" step="0.01" name="amount" placeholder="{{ translate('Amount') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Name -->
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<label>{{translate('Name')}} <span class="text-danger">*</span></label>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<input type="text" class="form-control mb-3 rounded-0" name="name" placeholder="{{ translate('Name') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Transaction ID -->
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<label>{{translate('Transaction ID')}} <span class="text-danger">*</span></label>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<input type="text" class="form-control mb-3 rounded-0" name="trx_id" placeholder="{{ translate('Transaction ID') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Payment screenshot -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ translate('Payment screenshot') }}</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" required>
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose image') }}</div>
|
||||
<input type="hidden" name="photo" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Confirm Button -->
|
||||
<div class="form-group text-right">
|
||||
<button type="submit" class="btn btn-primary rounded-0 transition-3d-hover mr-1">{{translate('Confirm')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
|
||||
<div id="manual_payment_info_{{ $method->id }}" class="d-none">
|
||||
<div>@php echo $method->description @endphp</div>
|
||||
@if ($method->bank_info != null)
|
||||
<ul>
|
||||
@foreach (json_decode($method->bank_info) as $key => $info)
|
||||
<li>{{ translate('Bank Name') }} - {{ $info->bank_name }}, {{ translate('Account Name') }} - {{ $info->account_name }}, {{ translate('Account Number') }} - {{ $info->account_number}}, {{ translate('Routing Number') }} - {{ $info->routing_number }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
toggleManualPaymentData($('input[name=payment_option]:checked').data('id'));
|
||||
});
|
||||
|
||||
function toggleManualPaymentData(id){
|
||||
$('#manual_payment_description').parent().removeClass('d-none');
|
||||
$('#manual_payment_description').html($('#manual_payment_info_'+id).html());
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,110 @@
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title h6">{{translate('Review')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@if($review == null)
|
||||
<!-- Add new review -->
|
||||
<form action="{{ route('reviews.store') }}" method="POST" >
|
||||
@csrf
|
||||
<input type="hidden" name="product_id" value="{{ $product->id }}">
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="opacity-60">{{ translate('Product')}}</label>
|
||||
<p>{{ $product->getTranslation('name') }}</p>
|
||||
</div>
|
||||
<!-- Rating -->
|
||||
<div class="form-group">
|
||||
<label class="opacity-60">{{ translate('Rating')}}</label>
|
||||
<div class="rating rating-input">
|
||||
<label>
|
||||
<input type="radio" name="rating" value="1" required>
|
||||
<i class="las la-star"></i>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="rating" value="2">
|
||||
<i class="las la-star"></i>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="rating" value="3">
|
||||
<i class="las la-star"></i>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="rating" value="4">
|
||||
<i class="las la-star"></i>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="rating" value="5">
|
||||
<i class="las la-star"></i>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Comment -->
|
||||
<div class="form-group">
|
||||
<label class="opacity-60">{{ translate('Comment')}}</label>
|
||||
<textarea class="form-control rounded-0" rows="4" name="comment" placeholder="{{ translate('Your review')}}" required></textarea>
|
||||
</div>
|
||||
<!-- Review Images -->
|
||||
<div class="form-group">
|
||||
<label class="" for="photos">{{translate('Review Images')}}</label>
|
||||
<div class="">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="true">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="photos[]" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
<small class="text-muted">{{translate('These images are visible in product review page gallery. Upload square images')}}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-sm btn-secondary rounded-0" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
<button type="submit" class="btn btn-sm btn-primary rounded-0">{{translate('Submit Review')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
@else
|
||||
<!-- Review -->
|
||||
<li class="media list-group-item d-flex">
|
||||
<div class="media-body text-left">
|
||||
<!-- Rating -->
|
||||
<div class="form-group">
|
||||
<label class="opacity-60">{{ translate('Rating')}}</label>
|
||||
<p class="rating rating-sm">
|
||||
@for ($i=0; $i < $review->rating; $i++)
|
||||
<i class="las la-star active"></i>
|
||||
@endfor
|
||||
@for ($i=0; $i < 5-$review->rating; $i++)
|
||||
<i class="las la-star"></i>
|
||||
@endfor
|
||||
</p>
|
||||
</div>
|
||||
<!-- Comment -->
|
||||
<div class="form-group">
|
||||
<label class="opacity-60">{{ translate('Comment')}}</label>
|
||||
<p class="comment-text">
|
||||
{{ $review->comment }}
|
||||
</p>
|
||||
</div>
|
||||
<!-- Review Images -->
|
||||
<div class="form-group">
|
||||
<label class="opacity-60">{{ translate('Images')}}</label>
|
||||
<div class="d-flex flex-wrap">
|
||||
@foreach (explode(',', $review->photos) as $photo)
|
||||
<div class="mr-3 mb-3 size-90px">
|
||||
<img class="img-fit h-100 lazyload border"
|
||||
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
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
202
desarrollo2/resources/views/frontend/user/profile.blade.php
Normal file
202
desarrollo2/resources/views/frontend/user/profile.blade.php
Normal file
@@ -0,0 +1,202 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Manage Profile') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Basic Info-->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header pt-4 border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{ translate('Basic Info')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('user.profile.update') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<!-- Name-->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label fs-14 fs-14">{{ translate('Your Name') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" placeholder="{{ translate('Your Name') }}" name="name" value="{{ Auth::user()->name }}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Phone-->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label fs-14">{{ translate('Your Phone') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" placeholder="{{ translate('Your Phone')}}" name="phone" value="{{ Auth::user()->phone }}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Photo-->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label fs-14">{{ translate('Photo') }}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="photo" value="{{ Auth::user()->avatar_original }}" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Password-->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label fs-14">{{ translate('Your Password') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="password" class="form-control rounded-0" placeholder="{{ translate('New Password') }}" name="new_password">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Confirm Password-->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label fs-14">{{ translate('Confirm Password') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="password" class="form-control rounded-0" placeholder="{{ translate('Confirm Password') }}" name="confirm_password">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Submit Button-->
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-primary rounded-0 w-150px mt-3">{{translate('Update Profile')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Address -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header pt-4 border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{ translate('Address')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@foreach (Auth::user()->addresses as $key => $address)
|
||||
<div class="">
|
||||
<div class="border p-4 mb-4 position-relative">
|
||||
<div class="row fs-14 mb-2 mb-md-0">
|
||||
<span class="col-md-2 text-secondary">{{ translate('Address') }}:</span>
|
||||
<span class="col-md-8 text-dark">{{ $address->address }}</span>
|
||||
</div>
|
||||
<div class="row fs-14 mb-2 mb-md-0">
|
||||
<span class="col-md-2 text-secondary">{{ translate('Postal Code') }}:</span>
|
||||
<span class="col-md-10 text-dark">{{ $address->postal_code }}</span>
|
||||
</div>
|
||||
<div class="row fs-14 mb-2 mb-md-0">
|
||||
<span class="col-md-2 text-secondary">{{ translate('City') }}:</span>
|
||||
<span class="col-md-10 text-dark">{{ optional($address->city)->name }}</span>
|
||||
</div>
|
||||
<div class="row fs-14 mb-2 mb-md-0">
|
||||
<span class="col-md-2 text-secondary">{{ translate('State') }}:</span>
|
||||
<span class="col-md-10 text-dark">{{ optional($address->state)->name }}</span>
|
||||
</div>
|
||||
<div class="row fs-14 mb-2 mb-md-0">
|
||||
<span class="col-md-2 text-secondary">{{ translate('Country') }}:</span>
|
||||
<span class="col-md-10 text-dark">{{ optional($address->country)->name }}</span>
|
||||
</div>
|
||||
<div class="row fs-14 mb-2 mb-md-0">
|
||||
<span class="col-md-2 text-secondary text-secondary">{{ translate('Phone') }}:</span>
|
||||
<span class="col-md-10 text-dark">{{ $address->phone }}</span>
|
||||
</div>
|
||||
@if ($address->set_default)
|
||||
<div class="absolute-md-top-right pt-2 pt-md-4 pr-md-5">
|
||||
<span class="badge badge-inline badge-warning text-white p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Default') }}</span>
|
||||
</div>
|
||||
@endif
|
||||
<div class="dropdown position-absolute right-0 top-0 pt-4 mr-1">
|
||||
<button class="btn bg-gray text-white px-1 py-1" type="button" data-toggle="dropdown">
|
||||
<i class="la la-ellipsis-v"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
|
||||
<a class="dropdown-item" onclick="edit_address('{{$address->id}}')">
|
||||
{{ translate('Edit') }}
|
||||
</a>
|
||||
@if (!$address->set_default)
|
||||
<a class="dropdown-item" href="{{ route('addresses.set_default', $address->id) }}">{{ translate('Make This Default') }}</a>
|
||||
@endif
|
||||
<a class="dropdown-item" href="{{ route('addresses.destroy', $address->id) }}">{{ translate('Delete') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
<!-- Add New Address -->
|
||||
<div class="" onclick="add_new_address()">
|
||||
<div class="border p-3 mb-3 c-pointer text-center bg-light has-transition hov-bg-soft-light">
|
||||
<i class="la la-plus la-2x"></i>
|
||||
<div class="alpha-7 fs-14 fw-700">{{ translate('Add New Address') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Change Email -->
|
||||
<form action="{{ route('user.change.email') }}" method="POST">
|
||||
@csrf
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header pt-4 border-bottom-0">
|
||||
<h5 class="mb-0 fs-18 fw-700 text-dark">{{ translate('Change your email')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label class="fs-14">{{ translate('Your Email') }}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group mb-3">
|
||||
<input type="email" class="form-control rounded-0" placeholder="{{ translate('Your Email')}}" name="email" value="{{ Auth::user()->email }}" />
|
||||
<div class="input-group-append">
|
||||
<button type="button" class="btn btn-outline-secondary new-email-verification">
|
||||
<span class="d-none loading">
|
||||
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>{{ translate('Sending Email...') }}
|
||||
</span>
|
||||
<span class="default">{{ translate('Verify') }}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-primary rounded-0 w-150px mt-3">{{translate('Update Email')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Address modal -->
|
||||
@include('frontend.partials.address_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
$('.new-email-verification').on('click', function() {
|
||||
$(this).find('.loading').removeClass('d-none');
|
||||
$(this).find('.default').addClass('d-none');
|
||||
var email = $("input[name=email]").val();
|
||||
|
||||
$.post('{{ route('user.new.verify') }}', {_token:'{{ csrf_token() }}', email: email}, function(data){
|
||||
data = JSON.parse(data);
|
||||
$('.default').removeClass('d-none');
|
||||
$('.loading').addClass('d-none');
|
||||
if(data.status == 2)
|
||||
AIZ.plugins.notify('warning', data.message);
|
||||
else if(data.status == 1)
|
||||
AIZ.plugins.notify('success', data.message);
|
||||
else
|
||||
AIZ.plugins.notify('danger', data.message);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@if (get_setting('google_map') == 1)
|
||||
@include('frontend.partials.google_map')
|
||||
@endif
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,116 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Purchase History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Delivery Status')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Payment Status')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($orders as $key => $order)
|
||||
@if (count($order->orderDetails) > 0)
|
||||
<tr>
|
||||
<!-- Code -->
|
||||
<td class="pl-0">
|
||||
<a href="{{route('purchase_history.details', encrypt($order->id))}}">{{ $order->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary">{{ date('d-m-Y', $order->date) }}</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700">
|
||||
{{ single_price($order->grand_total) }}
|
||||
</td>
|
||||
<!-- Delivery Status -->
|
||||
<td class="fw-700">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $order->delivery_status))) }}
|
||||
@if($order->delivery_viewed == 0)
|
||||
<span class="ml-2" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Status -->
|
||||
<td>
|
||||
@if ($order->payment_status == 'paid')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Paid')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Unpaid')}}</span>
|
||||
@endif
|
||||
@if($order->payment_status_viewed == 0)
|
||||
<span class="ml-2" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0">
|
||||
@if ($order->delivery_status == 'pending' && $order->payment_status == 'unpaid')
|
||||
<a href="javascript:void(0)" class="btn btn-soft-danger btn-icon btn-circle btn-sm hov-svg-white confirm-delete" data-href="{{route('purchase_history.destroy', $order->id)}}" title="{{ translate('Cancel') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="9.202" height="12" viewBox="0 0 9.202 12">
|
||||
<path id="Path_28714" data-name="Path 28714" d="M15.041,7.608l-.193,5.85a1.927,1.927,0,0,1-1.933,1.864H9.243A1.927,1.927,0,0,1,7.31,13.46L7.117,7.608a.483.483,0,0,1,.966-.032l.193,5.851a.966.966,0,0,0,.966.929h3.672a.966.966,0,0,0,.966-.931l.193-5.849a.483.483,0,1,1,.966.032Zm.639-1.947a.483.483,0,0,1-.483.483H6.961a.483.483,0,1,1,0-.966h1.5a.617.617,0,0,0,.615-.555,1.445,1.445,0,0,1,1.442-1.3h1.126a1.445,1.445,0,0,1,1.442,1.3.617.617,0,0,0,.615.555h1.5a.483.483,0,0,1,.483.483ZM9.913,5.178h2.333a1.6,1.6,0,0,1-.123-.456.483.483,0,0,0-.48-.435H10.516a.483.483,0,0,0-.48.435,1.6,1.6,0,0,1-.124.456ZM10.4,12.5V8.385a.483.483,0,0,0-.966,0V12.5a.483.483,0,1,0,.966,0Zm2.326,0V8.385a.483.483,0,0,0-.966,0V12.5a.483.483,0,1,0,.966,0Z" transform="translate(-6.478 -3.322)" fill="#d43533"/>
|
||||
</svg>
|
||||
</a>
|
||||
@endif
|
||||
<a href="{{route('purchase_history.details', encrypt($order->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm hov-svg-white" href="{{ route('invoice.download', $order->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12.001" viewBox="0 0 12 12.001">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1341 -424.999)">
|
||||
<path id="Union_17" data-name="Union 17" d="M13936.389,851.5l.707-.707,2.355,2.355V846h1v7.1l2.306-2.306.707.707-3.538,3.538Z" transform="translate(-12592.95 -421)" fill="#f3af3d"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1341 436)" fill="#f3af3d"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $orders->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Delete modal -->
|
||||
@include('modals.delete_modal')
|
||||
|
||||
<!-- Order details modal -->
|
||||
<div class="modal fade" id="order_details" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-xl" role="document">
|
||||
<div class="modal-content">
|
||||
<div id="order-details-modal-body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
$('#order_details').on('hidden.bs.modal', function () {
|
||||
location.reload();
|
||||
})
|
||||
</script>
|
||||
@endsection
|
||||
Binary file not shown.
@@ -0,0 +1,121 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Support Ticket') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Create a Ticket -->
|
||||
<div class="p-4 mb-3 c-pointer text-center bg-light has-transition border h-100 hov-bg-soft-light" data-toggle="modal" data-target="#ticket_modal">
|
||||
<i class="las la-plus la-3x mb-2"></i>
|
||||
<div class="fs-14 fw-600 text-dark">{{ translate('Create a Ticket') }}</div>
|
||||
</div>
|
||||
|
||||
<!-- Tickets -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark text-center text-md-left">{{ translate('Tickets')}}</h5>
|
||||
</div>
|
||||
<div class="card-body py-0">
|
||||
<table class="table aiz-table mb-4">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th data-breakpoints="lg" class="pl-0">{{ translate('Ticket ID') }}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Sending Date') }}</th>
|
||||
<th>{{ translate('Subject')}}</th>
|
||||
<th>{{ translate('Status')}}</th>
|
||||
<th data-breakpoints="lg" class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($tickets as $key => $ticket)
|
||||
<tr>
|
||||
<td class="pl-0 fw-700">#{{ $ticket->code }}</td>
|
||||
<td>{{ date('Y.m.d h:i:m', strtotime($ticket->created_at)) }}</td>
|
||||
<td>{{ $ticket->subject }}</td>
|
||||
<td>
|
||||
@if ($ticket->status == 'pending')
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Pending')}}</span>
|
||||
@elseif ($ticket->status == 'open')
|
||||
<span class="badge badge-inline badge-secondary p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Open')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Solved')}}</span>
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-right pr-0">
|
||||
<a href="{{route('support_ticket.show', encrypt($ticket->id))}}" class="btn btn-styled btn-link fw-700 py-1 px-0 icon-anim text-decoration-none">
|
||||
{{ translate('View Details')}}
|
||||
<i class="la la-angle-right fw-900 text-sm"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination">
|
||||
{{ $tickets->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Ticket modal -->
|
||||
<div class="modal fade" id="ticket_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 strong-600 heading-5">{{ translate('Create a Ticket')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body px-3 pt-3">
|
||||
<form class="" action="{{ route('support_ticket.store') }}" method="post" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('Subject')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control mb-3 rounded-0" placeholder="{{ translate('Subject')}}" name="subject" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('Provide a detailed description')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<textarea type="text" class="form-control mb-3 rounded-0" rows="3" name="details" placeholder="{{ translate('Type your reply')}}" data-buttons="bold,underline,italic,|,ul,ol,|,paragraph,|,undo,redo" required></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">{{ translate('Photo') }}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="true">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="attachments" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-right mt-4">
|
||||
<button type="button" class="btn btn-secondary rounded-0 w-150px" data-dismiss="modal">{{ translate('cancel')}}</button>
|
||||
<button type="submit" class="btn btn-primary rounded-0 w-150px">{{ translate('Send Ticket')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,128 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<!-- Ticket info -->
|
||||
<div class="card-header border-bottom-0">
|
||||
<div class="text-center text-md-left">
|
||||
<h5 class="mb-md-0 fs-20 fw-700 text-dark">{{ $ticket->subject }} #{{ $ticket->code }}</h5>
|
||||
<div class="mt-4 fs-14">
|
||||
<span class="fw-700 text-dark"> {{ $ticket->user->name }} </span>
|
||||
<span class="ml-2 text-secondary"> {{ $ticket->created_at }} </span>
|
||||
<span class="badge badge-inline badge-gray ml-2 p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;"> {{ ucfirst($ticket->status) }} </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="mx-4">
|
||||
|
||||
<div class="card-body">
|
||||
<!-- Reply form -->
|
||||
<form action="{{route('support_ticket.seller_store')}}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<input type="hidden" name="ticket_id" value="{{$ticket->id}}" required>
|
||||
<input type="hidden" name="user_id" value="{{$ticket->user_id}}">
|
||||
<div class="form-group">
|
||||
<textarea class="aiz-text-editor rounded-0" name="reply" data-buttons='[["font", ["bold", "underline", "italic"]],["para", ["ul", "ol"]],["view", ["undo","redo"]]]' required></textarea>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-12">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="true">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="attachments" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-sm btn-primary rounded-0 w-150px" onclick="submit_reply('pending')">{{ translate('Send Reply') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="pad-top">
|
||||
<ul class="list-group list-group-flush mt-3">
|
||||
<!-- Replies -->
|
||||
@foreach($ticket->ticketreplies as $ticketreply)
|
||||
<li class="list-group-item px-0 border-bottom-0">
|
||||
<div class="media">
|
||||
<a class="media-left" href="#">
|
||||
@if($ticketreply->user->avatar_original != null)
|
||||
<span class="avatar avatar-sm mr-3">
|
||||
<img src="{{ uploaded_asset($ticketreply->user->avatar_original) }}" onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
</span>
|
||||
@else
|
||||
<span class="avatar avatar-sm mr-3">
|
||||
<img src="{{ static_asset('assets/img/avatar-place.png') }}">
|
||||
</span>
|
||||
@endif
|
||||
</a>
|
||||
<div class="media-body">
|
||||
<div class="comment-header">
|
||||
<span class="fs-14 fw-700 text-dark">{{ $ticketreply->user->name }}</span>
|
||||
<p class="text-muted text-sm fs-12 mt-2">{{ date('d.m.Y h:i:m', strtotime($ticketreply->created_at)) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fs-14 fw-400">
|
||||
{!! $ticketreply->reply !!}
|
||||
<br>
|
||||
<br>
|
||||
@foreach ((explode(",",$ticketreply->files)) as $key => $file)
|
||||
@php $file_detail = \App\Models\Upload::where('id', $file)->first(); @endphp
|
||||
@if($file_detail != null)
|
||||
<a href="{{ uploaded_asset($file) }}" download="" class="badge badge-lg badge-inline badge-light mb-1">
|
||||
<i class="las la-download text-muted">{{ $file_detail->file_original_name.'.'.$file_detail->extension }}</i>
|
||||
</a>
|
||||
<br>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
<!-- Ticket Details -->
|
||||
<li class="list-group-item px-0">
|
||||
<div class="media">
|
||||
<a class="media-left" href="#">
|
||||
@if($ticket->user->avatar_original != null)
|
||||
<span class="avatar avatar-sm mr-3">
|
||||
<img src="{{ uploaded_asset($ticket->user->avatar_original) }}" onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
</span>
|
||||
@else
|
||||
<span class="avatar avatar-sm mr-3">
|
||||
<img src="{{ static_asset('assets/img/avatar-place.png') }}">
|
||||
</span>
|
||||
@endif
|
||||
</a>
|
||||
<div class="media-body">
|
||||
<div class="comment-header">
|
||||
<span class="fs-14 fw-700 text-dark">{{ $ticket->user->name }}</span>
|
||||
<p class="text-muted text-sm fs-12 mt-2">{{ date('d.m.Y h:i:m', strtotime($ticket->created_at)) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
{!! $ticket->details !!}
|
||||
<br>
|
||||
<br>
|
||||
@foreach ((explode(",",$ticket->files)) as $key => $file)
|
||||
@php $file_detail = \App\Models\Upload::where('id', $file)->first(); @endphp
|
||||
@if($file_detail != null)
|
||||
<a href="{{ uploaded_asset($file) }}" download="" class="badge badge-lg badge-inline badge-light mb-1">
|
||||
<i class="las la-download text-muted">{{ $file_detail->file_original_name.'.'.$file_detail->extension }}</i>
|
||||
</a>
|
||||
<br>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,95 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<b class="fs-20 fw-700 text-dark">{{ translate('Wishlist')}}</b>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (count($wishlists) > 0)
|
||||
<div class="row row-cols-xxl-5 row-cols-xl-4 row-cols-lg-4 row-cols-md-3 row-cols-sm-2 row-cols-2 gutters-16 border-top border-left mx-1 mx-md-0 mb-4">
|
||||
@foreach($wishlists as $key => $wishlist)
|
||||
@if ($wishlist->product != null)
|
||||
<div class="aiz-card-box col py-3 text-center border-right border-bottom has-transition hov-shadow-out z-1" id="wishlist_{{ $wishlist->id }}">
|
||||
<div class="position-relative h-140px h-md-200px img-fit overflow-hidden mb-3">
|
||||
<!-- Image -->
|
||||
<a href="{{ route('product', $wishlist->product->slug) }}" class="d-block h-100">
|
||||
<img src="{{ uploaded_asset($wishlist->product->thumbnail_img) }}" class="lazyload mx-auto img-fit"
|
||||
title="{{ $wishlist->product->getTranslation('name') }}">
|
||||
</a>
|
||||
<!-- Remove from wishlisht -->
|
||||
<div class="absolute-top-right aiz-p-hov-icon">
|
||||
<a href="javascript:void(0)" onclick="removeFromWishlist({{ $wishlist->id }})" data-toggle="tooltip" data-title="{{ translate('Remove from wishlist') }}" data-placement="left">
|
||||
<i class="la la-trash"></i>
|
||||
</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 justify-content-center align-items-center"
|
||||
href="javascript:void(0)" onclick="showAddToCartModal({{ $wishlist->product->id }})">{{ translate('Add to Cart') }}</a>
|
||||
</div>
|
||||
<!-- Product Name -->
|
||||
<h5 class="fs-14 mb-0 lh-1-5 fw-400 text-truncate-2 mb-3">
|
||||
<a href="{{ route('product', $wishlist->product->slug) }}" class="text-reset hov-text-primary"
|
||||
title="{{ $wishlist->product->getTranslation('name') }}">{{ $wishlist->product->getTranslation('name') }}</a>
|
||||
</h5>
|
||||
<!-- Price -->
|
||||
<div class="fs-14">
|
||||
<span class="fw-600 text-primary">{{ home_discounted_base_price($wishlist->product) }}</span>
|
||||
@if(home_base_price($wishlist->product) != home_discounted_base_price($wishlist->product))
|
||||
<del class="opacity-60 ml-1">{{ home_base_price($wishlist->product) }}</del>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@else
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="text-center bg-white p-4 border">
|
||||
<img class="mw-100 h-200px" src="{{ static_asset('assets/img/nothing.svg') }}" alt="Image">
|
||||
<h5 class="mb-0 h5 mt-3">{{ translate("There isn't anything added yet")}}</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination">
|
||||
{{ $wishlists->links() }}
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- add To Cart Modal -->
|
||||
<div class="modal fade" id="addToCart" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered modal-dialog-zoom product-modal" id="modal-size" role="document">
|
||||
<div class="modal-content position-relative">
|
||||
<div class="c-preloader">
|
||||
<i class="fa fa-spin fa-spinner"></i>
|
||||
</div>
|
||||
<button type="button" class="close absolute-close-btn" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<div id="addToCart-modal-body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function removeFromWishlist(id){
|
||||
$.post('{{ route('wishlists.remove') }}',{_token:'{{ csrf_token() }}', id:id}, function(data){
|
||||
$('#wishlist').html(data);
|
||||
$('#wishlist_'+id).hide();
|
||||
AIZ.plugins.notify('success', '{{ translate("Item has been renoved from wishlist") }}');
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
BIN
desarrollo2/resources/views/frontend/user/wallet/desktop.ini
Normal file
BIN
desarrollo2/resources/views/frontend/user/wallet/desktop.ini
Normal file
Binary file not shown.
133
desarrollo2/resources/views/frontend/user/wallet/index.blade.php
Normal file
133
desarrollo2/resources/views/frontend/user/wallet/index.blade.php
Normal file
@@ -0,0 +1,133 @@
|
||||
@extends('frontend.layouts.user_panel')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('My Wallet') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row gutters-16 mb-2">
|
||||
<!-- Wallet Balance -->
|
||||
<div class="col-md-4 mx-auto mb-4">
|
||||
<div class="bg-dark text-white overflow-hidden text-center p-4 h-100">
|
||||
<img src="{{ static_asset('assets/img/wallet-icon.png') }}" alt="">
|
||||
<div class="py-2">
|
||||
<div class="fs-14 fw-400 text-center">{{ translate('Wallet Balance') }}</div>
|
||||
<div class="fs-30 fw-700 text-center">{{ single_price(Auth::user()->balance) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Recharge Wallet -->
|
||||
<div class="col-md-4 mx-auto mb-4">
|
||||
<div class="p-4 mb-3 c-pointer text-center bg-light has-transition border h-100 hov-bg-soft-light"
|
||||
onclick="show_wallet_modal()">
|
||||
<span
|
||||
class="size-60px rounded-circle mx-auto bg-dark d-flex align-items-center justify-content-center mb-3">
|
||||
<i class="las la-plus la-3x text-white"></i>
|
||||
</span>
|
||||
<div class="fs-14 fw-600 text-dark">{{ translate('Recharge Wallet') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Offline Recharge Wallet -->
|
||||
@if (addon_is_activated('offline_payment'))
|
||||
<div class="col-md-4 mx-auto mb-4">
|
||||
<div class="p-4 mb-3 c-pointer text-center bg-light has-transition border h-100 hov-bg-soft-light"
|
||||
onclick="show_make_wallet_recharge_modal()">
|
||||
<span
|
||||
class="size-60px rounded-circle mx-auto bg-dark d-flex align-items-center justify-content-center mb-3">
|
||||
<i class="las la-plus la-3x text-white"></i>
|
||||
</span>
|
||||
<div class="fs-14 fw-600 text-dark">{{ translate('Offline Recharge Wallet') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Wallet Recharge History -->
|
||||
<div class="card rounded-0 shadow-none border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark text-center text-md-left">{{ translate('Wallet recharge history') }}</h5>
|
||||
</div>
|
||||
<div class="card-body py-0">
|
||||
<table class="table aiz-table mb-4">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">#</th>
|
||||
<th data-breakpoints="lg">{{ translate('Date') }}</th>
|
||||
<th>{{ translate('Amount') }}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Method') }}</th>
|
||||
<th class="text-right pr-0">{{ translate('Status') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($wallets as $key => $wallet)
|
||||
<tr>
|
||||
<td class="pl-0">{{ sprintf('%02d', ($key+1)) }}</td>
|
||||
<td>{{ date('d-m-Y', strtotime($wallet->created_at)) }}</td>
|
||||
<td class="fw-700">{{ single_price($wallet->amount) }}</td>
|
||||
<td>{{ ucfirst(str_replace('_', ' ', $wallet->payment_method)) }}</td>
|
||||
<td class="text-right pr-0">
|
||||
@if ($wallet->offline_payment)
|
||||
@if ($wallet->approval)
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Approved') }}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-info p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Pending') }}</span>
|
||||
@endif
|
||||
@else
|
||||
N/A
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mb-4">
|
||||
{{ $wallets->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Wallet Recharge Modal -->
|
||||
@include('frontend.partials.wallet_modal')
|
||||
|
||||
<!-- Offline Wallet Recharge Modal -->
|
||||
<div class="modal fade" id="offline_wallet_recharge_modal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Offline Recharge Wallet') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div id="offline_wallet_recharge_modal_body"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function show_wallet_modal() {
|
||||
$('#wallet_modal').modal('show');
|
||||
}
|
||||
|
||||
function show_make_wallet_recharge_modal() {
|
||||
$.post('{{ route('offline_wallet_recharge_modal') }}', {
|
||||
_token: '{{ csrf_token() }}'
|
||||
}, function(data) {
|
||||
$('#offline_wallet_recharge_modal_body').html(data);
|
||||
$('#offline_wallet_recharge_modal').modal('show');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,94 @@
|
||||
<form class="" action="{{ route('wallet_recharge.make_payment') }}" method="post" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="modal-body gry-bg px-3 pt-3 mx-auto c-scrollbar-light">
|
||||
<div class="align-items-center gutters-5 row">
|
||||
<!-- Manual Payment Methods -->
|
||||
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
|
||||
<div class="col-6 col-md-4">
|
||||
<label class="aiz-megabox d-block mb-3">
|
||||
<input value="{{ $method->heading }}" type="radio" name="payment_option" onchange="toggleManualPaymentData({{ $method->id }})" data-id="{{ $method->id }}" checked>
|
||||
<span class="d-block p-3 aiz-megabox-elem">
|
||||
<img src="{{ uploaded_asset($method->photo) }}" class="img-fluid mb-2">
|
||||
<span class="d-block text-center">
|
||||
<span class="d-block fw-600 fs-15">{{ $method->heading }}</span>
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<div id="manual_payment_data">
|
||||
<!-- Payment description -->
|
||||
<div class="card rounded-0 shadow-none border mb-3 p-3 d-none">
|
||||
<div id="manual_payment_description">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card rounded-0 shadow-none border mb-3 p-3">
|
||||
<!-- Amount -->
|
||||
<div class="row mt-3">
|
||||
<div class="col-md-3">
|
||||
<label>{{ translate('Amount')}} <span class="text-danger">*</span></label>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<input type="number" lang="en" class="form-control mb-3 rounded-0" min="0" step="0.01" name="amount" placeholder="{{ translate('Amount') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Transaction ID -->
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<label>{{ translate('Transaction ID')}} <span class="text-danger">*</span></label>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<input type="text" class="form-control mb-3 rounded-0" name="trx_id" placeholder="{{ translate('Transaction ID') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Payment screenshot -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 col-form-label">{{ translate('Photo') }}</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose image') }}</div>
|
||||
<input type="hidden" name="photo" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Confirm Button -->
|
||||
<div class="form-group text-right">
|
||||
<button type="submit" class="btn btn-sm btn-primary rounded-0 w-150px transition-3d-hover">{{translate('Confirm')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
|
||||
<div id="manual_payment_info_{{ $method->id }}" class="d-none">
|
||||
<div>@php echo $method->description @endphp</div>
|
||||
@if ($method->bank_info != null)
|
||||
<ul>
|
||||
@foreach (json_decode($method->bank_info) as $key => $info)
|
||||
<li>{{ translate('Bank Name') }} - {{ $info->bank_name }}, {{ translate('Account Name') }} - {{ $info->account_name }}, {{ translate('Account Number') }} - {{ $info->account_number}}, {{ translate('Routing Number') }} - {{ $info->routing_number }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
toggleManualPaymentData($('input[name=payment_option]:checked').data('id'));
|
||||
});
|
||||
|
||||
function toggleManualPaymentData(id){
|
||||
$('#manual_payment_description').parent().removeClass('d-none');
|
||||
$('#manual_payment_description').html($('#manual_payment_info_'+id).html());
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user