first upload all files
This commit is contained in:
206
Themes/Storefront/views/public/account/addresses/index.blade.php
Normal file
206
Themes/Storefront/views/public/account/addresses/index.blade.php
Normal file
@@ -0,0 +1,206 @@
|
||||
@extends('public.account.layout')
|
||||
|
||||
@section('title', trans('storefront::account.pages.my_addresses'))
|
||||
|
||||
@push('globals')
|
||||
<script>
|
||||
FleetCart.langs['storefront::account.addresses.confirm'] = '{{ trans('storefront::account.addresses.confirm') }}';
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@section('panel')
|
||||
<my-addresses :initial-addresses="{{ $addresses }}" :initial-default-address="{{ $defaultAddress }}"
|
||||
:countries="{{ json_encode($countries) }}" inline-template>
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.pages.my_addresses') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="panel-body" v-cloak>
|
||||
<div class="my-addresses">
|
||||
<div class="address-card-wrap" v-if="hasAddress && ! formOpen">
|
||||
<div class="row">
|
||||
<div class="col-xl-6 col-lg-9 d-flex" v-for="address in addresses" :key="address.id">
|
||||
<address class="address-card" :class="{ active: defaultAddress.address_id === address.id }"
|
||||
@click="changeDefaultAddress(address)">
|
||||
<div class="address-card-data">
|
||||
<span v-text="address.full_name"></span>
|
||||
<span v-text="address.address_1"></span>
|
||||
<span v-if="address.address_2" v-text="address.address_2"></span>
|
||||
<span>@{{ address.city }}, @{{ address.state_name }}
|
||||
@{{ address.zip }}</span>
|
||||
<span v-text="address.country_name"></span>
|
||||
</div>
|
||||
|
||||
<div class="address-card-actions">
|
||||
<button type="button" class="btn btn-edit-address" @click.stop="edit(address)">
|
||||
{{ trans('storefront::account.addresses.edit') }}
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-delete-address" @click.stop="remove(address)">
|
||||
{{ trans('storefront::account.addresses.delete') }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</address>
|
||||
</div>
|
||||
|
||||
<div class="col-md-18">
|
||||
<button type="button" class="btn btn-lg btn-default btn-add-new-address"
|
||||
@click="formOpen = true">
|
||||
{{ trans('storefront::account.addresses.add_new_address') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form @submit.prevent="save" @input="errors.clear($event.target.name)" v-else>
|
||||
<div class="add-new-address-form">
|
||||
<h4 class="section-title">
|
||||
{{ trans('storefront::account.addresses.new_address') }}
|
||||
</h4>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="first-name">
|
||||
{{ trans('storefront::account.addresses.first_name') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input v-model="form.first_name" name="first_name" type="text" id="first-name"
|
||||
class="form-control">
|
||||
|
||||
<span class="error-message" v-if="errors.has('first_name')"
|
||||
v-text="errors.get('first_name')">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="last-name">
|
||||
{{ trans('storefront::account.addresses.last_name') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input v-model="form.last_name" name="last_name" type="text" id="last-name"
|
||||
class="form-control">
|
||||
|
||||
<span class="error-message" v-if="errors.has('last_name')"
|
||||
v-text="errors.get('last_name')">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-18">
|
||||
<div class="form-group">
|
||||
<label for="address-1">
|
||||
{{ trans('storefront::account.addresses.street_address') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input v-model="form.address_1" name="address_1" type="text" id="address-1"
|
||||
placeholder="{{ trans('storefront::account.addresses.address_line_1') }}"
|
||||
class="form-control">
|
||||
|
||||
<span class="error-message" v-if="errors.has('address_1')"
|
||||
v-text="errors.get('address_1')">
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<input v-model="form.address_2" name="address_2" type="text" id="address-2"
|
||||
placeholder="{{ trans('storefront::account.addresses.address_line_2') }}"
|
||||
class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="city">
|
||||
{{ trans('storefront::account.addresses.city') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input v-model="form.city" name="city" type="text" id="city"
|
||||
class="form-control">
|
||||
|
||||
<span class="error-message" v-if="errors.has('city')" v-text="errors.get('city')">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="zip">
|
||||
{{ trans('storefront::account.addresses.zip') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input v-model="form.zip" name="zip" type="text" id="zip"
|
||||
class="form-control">
|
||||
|
||||
<span class="error-message" v-if="errors.has('zip')" v-text="errors.get('zip')">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="country">
|
||||
{{ trans('storefront::account.addresses.country') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<select :value="form.country" name="country" id="country"
|
||||
class="form-control arrow-black" @change="changeCountry($event.target.value)">
|
||||
<option v-for="(name, code) in countries" :value="code"
|
||||
v-text="name">
|
||||
</option>
|
||||
</select>
|
||||
|
||||
<span class="error-message" v-if="errors.has('country')"
|
||||
v-text="errors.get('country')">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="state">
|
||||
{{ trans('storefront::account.addresses.state') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input v-model="form.state" name="state" type="text" id="state"
|
||||
class="form-control" v-if="hasNoStates">
|
||||
|
||||
<select v-model="form.state" name="state" id="state"
|
||||
class="form-control arrow-black" v-else>
|
||||
<option value="">
|
||||
{{ trans('storefront::account.addresses.please_select') }}
|
||||
</option>
|
||||
|
||||
<option v-for="(name, code) in states" :value="code" v-html="name">
|
||||
</option>
|
||||
</select>
|
||||
|
||||
<span class="error-message" v-if="errors.has('state')"
|
||||
v-text="errors.get('state')">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-18">
|
||||
<button type="button" class="btn btn-lg btn-default btn-cancel" v-if="hasAddress"
|
||||
@click="cancel">
|
||||
{{ trans('storefront::account.addresses.cancel') }}
|
||||
</button>
|
||||
|
||||
<button type="submit" class="btn btn-lg btn-primary btn-save-address"
|
||||
:class="{ 'btn-loading': loading }">
|
||||
{{ trans('storefront::account.addresses.save_address') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</my-addresses>
|
||||
@endsection
|
||||
@@ -0,0 +1,45 @@
|
||||
@extends('public.account.layout')
|
||||
|
||||
@section('title', trans('storefront::account.pages.dashboard'))
|
||||
|
||||
@section('panel')
|
||||
@if ($recentOrders->isNotEmpty())
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.dashboard.recent_orders') }}</h4>
|
||||
|
||||
<a href="{{ route('account.orders.index') }}">
|
||||
{{ trans('storefront::account.dashboard.view_all') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@include('public.account.partials.orders_table', ['orders' => $recentOrders])
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.dashboard.account_information') }}</h4>
|
||||
|
||||
<a href="{{ route('account.profile.edit') }}">
|
||||
{{ trans('storefront::account.dashboard.edit') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<ul class="list-inline user-info">
|
||||
<li>
|
||||
<i class="las la-user-circle"></i>
|
||||
<span>{{ $account->full_name }}</span>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<i class="las la-envelope"></i>
|
||||
<span>{{ $account->email }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,25 @@
|
||||
@extends('public.account.layout')
|
||||
|
||||
@section('title', trans('storefront::account.pages.my_downloads'))
|
||||
|
||||
@section('account_breadcrumb')
|
||||
<li class="active">{{ trans('storefront::account.pages.my_downloads') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('panel')
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.pages.my_downloads') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@if ($downloads->isEmpty())
|
||||
<div class="empty-message">
|
||||
<h3>{{ trans('storefront::account.downloads.no_downloadable_files') }}</h3>
|
||||
</div>
|
||||
@else
|
||||
@include('public.account.downloads.partials.downloads_table')
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,27 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless my-downloads-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('storefront::account.downloads.filename') }}</th>
|
||||
<th>{{ trans('storefront::account.action') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($downloads as $download)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $download->filename }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a href="{{ route('account.downloads.show', encrypt($download->id)) }}" class="btn btn-download">
|
||||
<i class="las la-cloud-download-alt"></i>
|
||||
{{ trans('storefront::account.downloads.download') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
85
Themes/Storefront/views/public/account/layout.blade.php
Normal file
85
Themes/Storefront/views/public/account/layout.blade.php
Normal file
@@ -0,0 +1,85 @@
|
||||
@extends('public.layout')
|
||||
|
||||
@section('breadcrumb')
|
||||
@if (request()->routeIs('account.dashboard.index'))
|
||||
<li class="active">{{ trans('storefront::account.pages.my_account') }}</li>
|
||||
@else
|
||||
<li><a href="{{ route('account.dashboard.index') }}">{{ trans('storefront::account.pages.my_account') }}</a></li>
|
||||
@endif
|
||||
|
||||
@yield('account_breadcrumb')
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<section class="account-wrap">
|
||||
<div class="container">
|
||||
<div class="account-wrap-inner">
|
||||
<div class="account-left">
|
||||
<ul class="list-inline account-sidebar">
|
||||
<li class="{{ request()->routeIs('account.dashboard.index') ? 'active' : '' }}">
|
||||
<a href="{{ route('account.dashboard.index') }}">
|
||||
<i class="las la-tachometer-alt"></i>
|
||||
{{ trans('storefront::account.pages.dashboard') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->routeIs('account.orders.index') ? 'active' : '' }}">
|
||||
<a href="{{ route('account.orders.index') }}">
|
||||
<i class="las la-cart-arrow-down"></i>
|
||||
{{ trans('storefront::account.pages.my_orders') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->routeIs('account.downloads.index') ? 'active' : '' }}">
|
||||
<a href="{{ route('account.downloads.index') }}">
|
||||
<i class="las la-download"></i>
|
||||
{{ trans('storefront::account.pages.my_downloads') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->routeIs('account.wishlist.index') ? 'active' : '' }}">
|
||||
<a href="{{ route('account.wishlist.index') }}">
|
||||
<i class="lar la-heart"></i>
|
||||
{{ trans('storefront::account.pages.my_wishlist') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->routeIs('account.reviews.index') ? 'active' : '' }}">
|
||||
<a href="{{ route('account.reviews.index') }}">
|
||||
<i class="las la-comment"></i>
|
||||
{{ trans('storefront::account.pages.my_reviews') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->routeIs('account.addresses.index') ? 'active' : '' }}">
|
||||
<a href="{{ route('account.addresses.index') }}">
|
||||
<i class="las la-address-book"></i>
|
||||
{{ trans('storefront::account.pages.my_addresses') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ request()->routeIs('account.profile.edit') ? 'active' : '' }}">
|
||||
<a href="{{ route('account.profile.edit') }}">
|
||||
<i class="las la-user-circle"></i>
|
||||
{{ trans('storefront::account.pages.my_profile') }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="{{ route('logout') }}">
|
||||
<i class="las la-sign-out-alt"></i>
|
||||
{{ trans('storefront::account.pages.logout') }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="account-right">
|
||||
<div class="panel-wrap">
|
||||
@yield('panel')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
@@ -0,0 +1,29 @@
|
||||
@extends('public.account.layout')
|
||||
|
||||
@section('title', trans('storefront::account.pages.my_orders'))
|
||||
|
||||
@section('account_breadcrumb')
|
||||
<li class="active">{{ trans('storefront::account.pages.my_orders') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('panel')
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.pages.my_orders') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@if ($orders->isEmpty())
|
||||
<div class="empty-message">
|
||||
<h3>{{ trans('storefront::account.orders.no_orders') }}</h3>
|
||||
</div>
|
||||
@else
|
||||
@include('public.account.partials.orders_table')
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="panel-footer">
|
||||
{!! $orders->links() !!}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
28
Themes/Storefront/views/public/account/orders/show.blade.php
Normal file
28
Themes/Storefront/views/public/account/orders/show.blade.php
Normal file
@@ -0,0 +1,28 @@
|
||||
@extends('public.layout')
|
||||
|
||||
@section('title', trans('storefront::account.view_order.view_order'))
|
||||
|
||||
@section('breadcrumb')
|
||||
<li><a href="{{ route('account.dashboard.index') }}">{{ trans('storefront::account.pages.my_account') }}</a></li>
|
||||
<li><a href="{{ route('account.orders.index') }}">{{ trans('storefront::account.pages.my_orders') }}</a></li>
|
||||
<li class="active">{{ trans('storefront::account.orders.view_order') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<section class="order-details-wrap">
|
||||
<div class="container">
|
||||
<div class="order-details-top">
|
||||
<h3 class="section-title">{{ trans('storefront::account.view_order.view_order') }}</h3>
|
||||
|
||||
<div class="row">
|
||||
@include('public.account.orders.show.order_information')
|
||||
@include('public.account.orders.show.billing_address')
|
||||
@include('public.account.orders.show.shipping_address')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('public.account.orders.show.items_ordered')
|
||||
@include('public.account.orders.show.order_totals')
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
@@ -0,0 +1,17 @@
|
||||
<div class="col-lg-6 col-sm-9">
|
||||
<div class="order-billing-details">
|
||||
<h4>{{ trans('storefront::account.view_order.billing_address') }}</h4>
|
||||
|
||||
<address>
|
||||
<span>{{ $order->billing_full_name }}</span>
|
||||
<span>{{ $order->billing_address_1 }}</span>
|
||||
|
||||
@if ($order->billing_address_2)
|
||||
<span>{{ $order->billing_address_2 }}</span>
|
||||
@endif
|
||||
|
||||
<span>{{ $order->billing_city }}, {{ $order->billing_state_name }} {{ $order->billing_zip }}</span>
|
||||
<span>{{ $order->billing_country_name }}</span>
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,64 @@
|
||||
<div class="order-details-middle">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless order-details-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('storefront::account.product_name') }}</th>
|
||||
<th>{{ trans('storefront::account.view_order.unit_price') }}</th>
|
||||
<th>{{ trans('storefront::account.view_order.quantity') }}</th>
|
||||
<th>{{ trans('storefront::account.view_order.line_total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($order->products as $product)
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ $product->url() }}" class="product-name">
|
||||
{{ $product->name }}
|
||||
</a>
|
||||
|
||||
@if ($product->hasAnyOption())
|
||||
<ul class="list-inline product-options">
|
||||
@foreach ($product->options as $option)
|
||||
<li>
|
||||
@if ($option->isFieldType())
|
||||
<label>{{ $option->name }}:</label> {{ $option->value }}
|
||||
@else
|
||||
<label>{{ $option->name }}:</label> {{ $option->values->implode('label', ', ') }}
|
||||
@endif
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<label>{{ trans('storefront::account.view_order.unit_price') }}</label>
|
||||
|
||||
<span class="product-price">
|
||||
{{ $product->unit_price->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<label>{{ trans('storefront::account.view_order.quantity') }}</label>
|
||||
|
||||
<span class="quantity">
|
||||
{{ $product->qty }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<label>{{ trans('storefront::account.view_order.line_total') }}</label>
|
||||
|
||||
<span class="product-price">
|
||||
{{ $product->line_total->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,51 @@
|
||||
<div class="col-lg-6 col-sm-18">
|
||||
<div class="order-information">
|
||||
<h4>{{ trans('storefront::account.view_order.order_information') }}</h4>
|
||||
|
||||
<ul class="list-inline order-information-list">
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.id') }}</label>
|
||||
<span>{{ $order->id }}</span>
|
||||
</li>
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.phone') }}</label>
|
||||
<span>{{ $order->customer_phone }}</span>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.email') }}</label>
|
||||
<span>{{ $order->customer_email }}</span>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.date') }}</label>
|
||||
<span>{{ $order->created_at->toFormattedDateString() }}</span>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.shipping_method') }}</label>
|
||||
<span>{{ $order->shipping_method }}</span>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.payment_method') }}</label>
|
||||
<span>
|
||||
{{ $order->payment_method }}
|
||||
|
||||
@if ($order->payment_method === 'Bank Transfer')
|
||||
</br>
|
||||
{{ setting('bank_transfer_instructions') }}
|
||||
@endif
|
||||
|
||||
</span>
|
||||
</li>
|
||||
|
||||
@if ($order->note)
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.order_note') }}</label>
|
||||
<span>{{ $order->note }}</span>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,52 @@
|
||||
<div class="order-details-bottom">
|
||||
<ul class="list-inline order-summary-list">
|
||||
<li>
|
||||
<label>{{ trans('storefront::account.view_order.subtotal') }}</label>
|
||||
|
||||
<span class="price-amount">
|
||||
{{ $order->sub_total->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
@if ($order->hasShippingMethod())
|
||||
<li>
|
||||
<label>{{ $order->shipping_method }}</label>
|
||||
|
||||
<span class="price-amount">
|
||||
{{ $order->shipping_cost->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</span>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@foreach ($order->taxes as $tax)
|
||||
<li>
|
||||
<label>{{ $tax->name }}</label>
|
||||
|
||||
<span class="price-amount">
|
||||
{{ $tax->order_tax->amount->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</span>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
@if ($order->hasCoupon())
|
||||
<li>
|
||||
<label>
|
||||
{{ trans('storefront::account.view_order.coupon') }}
|
||||
<span class="coupon-code">[{{ $order->coupon->code }}]</span>
|
||||
</label>
|
||||
|
||||
<span class="price-amount">
|
||||
-{{ $order->discount->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</span>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
|
||||
<div class="order-summary-total">
|
||||
<label>{{ trans('storefront::account.view_order.total') }}</label>
|
||||
|
||||
<span class="total-price">
|
||||
{{ $order->total->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,17 @@
|
||||
<div class="col-lg-6 col-sm-9">
|
||||
<div class="order-shipping-details">
|
||||
<h4>{{ trans('storefront::account.view_order.shipping_address') }}</h4>
|
||||
|
||||
<address>
|
||||
<span>{{ $order->shipping_full_name }}</span>
|
||||
<span>{{ $order->shipping_address_1 }}</span>
|
||||
|
||||
@if ($order->shipping_address_2)
|
||||
<span>{{ $order->shipping_address_2 }}</span>
|
||||
@endif
|
||||
|
||||
<span>{{ $order->shipping_city }}, {{ $order->shipping_state_name }} {{ $order->shipping_zip }}</span>
|
||||
<span>{{ $order->shipping_country_name }}</span>
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,44 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless my-orders-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('storefront::account.orders.order_id') }}</th>
|
||||
<th>{{ trans('storefront::account.date') }}</th>
|
||||
<th>{{ trans('storefront::account.status') }}</th>
|
||||
<th>{{ trans('storefront::account.orders.total') }}</th>
|
||||
<th>{{ trans('storefront::account.action') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($orders as $order)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $order->id }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{{ $order->created_at->toFormattedDateString() }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge {{ order_status_badge_class($order->status) }}">
|
||||
{{ $order->status() }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{{ $order->total->convert($order->currency, $order->currency_rate)->format($order->currency) }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a href="{{ route('account.orders.show', $order) }}" class="btn btn-view">
|
||||
<i class="las la-eye"></i>
|
||||
{{ trans('storefront::account.orders.view') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
114
Themes/Storefront/views/public/account/profile/edit.blade.php
Normal file
114
Themes/Storefront/views/public/account/profile/edit.blade.php
Normal file
@@ -0,0 +1,114 @@
|
||||
@extends('public.account.layout')
|
||||
|
||||
@section('title', trans('storefront::account.pages.my_profile'))
|
||||
|
||||
@section('account_breadcrumb')
|
||||
<li class="active">{{ trans('storefront::account.pages.my_profile') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('panel')
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.pages.my_profile') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="my-profile">
|
||||
<form method="POST" action="{{ route('account.profile.update') }}">
|
||||
@csrf
|
||||
@method('put')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="email">
|
||||
{{ trans('storefront::account.profile.email') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input type="text" name="email" value="{{ old('email', $account->email) }}" id="email" class="form-control">
|
||||
|
||||
@error('email')
|
||||
<span class="error-message">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="phone">
|
||||
{{ trans('storefront::account.profile.phone') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input type="text" name="phone" value="{{ old('phone', $account->phone) }}" id="phone" class="form-control">
|
||||
|
||||
@error('phone')
|
||||
<span class="error-message">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="first-name">
|
||||
{{ trans('storefront::account.profile.first_name') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input type="text" name="first_name" value="{{ old('first_name', $account->first_name) }}" id="first-name" class="form-control">
|
||||
|
||||
@error('first_name')
|
||||
<span class="error-message">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="last-name">
|
||||
{{ trans('storefront::account.profile.last_name') }}<span>*</span>
|
||||
</label>
|
||||
|
||||
<input type="text" name="last_name" value="{{ old('last_name', $account->last_name) }}" id="last-name" class="form-control">
|
||||
|
||||
@error('last_name')
|
||||
<span class="error-message">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="password">
|
||||
{{ trans('storefront::account.profile.password') }}
|
||||
</label>
|
||||
|
||||
<input type="password" name="password" id="password" class="form-control">
|
||||
|
||||
@error('password')
|
||||
<span class="error-message">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="form-group">
|
||||
<label for="confirm-password">
|
||||
{{ trans('storefront::account.profile.confirm_password') }}
|
||||
</label>
|
||||
|
||||
<input type="password" name="password_confirmation" id="confirm-password" class="form-control">
|
||||
|
||||
@error('password_confirmation')
|
||||
<span class="error-message">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-lg btn-primary btn-save-changes" data-loading>
|
||||
{{ trans('storefront::account.profile.save_changes') }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,77 @@
|
||||
@extends('public.account.layout')
|
||||
|
||||
@section('title', trans('storefront::account.pages.my_reviews'))
|
||||
|
||||
@section('account_breadcrumb')
|
||||
<li class="active">{{ trans('storefront::account.pages.my_reviews') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('panel')
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.pages.my_reviews') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
@if ($reviews->isEmpty())
|
||||
<div class="empty-message">
|
||||
<h3>{{ trans('storefront::account.reviews.no_reviews') }}</h3>
|
||||
</div>
|
||||
@else
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless my-reviews-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('storefront::account.image') }}</th>
|
||||
<th>{{ trans('storefront::account.product_name') }}</th>
|
||||
<th>{{ trans('storefront::account.status') }}</th>
|
||||
<th>{{ trans('storefront::account.date') }}</th>
|
||||
<th>{{ trans('storefront::account.reviews.rating') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($reviews as $review)
|
||||
<tr>
|
||||
<td>
|
||||
<div class="product-image">
|
||||
@if ($review->product->base_image->exists)
|
||||
<img src="{{ $review->product->base_image->path }}" alt="{{ $review->product->name }}">
|
||||
@else
|
||||
<img src="{{ asset('themes/storefront/public/images/image-placeholder.png') }}" class="image-placeholder">
|
||||
@endif
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a href="{{ route('products.show', ['slug' => $review->product->slug]) }}" class="product-name">
|
||||
{{ $review->product->name }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge {{ $review->is_approved ? 'badge-success' : 'badge-secondary' }}">
|
||||
{{ $review->status() }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{{ $review->created_at->toFormattedDateString() }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
@include('public.account.reviews.partials.product_rating')
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="panel-footer">
|
||||
{!! $reviews->links() !!}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,17 @@
|
||||
<div class="product-rating">
|
||||
<div class="back-stars">
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
|
||||
<div class="front-stars" style="width: {{ $review->rating_percent }}%">
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
<i class="las la-star"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,86 @@
|
||||
@extends('public.account.layout')
|
||||
|
||||
@section('title', trans('storefront::account.pages.my_wishlist'))
|
||||
|
||||
@section('account_breadcrumb')
|
||||
<li class="active">{{ trans('storefront::account.pages.my_wishlist') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('panel')
|
||||
<my-wishlist inline-template>
|
||||
<div class="panel">
|
||||
<div class="panel-header">
|
||||
<h4>{{ trans('storefront::account.pages.my_wishlist') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="panel-body" :class="{ loading: fetchingWishlist }" v-cloak>
|
||||
<div class="empty-message" v-if="wishlistIsEmpty">
|
||||
<h3 v-if="! fetchingWishlist">
|
||||
{{ trans('storefront::account.wishlist.empty_wishlist') }}
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive" v-else>
|
||||
<table class="table table-borderless my-wishlist-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ trans('storefront::account.image') }}</th>
|
||||
<th>{{ trans('storefront::account.product_name') }}</th>
|
||||
<th>{{ trans('storefront::account.wishlist.price') }}</th>
|
||||
<th>{{ trans('storefront::account.wishlist.availability') }}</th>
|
||||
<th>{{ trans('storefront::account.action') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="product in products.data" :key="product.id">
|
||||
<td>
|
||||
<div class="product-image">
|
||||
<img :src="baseImage(product)" :class="{ 'image-placeholder': ! hasBaseImage(product) }" alt="product-image">
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a :href="productUrl(product)" class="product-name">
|
||||
@{{ product.name }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="product-price" v-html="product.formatted_price"></span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-success" v-if="product.is_in_stock">
|
||||
{{ trans('storefront::account.wishlist.in_stock') }}
|
||||
</span>
|
||||
|
||||
<span class="badge badge-danger" v-else>
|
||||
{{ trans('storefront::account.wishlist.out_of_stock') }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<button class="btn btn-delete" @click="remove(product)">
|
||||
<i class="las la-trash"></i>
|
||||
{{ trans('storefront::account.wishlist.delete') }}
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-footer">
|
||||
<v-pagination
|
||||
:total-page="totalPage"
|
||||
:current-page="currentPage"
|
||||
@page-changed="fetchProducts"
|
||||
v-if="products.total > 20"
|
||||
>
|
||||
</v-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</my-wishlist>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user