Merge branch 'master' of https://github.com/bagisto/bagisto into prashant
This commit is contained in:
commit
802c737a61
|
|
@ -65,35 +65,35 @@ class CustomerDataGrid
|
|||
'name' => 'id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer ID',
|
||||
'label' => 'ID',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'first_name',
|
||||
'alias' => 'FirstName',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer First Name',
|
||||
'label' => 'First Name',
|
||||
'sortable' => false,
|
||||
],
|
||||
[
|
||||
'name' => 'email',
|
||||
'alias' => 'Email',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer E-Mail',
|
||||
'label' => 'E-Mail',
|
||||
'sortable' => false,
|
||||
],
|
||||
[
|
||||
'name' => 'phone',
|
||||
'alias' => 'Phone',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer Phone',
|
||||
'label' => 'Phone',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'customer_group_id',
|
||||
'alias' => 'CustomerGroupId',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer Group',
|
||||
'label' => 'Group ID',
|
||||
'sortable' => false,
|
||||
],
|
||||
],
|
||||
|
|
@ -106,13 +106,13 @@ class CustomerDataGrid
|
|||
'column' => 'id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer ID',
|
||||
'label' => 'ID',
|
||||
],
|
||||
[
|
||||
'column' => 'first_name',
|
||||
'alias' => 'FirstName',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer First Name',
|
||||
'label' => 'First Name',
|
||||
]
|
||||
],
|
||||
|
||||
|
|
@ -122,12 +122,12 @@ class CustomerDataGrid
|
|||
[
|
||||
'column' => 'FirstName',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer First Name',
|
||||
'label' => 'First Name',
|
||||
],
|
||||
[
|
||||
'column' => 'email',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer E-Mail',
|
||||
'label' => 'E-Mail',
|
||||
],
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,163 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Admin\DataGrids;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Webkul\Ui\DataGrid\Facades\DataGrid;
|
||||
|
||||
/**
|
||||
* Customer Group DataGrid
|
||||
*
|
||||
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
|
||||
class CustomerGroupDataGrid
|
||||
{
|
||||
/**
|
||||
* The Customer Group Data
|
||||
* Grid implementation.
|
||||
*
|
||||
* @var CustomerGroupDataGrid
|
||||
*/
|
||||
public function createCustomerGroupDataGrid()
|
||||
{
|
||||
|
||||
return DataGrid::make([
|
||||
|
||||
'name' => 'Customer Group',
|
||||
'table' => 'customer_groups as cg',
|
||||
'select' => 'cg.id',
|
||||
'perpage' => 10,
|
||||
'aliased' => true, //use this with false as default and true in case of joins
|
||||
|
||||
'massoperations' =>[
|
||||
[
|
||||
'route' => route('admin.datagrid.delete'),
|
||||
'method' => 'DELETE',
|
||||
'label' => 'Delete',
|
||||
'type' => 'button',
|
||||
],
|
||||
[
|
||||
'route' => route('admin.datagrid.index'),
|
||||
'method' => 'POST',
|
||||
'label' => 'View Grid',
|
||||
'type' => 'select',
|
||||
'options' =>[
|
||||
1 => 'Edit',
|
||||
2 => 'Set',
|
||||
3 => 'Change Status'
|
||||
]
|
||||
],
|
||||
],
|
||||
'actions' => [
|
||||
[
|
||||
'type' => 'Edit',
|
||||
'route' => route('admin.datagrid.delete'),
|
||||
'confirm_text' => 'Do you really wanis?',
|
||||
'icon' => 'icon pencil-lg-icon',
|
||||
],
|
||||
[
|
||||
'type' => 'Delete',
|
||||
'route' => route('admin.datagrid.delete'),
|
||||
'confirm_text' => 'Do you really want to do this?',
|
||||
'icon' => 'icon trash-icon',
|
||||
],
|
||||
],
|
||||
'join' => [
|
||||
// [
|
||||
// 'join' => 'leftjoin',
|
||||
// 'table' => 'roles as r',
|
||||
// 'primaryKey' => 'u.role_id',
|
||||
// 'condition' => '=',
|
||||
// 'secondaryKey' => 'r.id',
|
||||
// ]
|
||||
],
|
||||
|
||||
//use aliasing on secodary columns if join is performed
|
||||
'columns' => [
|
||||
[
|
||||
'name' => 'cg.id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'ID',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'cg.group_name',
|
||||
'alias' => 'Name',
|
||||
'type' => 'string',
|
||||
'label' => 'Name',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'cg.is_user_defined',
|
||||
'alias' => 'User Defined',
|
||||
'type' => 'boolean',
|
||||
'label' => 'User Defined',
|
||||
'sortable' => true,
|
||||
'wrapper' => function ($value) {
|
||||
if($value == 1)
|
||||
return "False";
|
||||
else
|
||||
return "True";
|
||||
},
|
||||
],
|
||||
],
|
||||
//don't use aliasing in case of filters
|
||||
'filterable' => [
|
||||
[
|
||||
'column' => 'cg.group_name',
|
||||
'alias' => 'Name',
|
||||
'type' => 'string',
|
||||
'label' => 'Name'
|
||||
],
|
||||
[
|
||||
'column' => 'cg.id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'ID'
|
||||
],
|
||||
[
|
||||
'column' => 'cg.is_user_defined',
|
||||
'alias' => 'User Defined',
|
||||
'type' => 'boolean',
|
||||
'label' => 'User Defined'
|
||||
]
|
||||
],
|
||||
//don't use aliasing in case of searchables
|
||||
'searchable' => [
|
||||
[
|
||||
'column' => 'cg.code',
|
||||
'type' => 'string',
|
||||
'label' => 'Code'
|
||||
],
|
||||
[
|
||||
'column' => 'cg.name',
|
||||
'type' => 'string',
|
||||
'label' => 'Name'
|
||||
]
|
||||
],
|
||||
'operators' => [
|
||||
'eq' => "=",
|
||||
'lt' => "<",
|
||||
'gt' => ">",
|
||||
'lte' => "<=",
|
||||
'gte' => ">=",
|
||||
'neqs' => "<>",
|
||||
'neqn' => "!=",
|
||||
'like' => "like",
|
||||
'nlike' => "not like",
|
||||
],
|
||||
// 'css' => []
|
||||
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
public function render() {
|
||||
|
||||
return $this->createCustomerGroupDataGrid()->render();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -4,13 +4,13 @@ namespace Webkul\Admin\Http\Controllers\Customer;
|
|||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Webkul\Admin\Http\Controllers\Controller;
|
||||
use Webkul\Customer\Repositories\CustomerRepository as Customer;
|
||||
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup;
|
||||
use Webkul\Core\Repositories\ChannelRepository as Channel;
|
||||
|
||||
/**
|
||||
* Customer controlller for the customer
|
||||
* to show customer data on admin login
|
||||
* Customer controlller
|
||||
*
|
||||
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
|
|
@ -38,20 +38,30 @@ class CustomerController extends Controller
|
|||
*/
|
||||
protected $customerGroup;
|
||||
|
||||
/**
|
||||
* ChannelRepository object
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $channel;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @param Webkul\Customer\Repositories\CustomerRepository as customer;
|
||||
* @param Webkul\Customer\Repositories\CustomerGroupRepository as customerGroup;
|
||||
* @param Webkul\Core\Repositories\ChannelRepository as Channel;
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Customer $customer , CustomerGroup $customerGroup )
|
||||
public function __construct(Customer $customer, CustomerGroup $customerGroup, Channel $channel )
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->customer = $customer;
|
||||
|
||||
$this->customerGroup = $customerGroup;
|
||||
|
||||
$this->channel = $channel;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -73,7 +83,9 @@ class CustomerController extends Controller
|
|||
{
|
||||
$customerGroup = $this->customerGroup->all();
|
||||
|
||||
return view($this->_config['view'], compact('customerGroup'));
|
||||
$channelName = $this->channel->all();
|
||||
|
||||
return view($this->_config['view'],compact('customerGroup','channelName'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -81,17 +93,18 @@ class CustomerController extends Controller
|
|||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
public function store()
|
||||
{
|
||||
$request->validate([
|
||||
$this->validate(request(), [
|
||||
'channel_id' => 'required',
|
||||
'first_name' => 'string|required',
|
||||
'last_name' => 'string|required',
|
||||
'gender' => 'required',
|
||||
'phone' => 'nullable|numeric',
|
||||
'phone' => 'nullable|numeric|unique:customers,phone',
|
||||
'email' => 'required|unique:customers,email'
|
||||
]);
|
||||
|
||||
$data=$request->all();
|
||||
$data=request()->all();
|
||||
|
||||
$password = bcrypt(rand(100000,10000000));
|
||||
|
||||
|
|
@ -116,7 +129,9 @@ class CustomerController extends Controller
|
|||
|
||||
$customerGroup = $this->customerGroup->all();
|
||||
|
||||
return view($this->_config['view'],compact('customer','customerGroup'));
|
||||
$channelName = $this->channel->all();
|
||||
|
||||
return view($this->_config['view'],compact('customer', 'customerGroup', 'channelName'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -128,11 +143,12 @@ class CustomerController extends Controller
|
|||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$request->validate([
|
||||
$this->validate(request(), [
|
||||
'channel_id' => 'required',
|
||||
'first_name' => 'string|required',
|
||||
'last_name' => 'string|required',
|
||||
'gender' => 'required',
|
||||
'phone' => 'nullable|numeric',
|
||||
'phone' => 'nullable|numeric|unique:customers,phone,'. $id,
|
||||
'email' => 'required|unique:customers,email,'. $id
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,136 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Admin\Http\Controllers\Customer;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Webkul\Admin\Http\Controllers\Controller;
|
||||
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup;
|
||||
|
||||
/**
|
||||
* CustomerGroup controlller
|
||||
*
|
||||
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
class CustomerGroupController extends Controller
|
||||
{
|
||||
/**
|
||||
* Contains route related configuration
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $_config;
|
||||
|
||||
/**
|
||||
* CustomerGroupRepository object
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $customerGroup;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @param Webkul\Customer\Repositories\CustomerGroupRepository as customerGroup;
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(CustomerGroup $customerGroup)
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->customerGroup = $customerGroup;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store()
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'group_name' => 'string|required',
|
||||
]);
|
||||
|
||||
$this->customerGroup->create(request()->all());
|
||||
|
||||
session()->flash('success', 'Customer Group created successfully.');
|
||||
|
||||
return redirect()->route($this->_config['redirect']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$group = $this->customerGroup->findOneWhere(['id'=>$id]);
|
||||
|
||||
return view($this->_config['view'],compact('group'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'group_name' => 'string|required',
|
||||
]);
|
||||
|
||||
$this->customerGroup->update(request()->all(),$id);
|
||||
|
||||
session()->flash('success', 'Customer Group updated successfully.');
|
||||
|
||||
return redirect()->route($this->_config['redirect']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$group = $this->customerGroup->findOneWhere(['id'=>$id]);
|
||||
|
||||
if($group->is_user_defined == 1) {
|
||||
session()->flash('error', 'This Customer Group can not be deleted');
|
||||
} else {
|
||||
$this->customerGroup->delete($id);
|
||||
|
||||
session()->flash('success', 'Customer Group deleted successfully.');
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
|
@ -64,13 +64,13 @@ Route::group(['middleware' => ['web']], function () {
|
|||
'redirect' => 'admin.customer.index'
|
||||
])->name('admin.customer.update');
|
||||
|
||||
Route::get('customers/delete/{id}', 'Webkul\Admin\Http\Controllers\CustomerController@destroy')->name('admin.customer.delete');
|
||||
|
||||
Route::get('customers/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerController@destroy')->name('admin.customer.delete');
|
||||
|
||||
Route::get('reviews', 'Webkul\Product\Http\Controllers\ReviewController@index')->defaults('_config',[
|
||||
'view' => 'admin::customers.review.index'
|
||||
])->name('admin.customer.review.index');
|
||||
|
||||
// Reviews Routes
|
||||
Route::get('reviews/edit/{id}', 'Webkul\Product\Http\Controllers\ReviewController@edit')->defaults('_config',[
|
||||
'view' => 'admin::customers.review.edit'
|
||||
])->name('admin.customer.review.edit');
|
||||
|
|
@ -79,6 +79,29 @@ Route::group(['middleware' => ['web']], function () {
|
|||
'redirect' => 'admin.customer.review.index'
|
||||
])->name('admin.customer.review.update');
|
||||
|
||||
// Customer Groups Routes
|
||||
|
||||
Route::get('groups', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@index')->defaults('_config',[
|
||||
'view' => 'admin::customers.group.index'
|
||||
])->name('admin.groups.index');
|
||||
|
||||
Route::get('groups/create', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@create')->defaults('_config',[
|
||||
'view' => 'admin::customers.group.create'
|
||||
])->name('admin.groups.create');
|
||||
|
||||
Route::post('groups/create', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@store')->defaults('_config',[
|
||||
'redirect' => 'admin.groups.index'
|
||||
])->name('admin.groups.store');
|
||||
|
||||
Route::get('groups/edit/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@edit')->defaults('_config',[
|
||||
'view' => 'admin::customers.group.edit'
|
||||
])->name('admin.groups.edit');
|
||||
|
||||
Route::put('groups/edit/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@update')->defaults('_config',[
|
||||
'redirect' => 'admin.groups.index'
|
||||
])->name('admin.groups.update');
|
||||
|
||||
Route::get('groups/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@destroy')->name('admin.groups.delete');
|
||||
|
||||
// Sales Routes
|
||||
Route::prefix('sales')->group(function () {
|
||||
|
|
@ -264,6 +287,8 @@ Route::group(['middleware' => ['web']], function () {
|
|||
'redirect' => 'admin.users.index'
|
||||
])->name('admin.users.update');
|
||||
|
||||
Route::get('/users/delete/{id}', 'Webkul\User\Http\Controllers\UserController@destroy')->name('admin.users.delete');
|
||||
|
||||
|
||||
// User Role Routes
|
||||
Route::get('/roles', 'Webkul\User\Http\Controllers\RoleController@index')->defaults('_config', [
|
||||
|
|
@ -462,6 +487,9 @@ Route::group(['middleware' => ['web']], function () {
|
|||
Route::put('/tax-categories/edit/{id}', 'Webkul\Tax\Http\Controllers\TaxCategoryController@update')->defaults('_config', [
|
||||
'redirect' => 'admin.tax-categories.index'
|
||||
])->name('admin.tax-categories.update');
|
||||
|
||||
Route::get('/tax-categories/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxCategoryController@destroy')->name('admin.tax-categories.delete');
|
||||
|
||||
//tax category ends
|
||||
|
||||
//tax rate
|
||||
|
|
@ -484,6 +512,8 @@ Route::group(['middleware' => ['web']], function () {
|
|||
Route::put('tax-rates/update/{id}', 'Webkul\Tax\Http\Controllers\TaxRateController@update')->defaults('_config', [
|
||||
'redirect' => 'admin.tax-rates.index'
|
||||
])->name('admin.tax-rates.update');
|
||||
|
||||
Route::get('/tax-rates/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxRateController@destroy')->name('admin.tax-rates.delete');
|
||||
//tax rate ends
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -91,6 +91,12 @@ class EventServiceProvider extends ServiceProvider
|
|||
'route' => 'admin.customer.review.index',
|
||||
'sort' => 2,
|
||||
'icon-class' => '',
|
||||
], [
|
||||
'key' => 'customers.groups',
|
||||
'name' => 'Groups',
|
||||
'route' => 'admin.groups.index',
|
||||
'sort' => 3,
|
||||
'icon-class' => '',
|
||||
], [
|
||||
'key' => 'configuration',
|
||||
'name' => 'Configure',
|
||||
|
|
|
|||
|
|
@ -285,6 +285,7 @@ return [
|
|||
'meta_title' => 'Meta Title',
|
||||
'meta_description' => 'Meta Description',
|
||||
'meta_keywords' => 'Meta Keywords',
|
||||
'image' => 'Image',
|
||||
]
|
||||
],
|
||||
|
||||
|
|
@ -425,7 +426,19 @@ return [
|
|||
],
|
||||
],
|
||||
'customers' => [
|
||||
'groups' =>[
|
||||
'add-title' => 'Add Group',
|
||||
'edit-title' => 'Edit Group',
|
||||
'save-btn-title' => 'Save Group',
|
||||
'title' => 'Groups',
|
||||
'save-btn-title' => 'Save Group',
|
||||
'name' => 'Name',
|
||||
'is_user_defined' => 'User Defined',
|
||||
'yes' => 'Yes'
|
||||
],
|
||||
'customers' => [
|
||||
'add-title' => 'Add Customer',
|
||||
'edit-title' => 'Edit Customer',
|
||||
'title' => 'Customers',
|
||||
'first_name' => 'First Name',
|
||||
'last_name' => 'Last Name',
|
||||
|
|
@ -434,7 +447,8 @@ return [
|
|||
'date_of_birth' => 'Date of Birth',
|
||||
'phone' => 'Phone',
|
||||
'customer_group' => 'Customer Group',
|
||||
'save-btn-title' => 'Save Customer'
|
||||
'save-btn-title' => 'Save Customer',
|
||||
'channel_name' => 'Channel Name'
|
||||
],
|
||||
'reviews' => [
|
||||
'title' => 'Reviews',
|
||||
|
|
@ -485,5 +499,27 @@ return [
|
|||
'final-summary' => 'If you did not request a password reset, no further action is required.',
|
||||
'thanks' => 'Thanks!'
|
||||
]
|
||||
],
|
||||
'error' => [
|
||||
'go-to-home' => 'GO TO HOME',
|
||||
|
||||
'404' => [
|
||||
'page-title' => 'Page not found',
|
||||
'name' => '404',
|
||||
'title' => 'Page Not found',
|
||||
'message' => 'The Page you are looking for doesnt exist or have secrately escaped;head back to home and make a fresh move again.'
|
||||
],
|
||||
'403' => [
|
||||
'page-title' => '403 forbidden',
|
||||
'name' => '403',
|
||||
'title' => 'Forbidden error',
|
||||
'message' => 'You do not have permission to access this page'
|
||||
],
|
||||
'500' => [
|
||||
'page-title' => '500 Internal Server Error',
|
||||
'name' => '500',
|
||||
'title' => 'Internal Server Error',
|
||||
'message' => 'You do not have permission to access this page'
|
||||
]
|
||||
]
|
||||
];
|
||||
|
|
@ -66,6 +66,12 @@
|
|||
<span class="control-error" v-if="errors.has('description')">@{{ errors.first('description') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.catalog.categories.image') }}
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="image" :multiple="false"></image-wrapper>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<div class="content">
|
||||
<?php $locale = request()->get('locale') ?: app()->getLocale(); ?>
|
||||
|
||||
<form method="POST" action="" @submit.prevent="onSubmit">
|
||||
<form method="POST" action="" @submit.prevent="onSubmit" enctype="multipart/form-data">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
|
|
@ -79,6 +79,13 @@
|
|||
<span class="control-error" v-if="errors.has('{{$locale}}[description]')">@{{ errors.first('{!!$locale!!}[description]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.catalog.categories.image') }}
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="image" :multiple="false"></image-wrapper>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@
|
|||
<input type="text" v-validate="'required'" class="control" id="sku" name="sku" value="{{ $sku ?: old('sku') }}"/>
|
||||
<span class="control-error" v-if="errors.has('sku')">@{{ errors.first('sku') }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
@foreach($configurableFamily->configurable_attributes as $attribute)
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.customers.add-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.customer.store') }}">
|
||||
<form method="POST" action="{{ route('admin.customer.store') }}" @submit.prevent="onSubmit">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
|
|
@ -45,7 +49,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('gender') ? 'has-error' : '']">
|
||||
<label for="gender" class="required">{{ __('admin::app.customers.customers.gender') }}</label>
|
||||
<select name="gender" class="control" v-validate="'gender'">
|
||||
<select name="gender" class="control" v-validate="'required'">
|
||||
<option value="Male">Male</option>
|
||||
<option value="Female">Female</option>
|
||||
</select>
|
||||
|
|
@ -64,7 +68,7 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="name" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
<label for="customerGroup" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
<select class="control" name="customer_group_id">
|
||||
@foreach ($customerGroup as $group)
|
||||
<option value="{{ $group->id }}"> {{ $group->group_name}} </>
|
||||
|
|
@ -72,6 +76,16 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channel_id') ? 'has-error' : '']">
|
||||
<label for="channel" >{{ __('admin::app.customers.customers.channel_name') }}</label>
|
||||
<select class="control" name="channel_id" v-validate="'required'">
|
||||
@foreach ($channelName as $channel)
|
||||
<option value="{{ $channel->id }}"> {{ $channel->name}} </>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('channel_id')">@{{ errors.first('channel_id') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.customers.edit-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.customer.update', $customer->id) }}">
|
||||
|
|
@ -47,7 +51,7 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="email" class="required">{{ __('admin::app.customers.customers.gender') }}</label>
|
||||
<label for="gender" class="required">{{ __('admin::app.customers.customers.gender') }}</label>
|
||||
<select name="gender" class="control" v-validate="'gender'" value="{{ $customer->gender }}" v-validate="'required'">
|
||||
<option value="Male">Male</option>
|
||||
<option value="Female">Female</option>
|
||||
|
|
@ -67,23 +71,42 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="name" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
<label for="customerGroup" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
|
||||
@if(!is_null($customer->customer_group_id))
|
||||
<?php $selectedOption = $customer->customerGroup->id ?>
|
||||
<?php $selectedCustomerOption = $customer->customerGroup->id ?>
|
||||
@else
|
||||
<?php $selectedCustomerOption = '' ?>
|
||||
@endif
|
||||
|
||||
<select class="control" name="customer_group_id">
|
||||
|
||||
@foreach($customerGroup as $group)
|
||||
<option value="{{ $group->id }}" {{ $selectedOption == $group->id ? 'selected' : '' }}>
|
||||
<option value="{{ $group->id }}" {{ $selectedCustomerOption == $group->id ? 'selected' : '' }}>
|
||||
{{ $group->group_name}}
|
||||
</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channel_id') ? 'has-error' : '']">
|
||||
<label for="channel" >{{ __('admin::app.customers.customers.channel_name') }}</label>
|
||||
|
||||
@if(!is_null($customer->channel_id))
|
||||
<?php $selectedChannelOption = $customer->channel_id ?>
|
||||
@else
|
||||
<?php $selectedChannelOption = $customer->channel_id ?>
|
||||
@endif
|
||||
|
||||
<select class="control" name="channel_id" v-validate="'required'">
|
||||
@foreach($channelName as $channel)
|
||||
<option value="{{ $channel->id }}" {{ $selectedChannelOption == $channel->id ? 'selected' : '' }}>
|
||||
{{ $channel->name}}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('channel_id')">@{{ errors.first('channel_id') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.groups.add-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.groups.store') }}" @submit.prevent="onSubmit">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
{{ __('admin::app.customers.groups.add-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.groups.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
<div class="control-group" :class="[errors.has('group_name') ? 'has-error' : '']">
|
||||
<label for="group_name" class="required">
|
||||
{{ __('admin::app.customers.groups.name') }}
|
||||
</label>
|
||||
<input type="text" class="control" name="group_name" v-validate="'required'" value="{{ old('group_name') }}">
|
||||
<span class="control-error" v-if="errors.has('group_name')">@{{ errors.first('group_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="is_user_defined">
|
||||
{{ __('admin::app.customers.groups.is_user_defined') }}
|
||||
</label>
|
||||
<span class="checkbox">
|
||||
<input type="checkbox" name="is_user_defined" value="0">
|
||||
<label class="checkbox-view" for="is_user_defined"></label>
|
||||
{{ __('admin::app.customers.groups.yes') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.groups.edit-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.groups.update', $group->id) }}">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
{{ __('admin::app.customers.groups.edit-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.groups.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
<input name="_method" type="hidden" value="PUT">
|
||||
|
||||
<div class="control-group" :class="[errors.has('group_name') ? 'has-error' : '']">
|
||||
<label for="group_name" class="required">
|
||||
{{ __('admin::app.customers.groups.name') }}
|
||||
</label>
|
||||
<input type="text" class="control" name="group_name" v-validate="'required'" value="{{ $group->group_name }}">
|
||||
<span class="control-error" v-if="errors.has('group_name')">@{{ errors.first('group_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="is_user_defined">
|
||||
{{ __('admin::app.customers.groups.is_user_defined') }}
|
||||
</label>
|
||||
<span class="checkbox">
|
||||
<input type="checkbox" name="is_user_defined" value="{{ $group->is_user_defined }}" {{ $group->is_user_defined ? 'checked' : '' }}>
|
||||
<label class="checkbox-view" for="is_user_defined"></label>
|
||||
{{ __('admin::app.customers.groups.yes') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.groups.title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="content">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>{{ __('admin::app.customers.groups.title') }}</h1>
|
||||
</div>
|
||||
<div class="page-action">
|
||||
<a href="{{ route('admin.groups.create') }}" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.groups.add-title') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
@inject('customerGroup','Webkul\Admin\DataGrids\CustomerGroupDataGrid')
|
||||
{!! $customerGroup->render() !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
</div>
|
||||
<div class="page-action">
|
||||
<a href="{{ route('admin.customer.create') }}" class="btn btn-lg btn-primary">
|
||||
{{ __('Add Customer') }}
|
||||
{{ __('admin::app.customers.customers.add-title') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
|
||||
{{ __('admin::app.error.403.page-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
|
@ -14,11 +14,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.403.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.403.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('admin.dashboard.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('admin.dashboard.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
|
||||
{{ __('admin::app.error.404.page-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
|
@ -14,11 +14,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.404.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.404.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('admin.dashboard.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('admin.dashboard.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
|
||||
{{ __('admin::app.error.403.page-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="error-container" style="width: 100%; display: flex; justify-content: center;">
|
||||
|
||||
<div class="wrapper" style="display: flex; height: 60vh; width: 100%;
|
||||
|
|
@ -14,11 +15,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.500.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.500.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('admin.dashboard.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('admin.dashboard.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -27,4 +34,5 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
|
@ -11,5 +11,5 @@ class Category extends TranslatableModel
|
|||
|
||||
public $translatedAttributes = ['name', 'description', 'slug', 'meta_title', 'meta_description', 'meta_keywords'];
|
||||
|
||||
protected $fillable = ['position', 'status', 'parent_id','image'];
|
||||
protected $fillable = ['position', 'status', 'parent_id'];
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
<?php
|
||||
|
||||
namespace Webkul\Category\Repositories;
|
||||
|
||||
|
||||
use Webkul\Core\Eloquent\Repository;
|
||||
use Webkul\Category\Models\Category;
|
||||
use Illuminate\Container\Container as App;
|
||||
|
|
@ -44,7 +44,7 @@ class CategoryRepository extends Repository
|
|||
{
|
||||
if(isset($data['locale']) && $data['locale'] == 'all') {
|
||||
$model = app()->make($this->model());
|
||||
|
||||
|
||||
foreach(core()->getAllLocales() as $locale) {
|
||||
foreach ($model->translatedAttributes as $attribute) {
|
||||
if(isset($data[$attribute])) {
|
||||
|
|
@ -54,7 +54,11 @@ class CategoryRepository extends Repository
|
|||
}
|
||||
}
|
||||
|
||||
return $this->model->create($data);
|
||||
$category = $this->model->create($data);
|
||||
|
||||
$this->uploadImages($data, $category);
|
||||
|
||||
return $category;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -99,4 +103,52 @@ class CategoryRepository extends Repository
|
|||
get_class($this->model), $slug
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* @param $id
|
||||
* @param string $attribute
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(array $data, $id, $attribute = "id")
|
||||
{
|
||||
$category = $this->find($id);
|
||||
|
||||
$category->update($data);
|
||||
|
||||
$this->uploadImages($data, $category);
|
||||
|
||||
return $category;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* @param mixed $category
|
||||
* @return void
|
||||
*/
|
||||
public function uploadImages($data, $category,$type = "image")
|
||||
{
|
||||
if(isset($data[$type])) {
|
||||
foreach ($data[$type] as $imageId => $image) {
|
||||
$file = $type . '.' . $imageId;
|
||||
$dir = 'category/' . $category->id;
|
||||
|
||||
if(request()->hasFile($file)) {
|
||||
if($category->{$type}) {
|
||||
Storage::delete($category->{$type});
|
||||
}
|
||||
|
||||
$category->{$type} = request()->file($file)->store($dir);
|
||||
$category->save();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if($category->{$type}) {
|
||||
Storage::delete($category->{$type});
|
||||
}
|
||||
|
||||
$category->{$type} = null;
|
||||
$category->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -79,7 +79,7 @@ class ChannelController extends Controller
|
|||
'currencies' => 'required|array|min:1',
|
||||
'base_currency_id' => 'required'
|
||||
]);
|
||||
|
||||
|
||||
$this->channel->create(request()->all());
|
||||
|
||||
session()->flash('success', 'Channel created successfully.');
|
||||
|
|
|
|||
|
|
@ -140,6 +140,14 @@ class ExchangeRateController extends Controller
|
|||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$this->exchangeRate->delete($id);
|
||||
if($this->exchangeRate->count() == 1) {
|
||||
session()->flash('error', 'At least one Exchange rate is required.');
|
||||
} else {
|
||||
$this->exchangeRate->delete($id);
|
||||
|
||||
session()->flash('success', 'Exchange rate deleted successfully.');
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
<?php
|
||||
|
||||
namespace Webkul\Core\Repositories;
|
||||
|
||||
|
||||
use Webkul\Core\Eloquent\Repository;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
|
|
@ -72,6 +72,7 @@ class ChannelRepository extends Repository
|
|||
*/
|
||||
public function uploadImages($data, $channel, $type = "logo")
|
||||
{
|
||||
|
||||
if(isset($data[$type])) {
|
||||
foreach ($data[$type] as $imageId => $image) {
|
||||
$file = $type . '.' . $imageId;
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ class CreateCustomerGroupsTable extends Migration
|
|||
Schema::create('customer_groups', function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
$table->string('group_name');
|
||||
$table->boolean('is_user_defined')->default(true);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ namespace Webkul\Customer\Models;
|
|||
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Webkul\Customer\Models\CustomersGroups;
|
||||
use Webkul\Customer\Models\CustomerGroup;
|
||||
use Webkul\Sales\Models\Order;
|
||||
|
||||
// use Webkul\User\Notifications\AdminResetPassword;
|
||||
|
|
@ -36,6 +36,6 @@ class Customer extends Authenticatable
|
|||
*/
|
||||
public function customerGroup()
|
||||
{
|
||||
return $this->belongsTo(CustomersGroups::class);
|
||||
return $this->belongsTo(CustomerGroup::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ namespace Webkul\Customer\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CustomersAddress extends Model
|
||||
class CustomerAddress extends Model
|
||||
{
|
||||
protected $table = 'customer_addresses';
|
||||
|
||||
|
|
@ -3,7 +3,9 @@ namespace Webkul\Customer\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CustomersGroups extends Model
|
||||
class CustomerGroup extends Model
|
||||
{
|
||||
protected $table = 'customer_groups';
|
||||
|
||||
protected $fillable = ['group_name', 'is_user_defined'];
|
||||
}
|
||||
|
|
@ -21,7 +21,7 @@ class CustomerAddressRepository extends Repository
|
|||
|
||||
function model()
|
||||
{
|
||||
return 'Webkul\Customer\Models\CustomersAddress';
|
||||
return 'Webkul\Customer\Models\CustomerAddress';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class CustomerGroupRepository extends Repository
|
|||
|
||||
function model()
|
||||
{
|
||||
return 'Webkul\Customer\Models\CustomersGroups';
|
||||
return 'Webkul\Customer\Models\CustomerGroup';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -57,8 +57,6 @@ class ProductReviewRepository extends Repository
|
|||
|
||||
$reviews = $this->model->where(['customer_id'=> $customerId, 'status' => 'approved'])->with('product')->get();
|
||||
|
||||
// dd($reviews);
|
||||
|
||||
return $reviews;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
<a :href="url+'/categories/'+this.item['translations'][0].slug">{{ this.item['translations'][0].name }} <i class="icon dropdown-right-icon"
|
||||
v-if="haveChildren && item.parent_id != null"></i></a>
|
||||
|
||||
<i :class="[show ? 'icon icon-arrow-down mt-15' : 'icon dropdown-right-icon mt-15']"
|
||||
<i :class="[show ? 'icon icon-arrow-down mt-15' : 'icon dropdown-right-icon left mt-15']"
|
||||
v-if="haveChildren" @click="showOrHide"></i>
|
||||
|
||||
<ul v-if="haveChildren && show">
|
||||
|
|
|
|||
|
|
@ -33,6 +33,13 @@
|
|||
grid-auto-rows: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 551px) {
|
||||
.product-grid-3 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 854px) {
|
||||
.product-grid-4 {
|
||||
grid-template-columns: 29.5% 29.5% 29.5%;
|
||||
|
|
@ -121,6 +128,21 @@
|
|||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 425px) {
|
||||
.product-card {
|
||||
font-size: 90%;
|
||||
|
||||
.btn.btn-md {
|
||||
padding: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.product-grid-4 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.product-list {
|
||||
min-height: 200px;
|
||||
|
||||
|
|
@ -711,16 +733,56 @@ section.slider-block {
|
|||
border-top: 1px solid $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.responsive-nav {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 720px) {
|
||||
|
||||
.header-bottom {
|
||||
display: none !important;
|
||||
.header {
|
||||
.header-bottom {
|
||||
height: auto;
|
||||
display: none;
|
||||
|
||||
.nav a {
|
||||
display:inline-block;
|
||||
}
|
||||
|
||||
ul.nav , .nav li{
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.nav > li {
|
||||
float: none;
|
||||
}
|
||||
|
||||
// .nav li ul {
|
||||
// padding-left: 20px;
|
||||
// }
|
||||
|
||||
.nav li > .icon{
|
||||
float: right;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav li .left{
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.nav li a > .icon{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav ul {
|
||||
position: unset;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.nav > li li:hover > ul {
|
||||
margin-left: 0px;
|
||||
top: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.search-container {
|
||||
|
|
@ -738,51 +800,6 @@ section.slider-block {
|
|||
ul.right-responsive {
|
||||
display: flex !important;
|
||||
}
|
||||
|
||||
.responsive-nav {
|
||||
margin-top: 20px;
|
||||
display: none;
|
||||
|
||||
.nav a {
|
||||
display:inline-block;
|
||||
color: $font-color;
|
||||
text-decoration: none;
|
||||
padding: 12px 4.8px 12px 8px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
|
||||
.nav li > .icon{
|
||||
float: right;
|
||||
}
|
||||
|
||||
.nav li a > .icon{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav > li {
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
|
||||
.nav li ul {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.nav li:first-child {
|
||||
border-top: 1px solid $border-color;
|
||||
}
|
||||
|
||||
.nav > li:last-child {
|
||||
float:none;
|
||||
height: 45px;
|
||||
display: none;
|
||||
border: none;
|
||||
|
||||
img {
|
||||
margin-right:6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//footer responsive with out media query.
|
||||
|
|
@ -872,6 +889,100 @@ section.slider-block {
|
|||
flex-direction: row;
|
||||
width: 100%;
|
||||
|
||||
.layered-filter-wrapper {
|
||||
width: 25%;
|
||||
float: left;
|
||||
padding-right: 20px;
|
||||
min-height: 1px;
|
||||
|
||||
.filter-title {
|
||||
border-bottom: 1px solid $border-color;
|
||||
color: $font-color;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.filter-attributes {
|
||||
.filter-attributes-item {
|
||||
border-bottom: 1px solid $border-color;
|
||||
padding-bottom: 10px;
|
||||
|
||||
.filter-attributes-title {
|
||||
padding: 10px 40px 0 10px;
|
||||
color: #5E5E5E;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
|
||||
.remove-filter-link {
|
||||
font-weight: 400;
|
||||
color: $brand-color;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.icon {
|
||||
background-image: url('../images/arrow-down.svg') !important;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.filter-attributes-content {
|
||||
padding: 10px;
|
||||
display: none;
|
||||
|
||||
ol.items {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none none;
|
||||
|
||||
li.item {
|
||||
padding: 8px 0;
|
||||
color: #5E5E5E;
|
||||
|
||||
.checkbox {
|
||||
margin: 0;
|
||||
|
||||
.checkbox-view {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
background-image: url("../images/checkbox.svg");
|
||||
}
|
||||
|
||||
input:checked + .checkbox-view {
|
||||
background-image: url("../images/checkbox-checked.svg");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.price-range-wrapper {
|
||||
margin-top: 21px;
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
.filter-attributes-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.filter-attributes-title .icon {
|
||||
background-image: url('../images//arrow-up.svg') !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.responsive-layred-filter {
|
||||
display: none;
|
||||
@extend .layered-filter-wrapper;
|
||||
width: 100%;
|
||||
float: none;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.category-block {
|
||||
width: 80%;
|
||||
display: block;
|
||||
|
|
@ -899,12 +1010,12 @@ section.slider-block {
|
|||
color: $font-color;
|
||||
line-height: 45px;
|
||||
|
||||
span:first-child {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
span:last-child {
|
||||
span {
|
||||
display: none;
|
||||
|
||||
&:first-child {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -952,14 +1063,6 @@ section.slider-block {
|
|||
}
|
||||
}
|
||||
|
||||
.reponsive-sorter-limiter {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.responsive-layred-filter{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bottom-toolbar {
|
||||
display: block;
|
||||
margin-top: 40px;
|
||||
|
|
@ -968,6 +1071,55 @@ section.slider-block {
|
|||
}
|
||||
}
|
||||
|
||||
//category page responsivs css
|
||||
@media only screen and (max-width: 840px) {
|
||||
.main {
|
||||
.layered-filter-wrapper{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.category-block {
|
||||
width: 100% !important;
|
||||
|
||||
.top-toolbar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.page-info {
|
||||
border-bottom: 1px solid $border-color;
|
||||
line-height: 15px;
|
||||
|
||||
span {
|
||||
display: inline;
|
||||
|
||||
&:first-child{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.sort-filter {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.pager {
|
||||
margin-top: 20px;
|
||||
display: none;
|
||||
|
||||
.view-mode {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.responsive-layred-filter {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// product pages css starts here
|
||||
section.product-detail {
|
||||
color: $font-color;
|
||||
|
|
@ -1208,7 +1360,6 @@ section.product-detail {
|
|||
margin-right: 0px;
|
||||
|
||||
.thumb-frame {
|
||||
|
||||
img {
|
||||
height: 100%;
|
||||
width: auto;
|
||||
|
|
@ -1240,11 +1391,8 @@ section.product-detail {
|
|||
}
|
||||
|
||||
@media only screen and (max-width: 510px){
|
||||
|
||||
section.product-detail div.layouter form {
|
||||
|
||||
div.product-image-group {
|
||||
|
||||
.product-hero-image img {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
|
@ -1740,49 +1888,37 @@ section.cart {
|
|||
|
||||
// review page start here
|
||||
section.review {
|
||||
color: $font-color;
|
||||
|
||||
.category-breadcrumbs {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.review-layouter {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
.product-info {
|
||||
font-size: 24px;
|
||||
|
||||
.product-image {
|
||||
img {
|
||||
display: block;
|
||||
height: 280px;
|
||||
width: 280px;
|
||||
}
|
||||
}
|
||||
|
||||
.product-name {
|
||||
margin-top: 20px;
|
||||
|
||||
span {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.product-price {
|
||||
margin-top: 10px;
|
||||
|
||||
.pro-price {
|
||||
font-size: 24px;
|
||||
color: $disc-price;
|
||||
}
|
||||
|
||||
.pro-price-not {
|
||||
margin-left: 10px;
|
||||
font-size: 16px;
|
||||
color: $disc-price-pro;
|
||||
}
|
||||
|
||||
.offer {
|
||||
margin-left: 10px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1792,69 +1928,41 @@ section.review {
|
|||
width: 49%;
|
||||
|
||||
.heading {
|
||||
margin-top: 10px;
|
||||
color: #242424;
|
||||
font-weight: 600;
|
||||
|
||||
.btn.btn-primary.right {
|
||||
.right {
|
||||
float: right;
|
||||
margin-top: -10px;
|
||||
}
|
||||
}
|
||||
|
||||
.rating {
|
||||
margin-top : 25px;
|
||||
color: $font-color-light;
|
||||
|
||||
|
||||
span {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
|
||||
.stars {
|
||||
|
||||
width: 270px;
|
||||
display: inline-block;
|
||||
|
||||
label.star {
|
||||
font-size: 36px;
|
||||
color: #d4d4d4;
|
||||
transition: all .2s;
|
||||
font-size: 25px;
|
||||
color: #d4d4d4;
|
||||
transition: all .2s;
|
||||
}
|
||||
|
||||
label.star:before {
|
||||
content: '\2605';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.write-review {
|
||||
margin-top: 25px;
|
||||
|
||||
.control-group {
|
||||
margin-bottom: 0px;
|
||||
|
||||
textarea {
|
||||
margin-top: 5px;
|
||||
border: 2px solid $border-color;
|
||||
border-radius: 3px;
|
||||
width: 600px;
|
||||
height: 120px;
|
||||
}
|
||||
label {
|
||||
color: $font-color-light;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.submit-button {
|
||||
margin-top: 10px;
|
||||
|
||||
button {
|
||||
background: $brand-color;
|
||||
font-size: 14px;
|
||||
color: $background-color;
|
||||
|
||||
text-align: center;
|
||||
width: 120px;
|
||||
height: 38px;
|
||||
border: none;
|
||||
textarea {
|
||||
margin-top: 5px;
|
||||
border: 2px solid $border-color;
|
||||
color: $font-color-light;
|
||||
border-radius: 3px;
|
||||
width: 90%;
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1871,17 +1979,14 @@ section.review {
|
|||
width: 48%;
|
||||
|
||||
.avg-rating-count{
|
||||
|
||||
span {
|
||||
font-size: 34px;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rating-calculate {
|
||||
|
||||
.progress-only {
|
||||
width:20px;
|
||||
border: 1px solid blue;
|
||||
|
|
@ -1889,10 +1994,123 @@ section.review {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ratings-reviews {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.left-side {
|
||||
padding: 40px 20px 40px 20px;
|
||||
width: 50%;
|
||||
|
||||
.rate {
|
||||
font-size: 34px;
|
||||
}
|
||||
|
||||
.stars.icon {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.right-side {
|
||||
width: 50%;
|
||||
|
||||
.rater {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding-top: 5px;
|
||||
width: 100%;
|
||||
|
||||
.star-name {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.rate-number {
|
||||
width:15px;
|
||||
}
|
||||
|
||||
.percentage {
|
||||
width: 15%;
|
||||
margin-right: 10px;
|
||||
|
||||
span {
|
||||
float: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.line-bar {
|
||||
height: 4px;
|
||||
width: 65%;
|
||||
margin-right: 5px;
|
||||
background: #D8D8D8;
|
||||
|
||||
.line-value {
|
||||
background-color: #0031F0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// review page end here
|
||||
|
||||
// review responsive css start here
|
||||
@media only screen and (max-width: 770px) {
|
||||
section.review {
|
||||
.category-breadcrumbs{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.review-layouter {
|
||||
flex-direction: column;
|
||||
|
||||
.product-info .product-image {
|
||||
max-width: 280px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.review-form {
|
||||
width: 100%;
|
||||
margin-left: 0px;
|
||||
|
||||
.heading .right {
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.ratings-reviews {
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
|
||||
.left-side {
|
||||
width: 100%;
|
||||
padding: 0px 0px 40px 0px;
|
||||
margin-top: -50px;
|
||||
}
|
||||
|
||||
.right-side {
|
||||
width: 100%;
|
||||
|
||||
.rater .line-bar {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.rater .percentage {
|
||||
width: 10%;
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//review responsive css end here
|
||||
|
||||
|
||||
//customers auth page css goes here
|
||||
.auth-content {
|
||||
|
|
@ -2028,6 +2246,88 @@ section.review {
|
|||
|
||||
.account-head {
|
||||
margin-bottom: 20px;
|
||||
|
||||
.back-icon {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//customer account page responsive layout
|
||||
@media only screen and (max-width: 770px) {
|
||||
.account-content {
|
||||
flex-direction: column;
|
||||
|
||||
.account-side-menu {
|
||||
display: none;
|
||||
width:100%;
|
||||
border: none;
|
||||
|
||||
li {
|
||||
margin-left: 0%;
|
||||
width: 100%;
|
||||
|
||||
a {
|
||||
color : $font-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.responsive-side-menu {
|
||||
cursor: pointer;
|
||||
padding-top:13px;
|
||||
display: block;
|
||||
height: 46px;
|
||||
border-bottom: 1px solid $border-color;
|
||||
border-top: 1px solid $border-color;
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
.account-layout {
|
||||
margin-left: 0%;
|
||||
margin-top: 20px;
|
||||
|
||||
.account-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid $border-color;
|
||||
border-top: 1px solid $border-color;
|
||||
height: 46px;
|
||||
|
||||
.back-icon {
|
||||
display: block;
|
||||
}
|
||||
|
||||
span {
|
||||
margin-top: 12px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.horizontal-rule {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.account-table-content {
|
||||
margin-top: 2%;
|
||||
|
||||
table tbody tr {
|
||||
display: grid;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.account-items-list , .edit-form {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.control-group .control {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2106,7 +2406,6 @@ section.review {
|
|||
color: #8E8E8E;
|
||||
}
|
||||
|
||||
|
||||
.box-content {
|
||||
color: #3A3A3A;
|
||||
}
|
||||
|
|
@ -2116,6 +2415,10 @@ section.review {
|
|||
.qty-row {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.responsive-table {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2152,3 +2455,72 @@ section.review {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
.sale-container {
|
||||
.sale-section {
|
||||
.section-content {
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.title {
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.table{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.responsive-table {
|
||||
border: 1px solid $border-color;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
display: block;
|
||||
|
||||
tbody td {
|
||||
padding: 8px 5px;
|
||||
|
||||
&:first-child {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.totals {
|
||||
.sale-summary {
|
||||
width: 100%;
|
||||
|
||||
tr td {
|
||||
&:nth-child(2) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.order-box-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.box {
|
||||
width: 100%;
|
||||
margin: 10px auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// css for loader
|
||||
.cp-spinner {
|
||||
margin-left: 46%;
|
||||
margin-top: 35%;
|
||||
margin-bottom: 35%;
|
||||
}
|
||||
|
|
@ -1,18 +1,3 @@
|
|||
@media only screen and (max-width: 425px) {
|
||||
.product-card {
|
||||
font-size: 90%;
|
||||
|
||||
.btn.btn-md {
|
||||
padding: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.product-grid-4 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//wishlist icon hover properties
|
||||
.add-to-wishlist {
|
||||
|
|
|
|||
|
|
@ -125,4 +125,10 @@
|
|||
background-image: url("../images/Expand-Light-On.svg");
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.icon-menu-close-adj {
|
||||
background-image: url("../images/cross-icon-adj.svg");
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
|
@ -126,167 +126,3 @@ body {
|
|||
.mt-90 {
|
||||
margin-top: 90px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 551px) {
|
||||
.product-grid-3 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 840px) {
|
||||
|
||||
.layered-filter-wrapper{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main {
|
||||
|
||||
.category-block {
|
||||
width: 100% !important;
|
||||
|
||||
.top-toolbar {
|
||||
border-bottom: 1px solid $border-color;
|
||||
|
||||
.page-info {
|
||||
|
||||
span:first-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
span:last-child {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
|
||||
.pager {
|
||||
|
||||
.view-mode {
|
||||
margin-right: 0px;
|
||||
|
||||
.grid-view , .list-view {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sort-filter {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.sorter , .limiter{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reponsive-sorter-limiter {
|
||||
display: none;
|
||||
|
||||
select {
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #C7C7C7;
|
||||
border-radius: 3px;
|
||||
color: #242424;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//layered filter wrapper styles
|
||||
.layered-filter-wrapper {
|
||||
width: 25%;
|
||||
float: left;
|
||||
padding-right: 20px;
|
||||
min-height: 1px;
|
||||
|
||||
.filter-title {
|
||||
border-bottom: 1px solid $border-color;
|
||||
color: $font-color;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.filter-attributes {
|
||||
.filter-attributes-item {
|
||||
border-bottom: 1px solid $border-color;
|
||||
padding-bottom: 10px;
|
||||
|
||||
.filter-attributes-title {
|
||||
padding: 10px 40px 0 10px;
|
||||
color: #5E5E5E;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
|
||||
.remove-filter-link {
|
||||
font-weight: 400;
|
||||
color: $brand-color;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.icon {
|
||||
background-image: url('../images/arrow-down.svg') !important;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.filter-attributes-content {
|
||||
padding: 10px;
|
||||
display: none;
|
||||
|
||||
ol.items {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none none;
|
||||
|
||||
li.item {
|
||||
padding: 8px 0;
|
||||
color: #5E5E5E;
|
||||
|
||||
.checkbox {
|
||||
margin: 0;
|
||||
|
||||
.checkbox-view {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
background-image: url("../images/checkbox.svg");
|
||||
}
|
||||
|
||||
input:checked + .checkbox-view {
|
||||
background-image: url("../images/checkbox-checked.svg");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.price-range-wrapper {
|
||||
margin-top: 21px;
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
.filter-attributes-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.filter-attributes-title .icon {
|
||||
background-image: url('../images//arrow-up.svg') !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.responsive-layred-filter {
|
||||
width: 100%;
|
||||
float: none;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ return [
|
|||
'add-review-page-title' => 'Add Review',
|
||||
'write-review' => 'Write a review',
|
||||
'review-title' => 'Give Your Review a Title',
|
||||
'product-review-page-title' => 'Product Review',
|
||||
'rating-reviews' => 'Rating & Reviews',
|
||||
'submit' => 'SUBMIT',
|
||||
],
|
||||
|
||||
'customer' => [
|
||||
|
|
@ -167,7 +170,12 @@ return [
|
|||
|
||||
'review' => [
|
||||
'index' => [
|
||||
'title' => 'Reviews'
|
||||
'title' => 'Reviews',
|
||||
'page-title' => 'Customer - Reviews'
|
||||
],
|
||||
|
||||
'view' => [
|
||||
'page-tile' => 'Review #:id',
|
||||
]
|
||||
]
|
||||
]
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<div class="account-layout">
|
||||
|
||||
<div class="account-head">
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.address.index.title') }}</span>
|
||||
|
||||
@if(!$address->isEmpty())
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@
|
|||
<div class="account-layout">
|
||||
|
||||
<div class="account-head mb-15">
|
||||
<div class="account-heading">{{ __('shop::app.customer.account.address.edit.title') }}</div>
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.address.edit.title') }}</span>
|
||||
<span></span>
|
||||
</div>
|
||||
|
||||
<form method="post" action="{{ route('customer.address.edit') }}">
|
||||
|
|
|
|||
|
|
@ -5,29 +5,3 @@
|
|||
<h1>Account Index Page</h1>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var sideMenuTitle = document.getElementById("responsive-side-menu");
|
||||
var downIcon = document.getElementById("down-icon");
|
||||
var accountSideMenu = document.getElementsByClassName("account-side-menu");
|
||||
|
||||
sideMenuTitle.addEventListener("click", function(){
|
||||
if(downIcon.className == 'icon icon-arrow-down right'){
|
||||
for(let i=0 ; i < accountSideMenu.length ; i++){
|
||||
accountSideMenu[i].style.display="block";
|
||||
}
|
||||
|
||||
downIcon.classList.remove("icon","icon-arrow-down","right");
|
||||
downIcon.classList.add("icon","icon-arrow-up","right");
|
||||
}else{
|
||||
for(let i=0 ; i < accountSideMenu.length ; i++){
|
||||
accountSideMenu[i].style.display="none";
|
||||
}
|
||||
|
||||
downIcon.classList.remove("icon","icon-arrow-up","right");
|
||||
downIcon.classList.add("icon","icon-arrow-down","right");
|
||||
}
|
||||
});
|
||||
});
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -12,9 +12,11 @@
|
|||
<div class="account-layout">
|
||||
|
||||
<div class="account-head">
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
<span class="account-heading">
|
||||
{{ __('shop::app.customer.account.order.index.title') }}
|
||||
</span>
|
||||
<span></span>
|
||||
</div>
|
||||
|
||||
<div class="account-items-list">
|
||||
|
|
|
|||
|
|
@ -12,9 +12,11 @@
|
|||
<div class="account-layout">
|
||||
|
||||
<div class="account-head">
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
<span class="account-heading">
|
||||
{{ __('shop::app.customer.account.order.view.page-tile', ['order_id' => $order->id]) }}
|
||||
</span>
|
||||
<span></span>
|
||||
</div>
|
||||
|
||||
<div class="sale-container">
|
||||
|
|
@ -25,11 +27,11 @@
|
|||
<div class="sale-section">
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
<span class="title">
|
||||
{{ __('shop::app.customer.account.order.view.placed-on') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<span class="value">
|
||||
{{ core()->formatDate($order->created_at, 'd M Y') }}
|
||||
</span>
|
||||
</div>
|
||||
|
|
@ -89,9 +91,94 @@
|
|||
<td>{{ core()->formatPrice($item->total + $item->tax_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
<table class="responsive-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.SKU') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $item->type == 'configurable' ? $item->child->sku : $item->sku }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.product-name') }}
|
||||
</td>
|
||||
<td>{{ $item->name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.price') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ core()->formatPrice($item->price, $order->order_currency_code) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.item-status') }}
|
||||
</td>
|
||||
<td>
|
||||
<span class="qty-row">
|
||||
{{ __('shop::app.customer.account.order.view.item-ordered', ['qty_ordered' => $item->qty_ordered]) }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_invoiced ? __('shop::app.customer.account.order.view.item-invoice', ['qty_invoiced' => $item->qty_invoiced]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_shipped ? __('shop::app.customer.account.order.view.item-shipped', ['qty_shipped' => $item->qty_shipped]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_canceled ? __('shop::app.customer.account.order.view.item-canceled', ['qty_canceled' => $item->qty_canceled]) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.subtotal') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ core()->formatPrice($item->total, $order->order_currency_code) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.tax-percent') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ number_format($item->tax_percent, 2) }}%
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.tax-amount') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ core()->formatPrice($item->tax_amount, $order->order_currency_code) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('shop::app.customer.account.order.view.grand-total') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ core()->formatPrice($item->total + $item->tax_amount, $order->order_currency_code) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@endforeach
|
||||
|
||||
<div class="totals">
|
||||
<table class="sale-summary">
|
||||
<tbody>
|
||||
|
|
@ -214,7 +301,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@endforeach
|
||||
|
||||
</tab>
|
||||
|
|
@ -245,7 +332,7 @@
|
|||
<tbody>
|
||||
|
||||
@foreach ($shipment->items as $item)
|
||||
|
||||
|
||||
<tr>
|
||||
<td>{{ $item->sku }}</td>
|
||||
<td>{{ $item->name }}</td>
|
||||
|
|
@ -320,7 +407,7 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,34 @@
|
|||
<i class="icon angle-right-icon"></i>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var sideMenuTitle = document.getElementById("responsive-side-menu");
|
||||
var downIcon = document.getElementById("down-icon");
|
||||
var accountSideMenu = document.getElementsByClassName("account-side-menu");
|
||||
|
||||
console.log(accountSideMenu);
|
||||
|
||||
sideMenuTitle.addEventListener("click", function(){
|
||||
if(downIcon.className == 'icon icon-arrow-down right'){
|
||||
for(let i=0 ; i < accountSideMenu.length ; i++){
|
||||
accountSideMenu[i].style.display="block";
|
||||
}
|
||||
|
||||
downIcon.classList.remove("icon","icon-arrow-down","right");
|
||||
downIcon.classList.add("icon","icon-arrow-up","right");
|
||||
}else{
|
||||
for(let i=0 ; i < accountSideMenu.length ; i++){
|
||||
accountSideMenu[i].style.display="none";
|
||||
}
|
||||
|
||||
downIcon.classList.remove("icon","icon-arrow-up","right");
|
||||
downIcon.classList.add("icon","icon-arrow-down","right");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<div class="account-head">
|
||||
|
||||
{{-- <span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span> --}}
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.profile.index.title') }}</span>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
||||
|
||||
@extends('shop::layouts.master')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.index.page-title') }}
|
||||
@endsection
|
||||
|
||||
@section('content-wrapper')
|
||||
<div class="account-content">
|
||||
@include('shop::customers.account.partials.sidemenu')
|
||||
|
|
@ -8,7 +13,7 @@
|
|||
<div class="account-layout">
|
||||
|
||||
<div class="account-head">
|
||||
{{-- <span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span> --}}
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.review.index.title') }}</span>
|
||||
<span></span>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
||||
|
||||
@extends('shop::layouts.master')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.view.page-title') }}
|
||||
@endsection
|
||||
|
||||
@section('content-wrapper')
|
||||
<div class="account-content">
|
||||
@include('shop::customers.account.partials.sidemenu')
|
||||
|
|
|
|||
|
|
@ -9,13 +9,19 @@
|
|||
|
||||
<div class="error-box" style="width: 50%">
|
||||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }} </div>
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.403.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.403.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('shop.home.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,11 +11,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.404.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.404.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('shop.home.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,13 +9,19 @@
|
|||
|
||||
<div class="error-box" style="width: 50%">
|
||||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }} </div>
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.500.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.500.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('shop.home.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@
|
|||
|
||||
<li class="cart-dropdown">
|
||||
<span class="icon cart-icon"></span>
|
||||
|
||||
|
||||
@include('shop::checkout.cart.mini-cart')
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -169,7 +169,7 @@
|
|||
|
||||
<li class="cart-dropdown">
|
||||
<?php $cart = cart()->getCart(); ?>
|
||||
|
||||
|
||||
@if(isset($cart))
|
||||
<div>
|
||||
<a href="{{ route('shop.checkout.cart.index') }}">
|
||||
|
|
@ -205,9 +205,6 @@
|
|||
</div> --}}
|
||||
</div>
|
||||
|
||||
<div class="responsive-nav">
|
||||
<category-nav categories='@json($categories)' url="{{url()->to('/')}}"></category-nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('scripts')
|
||||
|
|
@ -216,15 +213,11 @@
|
|||
var hamMenu = document.getElementById("hammenu");
|
||||
var search = document.getElementById("search");
|
||||
var searchResponsive = document.getElementsByClassName('search-responsive')[0];
|
||||
var sortLimit = document.getElementsByClassName('reponsive-sorter-limiter')[0];
|
||||
var layerFilter = document.getElementsByClassName('responsive-layred-filter')[0];
|
||||
var navResponsive = document.getElementsByClassName('responsive-nav')[0];
|
||||
var thumbList = document.getElementsByClassName('thumb-list')[0];
|
||||
var navResponsive = document.getElementsByClassName('header-bottom')[0];
|
||||
|
||||
search.addEventListener("click", header);
|
||||
hamMenu.addEventListener("click", header);
|
||||
|
||||
// for header responsive icon
|
||||
function header() {
|
||||
var className = document.getElementById(this.id).className;
|
||||
if(className === 'icon icon-search' ) {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
</div>
|
||||
|
||||
<?php $products = $productRepository->findAllByCategory($category->id); ?>
|
||||
|
||||
|
||||
@if ($products->count())
|
||||
|
||||
@include ('shop::products.list.toolbar')
|
||||
|
|
@ -69,9 +69,11 @@
|
|||
$(document).ready(function() {
|
||||
var sort = document.getElementById("sort");
|
||||
var filter = document.getElementById("filter");
|
||||
var sortLimit = document.getElementsByClassName('reponsive-sorter-limiter')[0];
|
||||
var sortLimit = document.getElementsByClassName('pager')[0];
|
||||
var layerFilter = document.getElementsByClassName('responsive-layred-filter')[0];
|
||||
|
||||
layerFilter.style.display ="none";
|
||||
|
||||
if(sort && filter) {
|
||||
sort.addEventListener("click", sortFilter);
|
||||
filter.addEventListener("click", sortFilter);
|
||||
|
|
@ -98,6 +100,8 @@
|
|||
sort.classList.add("sort-icon");
|
||||
|
||||
layerFilter.style.display = "block";
|
||||
layerFilter.style.marginTop = "10px";
|
||||
|
||||
sortLimit.style.display = "none";
|
||||
} else {
|
||||
sort.classList.remove("icon-menu-close-adj");
|
||||
|
|
|
|||
|
|
@ -7,7 +7,12 @@
|
|||
{{ __('shop::app.products.pager-info', ['showing' => $products->firstItem() . '-' . $products->lastItem(), 'total' => $products->total()]) }}
|
||||
</span>
|
||||
|
||||
<span>Men</span>
|
||||
<span> Men </span>
|
||||
|
||||
<span class="sort-filter">
|
||||
<i class="icon sort-icon" id="sort" ></i>
|
||||
<i class="icon filter-icon" id="filter"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="pager">
|
||||
|
|
@ -32,12 +37,6 @@
|
|||
<i class="icon list-view-icon"></i>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
<div class="sort-filter">
|
||||
<i class="icon sort-icon" id="sort" ></i>
|
||||
<i class="icon filter-icon" id="filter"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="sorter">
|
||||
|
|
@ -76,41 +75,6 @@
|
|||
|
||||
</div>
|
||||
|
||||
<div class="reponsive-sorter-limiter mb-20">
|
||||
|
||||
<div class="sorter">
|
||||
<label>{{ __('shop::app.products.sort-by') }}</label>
|
||||
|
||||
<select onchange="window.location.href = this.value">
|
||||
|
||||
@foreach ($toolbarHelper->getAvailableOrders() as $key => $order)
|
||||
|
||||
<option value="{{ $toolbarHelper->getOrderUrl($key) }}" {{ $toolbarHelper->isOrderCurrent($key) ? 'selected' : '' }}>
|
||||
{{ __('shop::app.products.' . $order) }}
|
||||
</option>
|
||||
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="limiter">
|
||||
<label>{{ __('shop::app.products.show') }}</label>
|
||||
|
||||
<select onchange="window.location.href = this.value">
|
||||
|
||||
@foreach ($toolbarHelper->getAvailableLimits() as $limit)
|
||||
|
||||
<option value="{{ $toolbarHelper->getLimitUrl($limit) }}" {{ $toolbarHelper->isLimitCurrent($limit) ? 'selected' : '' }}>
|
||||
{{ $limit }}
|
||||
</option>
|
||||
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="responsive-layred-filter mb-20">
|
||||
<layered-navigation></layered-navigation>
|
||||
|
|
|
|||
|
|
@ -10,17 +10,18 @@
|
|||
</div> --}}
|
||||
|
||||
<div class="review-layouter mb-20">
|
||||
|
||||
<div class="product-info">
|
||||
|
||||
<div class="product-image">
|
||||
<img src="{{ bagisto_asset('images/jeans_big.jpg') }}" />
|
||||
</div>
|
||||
|
||||
<div class="product-name">
|
||||
<div class="product-name mt-20">
|
||||
<span>{{ $product->name }}</span>
|
||||
</div>
|
||||
|
||||
<div class="product-price">
|
||||
|
||||
<div class="product-price mt-10">
|
||||
@inject ('priceHelper', 'Webkul\Product\Helpers\Price')
|
||||
|
||||
@if ($product->type == 'configurable')
|
||||
|
|
@ -33,26 +34,24 @@
|
|||
@endif
|
||||
@endif
|
||||
|
||||
{{-- <span class="pro-price-not">
|
||||
{{-- <span class="pro-price-not">
|
||||
<strike> $45.00 </strike>
|
||||
</span>
|
||||
|
||||
<span class="offer"> 10% Off </span> --}}
|
||||
<span class="offer"> 10% Off </span> --}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="review-form">
|
||||
<form method="POST" action="{{ route('shop.reviews.store', $product->id ) }}">
|
||||
@csrf
|
||||
<div class="heading">
|
||||
<div class="heading mt-10">
|
||||
<span>{{ __('shop::app.reviews.write-review') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="rating">
|
||||
<span> {{ __('admin::app.customers.reviews.rating') }} </span>
|
||||
</div>
|
||||
<div class="rating mt-20">
|
||||
<div class="rating-title"> {{ __('admin::app.customers.reviews.rating') }} </div>
|
||||
|
||||
<div class="stars">
|
||||
<label class="star star-5" for="star-5" onclick="calculateRating(id)" id="1"></label>
|
||||
|
||||
<label class="star star-4" for="star-4" onclick="calculateRating(id)" id="2"></label>
|
||||
|
|
@ -63,35 +62,34 @@
|
|||
|
||||
<label class="star star-1" for="star-1" onclick="calculateRating(id)" id="5"></label>
|
||||
|
||||
<input type="name" name="title" class="form-control" placeholder="{{ __('shop::app.reviews.review-title') }}">
|
||||
|
||||
<input type="hidden" id="rating" name="rating">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="write-review">
|
||||
<div>
|
||||
<input type="name" name="title" class="form-control" placeholder="{{ __('shop::app.reviews.review-title') }}">
|
||||
</div>
|
||||
|
||||
<div class="write-review mt-20">
|
||||
<div class="control-group">
|
||||
<label for="review">{{ __('admin::app.customers.reviews.comment') }}</label>
|
||||
<textarea name="comment">
|
||||
|
||||
</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="submit-button">
|
||||
<button type="submit" class="btn btn-lg btn-primary"> SUBMIT </button>
|
||||
</div>
|
||||
<a type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('shop::app.reviews.submit') }}
|
||||
</a>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
|
||||
@push('scripts')
|
||||
|
||||
<script>
|
||||
|
||||
function calculateRating(id){
|
||||
|
|
@ -110,5 +108,4 @@
|
|||
}
|
||||
|
||||
</script>
|
||||
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -1,62 +1,60 @@
|
|||
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
||||
@inject ('priceHelper', 'Webkul\Product\Helpers\Price')
|
||||
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.reviews.product-review-page-title') }} - {{ $product->name }}
|
||||
@endsection
|
||||
@extends('shop::layouts.master')
|
||||
@section('content-wrapper')
|
||||
<section class="product-review">
|
||||
<section class="review">
|
||||
<div class="category-breadcrumbs">
|
||||
|
||||
<span class="breadcrumb">Home</span> > <span class="breadcrumb">Men</span> > <span class="breadcrumb">Slit Open Jeans</span>
|
||||
|
||||
</div>
|
||||
<div class="product-layouter">
|
||||
<div class="review-layouter">
|
||||
|
||||
<div class="mixed-group">
|
||||
|
||||
<div class="single-image">
|
||||
<div class="product-info">
|
||||
<div class="product-image">
|
||||
<img src="{{ bagisto_asset('images/jeans_big.jpg') }}" />
|
||||
</div>
|
||||
|
||||
<div class="details">
|
||||
|
||||
<div class="product-name">
|
||||
{{ $product->name }}
|
||||
</div>
|
||||
|
||||
<div class="price">
|
||||
@if ($product->type == 'configurable')
|
||||
<span class="main-price">${{ core()->currency($priceHelper->getMinimalPrice($product)) }}</span>
|
||||
@else
|
||||
@if ($priceHelper->haveSpecialPrice($product))
|
||||
<span class="main-price">${{ core()->currency($priceHelper->getSpecialPrice($product)) }}</span>
|
||||
@else
|
||||
<span class="main-price">${{ core()->currency($product->price) }}</span>
|
||||
@endif
|
||||
@endif
|
||||
<span class="real-price">
|
||||
$25.00
|
||||
</span>
|
||||
<span class="discount">
|
||||
10% Off
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="product-name mt-20">
|
||||
<span>{{ $product->name }}</span>
|
||||
</div>
|
||||
|
||||
<div class="product-price mt-10">
|
||||
@inject ('priceHelper', 'Webkul\Product\Helpers\Price')
|
||||
|
||||
@if ($product->type == 'configurable')
|
||||
<span class="pro-price">{{ core()->currency($priceHelper->getMinimalPrice($product)) }}</span>
|
||||
@else
|
||||
@if ($priceHelper->haveSpecialPrice($product))
|
||||
<span class="pro-price">{{ core()->currency($priceHelper->getSpecialPrice($product)) }}</span>
|
||||
@else
|
||||
<span class="pro-price">{{ core()->currency($product->price) }}</span>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
{{-- <span class="pro-price-not">
|
||||
<strike> $45.00 </strike>
|
||||
</span>
|
||||
|
||||
<span class="offer"> 10% Off </span> --}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rating-reviews">
|
||||
<div class="review-form">
|
||||
|
||||
<div class="heading mt-10">
|
||||
<span> {{ __('shop::app.reviews.rating-reviews') }} </span>
|
||||
|
||||
<div class="title-inline">
|
||||
<span>Ratings & {{ __('admin::app.customers.reviews.name') }}</span>
|
||||
<!-- <button class="btn btn-md btn-primary">Write Review</button> -->
|
||||
<a href="{{ route('shop.reviews.create', $product->url_key) }}" class="btn btn-lg btn-primary right">Write Review</a>
|
||||
</div>
|
||||
|
||||
<div class="overall">
|
||||
<div class="ratings-reviews mt-35">
|
||||
|
||||
<div class="left-side">
|
||||
<span class="number">
|
||||
<span class="rate">
|
||||
{{ $reviewHelper->getAverageRating($product) }}
|
||||
</span>
|
||||
|
||||
|
|
@ -66,56 +64,78 @@
|
|||
</span>
|
||||
@endfor
|
||||
|
||||
<div class="total-reviews">
|
||||
{{ $reviewHelper->getTotalRating($product) }} {{ __('admin::app.customers.reviews.rating') }} & {{ $reviewHelper->getTotalReviews($product) }} {{ __('admin::app.customers.reviews.name') }}
|
||||
<div class="total-reviews mt-5">
|
||||
{{ $reviewHelper->getTotalRating($product) }} {{ __('admin::app.customers.reviews.rating') }} & {{ $reviewHelper->getTotalReviews($product) }} {{ __('admin::app.customers.reviews.title') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="right-side">
|
||||
@foreach($reviewHelper->getPercentageRating($product) as $key=>$count)
|
||||
<div class="rater 5star">
|
||||
<div class="star" id={{$key}}star> Star</div>
|
||||
<div class="line-bar" >
|
||||
<div class="rate-number" id={{$key}}star></div>
|
||||
<div class="star-name">Star</div>
|
||||
<div class="line-bar">
|
||||
<div class="line-value" id="{{ $key }}"></div>
|
||||
</div>
|
||||
<div class="percentage"> {{$count}}% </div>
|
||||
<div class="percentage">
|
||||
<span> {{$count}}% </span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="reviews">
|
||||
@foreach($reviewHelper->loadMore($product) as $review)
|
||||
<div class="review">
|
||||
<div class="title">
|
||||
{{ $review->title }}
|
||||
</div>
|
||||
<div class="stars">
|
||||
@for ($i = 1; $i <= $review->rating ; $i++)
|
||||
<span class="icon star-icon"></span>
|
||||
@endfor
|
||||
</div>
|
||||
<div class="message">
|
||||
{{ $review->comment }}
|
||||
</div>
|
||||
<div class="reviewer-details">
|
||||
<span class="by">
|
||||
{{ __('shop::app.products.by', ['name' => $review->customer->name]) }}
|
||||
</span>
|
||||
<span class="when">
|
||||
{{ core()->formatDate($review->created_at) }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="rating-reviews">
|
||||
{{-- <div class="rating-header">
|
||||
{{ __('shop::app.products.reviews-title') }}
|
||||
</div> --}}
|
||||
|
||||
<div class="reviews">
|
||||
|
||||
@foreach ($reviewHelper->getReviews($product)->paginate(10) as $review)
|
||||
<div class="review">
|
||||
<div class="title">
|
||||
{{ $review->title }}
|
||||
</div>
|
||||
|
||||
<span class="stars">
|
||||
@for ($i = 1; $i <= $review->rating; $i++)
|
||||
|
||||
<span class="icon star-icon"></span>
|
||||
|
||||
@endfor
|
||||
</span>
|
||||
|
||||
<div class="message">
|
||||
{{ $review->comment }}
|
||||
</div>
|
||||
|
||||
<div class="reviewer-details">
|
||||
<span class="by">
|
||||
{{ __('shop::app.products.by', ['name' => $review->customer->name]) }},
|
||||
</span>
|
||||
|
||||
<span class="when">
|
||||
{{ core()->formatDate($review->created_at) }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
<a href="{{ route('shop.reviews.index', $product->url_key) }}" class="view-all">View All</a>
|
||||
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
<div class="view-all" onclick="loadMore()">Load More</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
|
|
@ -131,26 +151,20 @@
|
|||
<?php } ?>
|
||||
|
||||
var i=5;
|
||||
|
||||
for(var key in percentage){
|
||||
width= percentage[key] * 1.58;
|
||||
width= percentage[key] ;
|
||||
let id =key + 'star';
|
||||
document.getElementById(key).style.width = width + "px";
|
||||
|
||||
document.getElementById(key).style.width = width + "%";
|
||||
document.getElementById(key).style.height = 4 + "px";
|
||||
document.getElementById(id).innerHTML = i + '\xa0\xa0' + "star";
|
||||
document.getElementById(id).innerHTML = i ;
|
||||
i--;
|
||||
|
||||
{{-- document.getElementById(id).innerHTML = i + '\xa0\xa0' + "star"; --}}
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
function loadMore(){
|
||||
var segment_str = window.location.pathname;
|
||||
var segment_array = segment_str.split( '/' );
|
||||
var last_segment = segment_array[segment_array.length - 1];
|
||||
url = segment_str.slice(0, segment_str.lastIndexOf('/'));
|
||||
project = url + "/" + (parseInt(last_segment)+1) ;
|
||||
location.href = project;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@endpush
|
||||
|
|
@ -1 +0,0 @@
|
|||
wevf bebv
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
<!--<div class="category-breadcrumbs">
|
||||
<span class="breadcrumb">Home</span> > <span class="breadcrumb">Men</span> > <span class="breadcrumb">Slit Open Jeans</span>
|
||||
</div>-->
|
||||
|
||||
|
||||
<div class="layouter">
|
||||
<form method="POST" action="{{ route('cart.add', $product->id) }}" @submit.prevent="onSubmit">
|
||||
@csrf()
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class TaxCategoryController extends Controller
|
|||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
TaxCategory $taxCategory,
|
||||
TaxCategory $taxCategory,
|
||||
TaxRate $taxRate,
|
||||
TaxMap $taxMap
|
||||
)
|
||||
|
|
@ -165,16 +165,21 @@ class TaxCategoryController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Destroy a tax category
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @return mixed
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
if($this->taxCategory->count() == 1) {
|
||||
session()->flash('error', 'At least one tax category is required.');
|
||||
} else {
|
||||
$this->taxCategorye->delete($id);
|
||||
|
||||
public function destroy($id) {
|
||||
if($this->taxCategory()->delete($id)) {
|
||||
session()->flash('success', 'The tax category is successfully deleted');
|
||||
|
||||
return redirect()->back();
|
||||
session()->flash('success', 'Tax category deleted successfully.');
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
|
@ -86,7 +86,4 @@ class TaxController extends Controller
|
|||
{
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -152,6 +152,25 @@ class TaxRateController extends Controller
|
|||
return redirect()->back();
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
if($this->taxRate->count() == 1) {
|
||||
session()->flash('error', 'At least one tax rate is required.');
|
||||
} else {
|
||||
$this->taxRate->delete($id);
|
||||
|
||||
session()->flash('success', 'Tax rate deleted successfully.');
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
|
@ -880,9 +880,7 @@ h2 {
|
|||
height: 48px;
|
||||
display: inline-block;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
margin-left: 18.5%;
|
||||
margin-top: 15%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cp-round:before {
|
||||
|
|
@ -916,7 +914,6 @@ h2 {
|
|||
top: 0;
|
||||
left: 0;
|
||||
animation: spin 1s ease-in-out infinite;
|
||||
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
|
|
|
|||
|
|
@ -127,17 +127,10 @@
|
|||
height: 18px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 425px) {
|
||||
.product-card {
|
||||
font-size: 90%;
|
||||
}
|
||||
.product-card .btn.btn-md {
|
||||
padding: 5px;
|
||||
}
|
||||
.product-grid-4 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 10px;
|
||||
}
|
||||
.icon-menu-close-adj {
|
||||
background-image: url("../images/cross-icon-adj.svg");
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.add-to-wishlist .wishlist-icon:hover {
|
||||
|
|
@ -387,143 +380,6 @@ body {
|
|||
margin-top: 90px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 551px) {
|
||||
.product-grid-3 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 840px) {
|
||||
.layered-filter-wrapper {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block {
|
||||
width: 100% !important;
|
||||
}
|
||||
.main .category-block .top-toolbar {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
}
|
||||
.main .category-block .top-toolbar .page-info span:first-child {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block .top-toolbar .page-info span:last-child {
|
||||
display: inline;
|
||||
}
|
||||
.main .category-block .top-toolbar .pager .view-mode {
|
||||
margin-right: 0px;
|
||||
}
|
||||
.main .category-block .top-toolbar .pager .view-mode .grid-view, .main .category-block .top-toolbar .pager .view-mode .list-view {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block .top-toolbar .pager .view-mode .sort-filter {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.main .category-block .top-toolbar .pager .sorter, .main .category-block .top-toolbar .pager .limiter {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block .reponsive-sorter-limiter {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block .reponsive-sorter-limiter select {
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #C7C7C7;
|
||||
border-radius: 3px;
|
||||
color: #242424;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.layered-filter-wrapper {
|
||||
width: 25%;
|
||||
float: left;
|
||||
padding-right: 20px;
|
||||
min-height: 1px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-title {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
color: #242424;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title {
|
||||
padding: 10px 40px 0 10px;
|
||||
color: #5E5E5E;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .remove-filter-link {
|
||||
font-weight: 400;
|
||||
color: #0031F0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .icon {
|
||||
background-image: url("../images/arrow-down.svg") !important;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 14px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content {
|
||||
padding: 10px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none none;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item {
|
||||
padding: 8px 0;
|
||||
color: #5E5E5E;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox .checkbox-view {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
background-image: url("../images/checkbox.svg");
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox input:checked + .checkbox-view {
|
||||
background-image: url("../images/checkbox-checked.svg");
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content .price-range-wrapper {
|
||||
margin-top: 21px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-title .icon {
|
||||
background-image: url("../images//arrow-up.svg") !important;
|
||||
}
|
||||
|
||||
.responsive-layred-filter {
|
||||
width: 100%;
|
||||
float: none;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.main-container-wrapper {
|
||||
max-width: 1300px;
|
||||
width: auto;
|
||||
|
|
@ -552,6 +408,13 @@ body {
|
|||
grid-auto-rows: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 551px) {
|
||||
.main-container-wrapper .product-grid-3 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 854px) {
|
||||
.main-container-wrapper .product-grid-4 {
|
||||
grid-template-columns: 29.5% 29.5% 29.5%;
|
||||
|
|
@ -646,6 +509,19 @@ body {
|
|||
background: #2ED04C;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 425px) {
|
||||
.main-container-wrapper .product-card {
|
||||
font-size: 90%;
|
||||
}
|
||||
.main-container-wrapper .product-card .btn.btn-md {
|
||||
padding: 5px;
|
||||
}
|
||||
.main-container-wrapper .product-grid-4 {
|
||||
grid-template-columns: 48.5% 48.5%;
|
||||
grid-column-gap: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.main-container-wrapper .product-list {
|
||||
min-height: 200px;
|
||||
}
|
||||
|
|
@ -1323,13 +1199,40 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
border-top: 1px solid #C7C7C7;
|
||||
}
|
||||
|
||||
.header .responsive-nav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media all and (max-width: 720px) {
|
||||
.header-bottom {
|
||||
display: none !important;
|
||||
.header .header-bottom {
|
||||
height: auto;
|
||||
display: none;
|
||||
}
|
||||
.header .header-bottom .nav a {
|
||||
display: inline-block;
|
||||
}
|
||||
.header .header-bottom ul.nav, .header .header-bottom .nav li {
|
||||
height: auto;
|
||||
}
|
||||
.header .header-bottom .nav > li {
|
||||
float: none;
|
||||
}
|
||||
.header .header-bottom .nav li > .icon {
|
||||
float: right;
|
||||
display: block;
|
||||
}
|
||||
.header .header-bottom .nav li .left {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
.header .header-bottom .nav li a > .icon {
|
||||
display: none;
|
||||
}
|
||||
.header .header-bottom .nav ul {
|
||||
position: unset;
|
||||
border: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.header .header-bottom .nav > li li:hover > ul {
|
||||
margin-left: 0px;
|
||||
top: 0px;
|
||||
}
|
||||
ul.search-container {
|
||||
display: none !important;
|
||||
|
|
@ -1345,42 +1248,6 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
display: -ms-flexbox !important;
|
||||
display: flex !important;
|
||||
}
|
||||
.responsive-nav {
|
||||
margin-top: 20px;
|
||||
display: none;
|
||||
}
|
||||
.responsive-nav .nav a {
|
||||
display: inline-block;
|
||||
color: #242424;
|
||||
text-decoration: none;
|
||||
padding: 12px 4.8px 12px 8px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
.responsive-nav .nav li > .icon {
|
||||
float: right;
|
||||
}
|
||||
.responsive-nav .nav li a > .icon {
|
||||
display: none;
|
||||
}
|
||||
.responsive-nav .nav > li {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
}
|
||||
.responsive-nav .nav li ul {
|
||||
padding-left: 30px;
|
||||
}
|
||||
.responsive-nav .nav li:first-child {
|
||||
border-top: 1px solid #C7C7C7;
|
||||
}
|
||||
.responsive-nav .nav > li:last-child {
|
||||
float: none;
|
||||
height: 45px;
|
||||
display: none;
|
||||
border: none;
|
||||
}
|
||||
.responsive-nav .nav > li:last-child img {
|
||||
margin-right: 6px;
|
||||
}
|
||||
}
|
||||
|
||||
.footer {
|
||||
|
|
@ -1466,6 +1333,95 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper, .main .category-container .responsive-layred-filter {
|
||||
width: 25%;
|
||||
float: left;
|
||||
padding-right: 20px;
|
||||
min-height: 1px;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-title, .main .category-container .responsive-layred-filter .filter-title {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
color: #242424;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-title {
|
||||
padding: 10px 40px 0 10px;
|
||||
color: #5E5E5E;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .remove-filter-link, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-title .remove-filter-link {
|
||||
font-weight: 400;
|
||||
color: #0031F0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .icon, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-title .icon {
|
||||
background-image: url("../images/arrow-down.svg") !important;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 14px;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content {
|
||||
padding: 10px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none none;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item {
|
||||
padding: 8px 0;
|
||||
color: #5E5E5E;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox .checkbox-view, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox .checkbox-view {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
background-image: url("../images/checkbox.svg");
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox input:checked + .checkbox-view, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox input:checked + .checkbox-view {
|
||||
background-image: url("../images/checkbox-checked.svg");
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content .price-range-wrapper, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content .price-range-wrapper {
|
||||
margin-top: 21px;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-content, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item.active .filter-attributes-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.main .category-container .layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-title .icon, .main .category-container .responsive-layred-filter .filter-attributes .filter-attributes-item.active .filter-attributes-title .icon {
|
||||
background-image: url("../images//arrow-up.svg") !important;
|
||||
}
|
||||
|
||||
.main .category-container .responsive-layred-filter {
|
||||
display: none;
|
||||
width: 100%;
|
||||
float: none;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.main .category-container .category-block {
|
||||
width: 80%;
|
||||
display: block;
|
||||
|
|
@ -1494,12 +1450,12 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
line-height: 45px;
|
||||
}
|
||||
|
||||
.main .top-toolbar .page-info span:first-child {
|
||||
display: inline;
|
||||
.main .top-toolbar .page-info span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main .top-toolbar .page-info span:last-child {
|
||||
display: none;
|
||||
.main .top-toolbar .page-info span:first-child {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.main .top-toolbar .pager {
|
||||
|
|
@ -1545,14 +1501,6 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
.main .reponsive-sorter-limiter {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main .responsive-layred-filter {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main .bottom-toolbar {
|
||||
display: block;
|
||||
margin-top: 40px;
|
||||
|
|
@ -1560,6 +1508,48 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 840px) {
|
||||
.main .layered-filter-wrapper, .main .category-container .responsive-layred-filter {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block {
|
||||
width: 100% !important;
|
||||
}
|
||||
.main .category-block .top-toolbar {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
.main .category-block .top-toolbar .page-info {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
line-height: 15px;
|
||||
}
|
||||
.main .category-block .top-toolbar .page-info span {
|
||||
display: inline;
|
||||
}
|
||||
.main .category-block .top-toolbar .page-info span:first-child {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block .top-toolbar .page-info .sort-filter {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
.main .category-block .top-toolbar .pager {
|
||||
margin-top: 20px;
|
||||
display: none;
|
||||
}
|
||||
.main .category-block .top-toolbar .pager .view-mode {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block .responsive-layred-filter {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
section.product-detail {
|
||||
color: #242424;
|
||||
}
|
||||
|
|
@ -2347,10 +2337,6 @@ section.cart .cart-content .right-side {
|
|||
margin-right: auto;
|
||||
}
|
||||
|
||||
section.review {
|
||||
color: #242424;
|
||||
}
|
||||
|
||||
section.review .category-breadcrumbs {
|
||||
display: inline;
|
||||
}
|
||||
|
|
@ -2359,42 +2345,30 @@ section.review .review-layouter {
|
|||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: horizontal;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: row;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info .product-image img {
|
||||
display: block;
|
||||
height: 280px;
|
||||
width: 280px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info .product-name {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info .product-name span {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info .product-price {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info .product-price .pro-price {
|
||||
font-size: 24px;
|
||||
color: #FF6472;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info .product-price .pro-price-not {
|
||||
margin-left: 10px;
|
||||
font-size: 16px;
|
||||
color: #A5A5A5;
|
||||
}
|
||||
|
||||
section.review .review-layouter .product-info .product-price .offer {
|
||||
margin-left: 10px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form {
|
||||
|
|
@ -2403,69 +2377,44 @@ section.review .review-layouter .review-form {
|
|||
}
|
||||
|
||||
section.review .review-layouter .review-form .heading {
|
||||
margin-top: 10px;
|
||||
color: #242424;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .heading .btn.btn-primary.right {
|
||||
section.review .review-layouter .review-form .heading .right {
|
||||
float: right;
|
||||
margin-top: -10px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .rating {
|
||||
margin-top: 25px;
|
||||
color: #A5A5A5;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .rating span {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .stars {
|
||||
width: 270px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .stars label.star {
|
||||
font-size: 36px;
|
||||
section.review .review-layouter .review-form .rating label.star {
|
||||
font-size: 25px;
|
||||
color: #d4d4d4;
|
||||
-webkit-transition: all .2s;
|
||||
transition: all .2s;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .stars label.star:before {
|
||||
section.review .review-layouter .review-form .rating label.star:before {
|
||||
content: '\2605';
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .write-review {
|
||||
margin-top: 25px;
|
||||
section.review .review-layouter .review-form .write-review label {
|
||||
color: #A5A5A5;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .write-review .control-group {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .write-review .control-group textarea {
|
||||
section.review .review-layouter .review-form .write-review textarea {
|
||||
margin-top: 5px;
|
||||
border: 2px solid #C7C7C7;
|
||||
color: #A5A5A5;
|
||||
border-radius: 3px;
|
||||
width: 600px;
|
||||
width: 90%;
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .submit-button {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .submit-button button {
|
||||
background: #0031F0;
|
||||
font-size: 14px;
|
||||
color: #F2F2F2;
|
||||
text-align: center;
|
||||
width: 120px;
|
||||
height: 38px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
section.review .review-layouter .review-form .review-detail {
|
||||
height: 150px;
|
||||
border: 1px solid firebrick;
|
||||
|
|
@ -2495,6 +2444,122 @@ section.review .review-layouter .review-form .review-detail .rating-calculate .p
|
|||
border: 1px solid blue;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .left-side {
|
||||
padding: 40px 20px 40px 20px;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .left-side .rate {
|
||||
font-size: 34px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .left-side .stars.icon {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side .rater {
|
||||
display: -webkit-inline-box;
|
||||
display: -ms-inline-flexbox;
|
||||
display: inline-flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding-top: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side .rater .star-name {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side .rater .rate-number {
|
||||
width: 15px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side .rater .percentage {
|
||||
width: 15%;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side .rater .percentage span {
|
||||
float: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side .rater .line-bar {
|
||||
height: 4px;
|
||||
width: 65%;
|
||||
margin-right: 5px;
|
||||
background: #D8D8D8;
|
||||
}
|
||||
|
||||
section.review .review-layouter .ratings-reviews .right-side .rater .line-bar .line-value {
|
||||
background-color: #0031F0;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
section.review .category-breadcrumbs {
|
||||
display: none;
|
||||
}
|
||||
section.review .review-layouter {
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
section.review .review-layouter .product-info .product-image {
|
||||
max-width: 280px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
section.review .review-layouter .review-form {
|
||||
width: 100%;
|
||||
margin-left: 0px;
|
||||
}
|
||||
section.review .review-layouter .review-form .heading .right {
|
||||
margin-top: 50px;
|
||||
}
|
||||
section.review .review-layouter .review-form .ratings-reviews {
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
}
|
||||
section.review .review-layouter .review-form .ratings-reviews .left-side {
|
||||
width: 100%;
|
||||
padding: 0px 0px 40px 0px;
|
||||
margin-top: -50px;
|
||||
}
|
||||
section.review .review-layouter .review-form .ratings-reviews .right-side {
|
||||
width: 100%;
|
||||
}
|
||||
section.review .review-layouter .review-form .ratings-reviews .right-side .rater .line-bar {
|
||||
width: 100%;
|
||||
}
|
||||
section.review .review-layouter .review-form .ratings-reviews .right-side .rater .percentage {
|
||||
width: 10%;
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.auth-content {
|
||||
padding-top: 15%;
|
||||
padding-bottom: 15%;
|
||||
|
|
@ -2651,6 +2716,80 @@ section.review .review-layouter .review-form .review-detail .rating-calculate .p
|
|||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-head .back-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
.account-content {
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
.account-content .account-side-menu {
|
||||
display: none;
|
||||
width: 100%;
|
||||
border: none;
|
||||
}
|
||||
.account-content .account-side-menu li {
|
||||
margin-left: 0%;
|
||||
width: 100%;
|
||||
}
|
||||
.account-content .account-side-menu li a {
|
||||
color: #242424;
|
||||
}
|
||||
.account-content .responsive-side-menu {
|
||||
cursor: pointer;
|
||||
padding-top: 13px;
|
||||
display: block;
|
||||
height: 46px;
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
border-top: 1px solid #C7C7C7;
|
||||
}
|
||||
.account-content .responsive-side-menu .right {
|
||||
float: right;
|
||||
}
|
||||
.account-content .account-layout {
|
||||
margin-left: 0%;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.account-content .account-layout .account-head {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
border-top: 1px solid #C7C7C7;
|
||||
height: 46px;
|
||||
}
|
||||
.account-content .account-layout .account-head .back-icon {
|
||||
display: block;
|
||||
}
|
||||
.account-content .account-layout .account-head span {
|
||||
margin-top: 12px;
|
||||
font-size: 18px;
|
||||
}
|
||||
.account-content .account-layout .account-head .horizontal-rule {
|
||||
display: none;
|
||||
}
|
||||
.account-content .account-layout .account-table-content {
|
||||
margin-top: 2%;
|
||||
}
|
||||
.account-content .account-layout .account-table-content table tbody tr {
|
||||
display: grid;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.account-content .account-items-list, .account-content .edit-form {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.account-content .control-group .control {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.account-table-content {
|
||||
color: #242424;
|
||||
margin-top: 1.4%;
|
||||
|
|
@ -2735,6 +2874,10 @@ section.review .review-layouter .review-form .review-detail .rating-calculate .p
|
|||
display: block;
|
||||
}
|
||||
|
||||
.sale-container .sale-section .section-content .responsive-table {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sale-container .totals {
|
||||
padding-top: 20px;
|
||||
display: inline-block;
|
||||
|
|
@ -2762,3 +2905,61 @@ section.review .review-layouter .review-form .review-detail .rating-calculate .p
|
|||
.sale-container .totals .sale-summary tr.border td {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
.sale-container .sale-section .section-content .row {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
.sale-container .sale-section .section-content .row .title {
|
||||
line-height: 20px;
|
||||
}
|
||||
.sale-container .sale-section .section-content .table {
|
||||
display: none;
|
||||
}
|
||||
.sale-container .sale-section .section-content .responsive-table {
|
||||
border: 1px solid #C7C7C7;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
.sale-container .sale-section .section-content .responsive-table tbody td {
|
||||
padding: 8px 5px;
|
||||
}
|
||||
.sale-container .sale-section .section-content .responsive-table tbody td:first-child {
|
||||
width: 25%;
|
||||
}
|
||||
.sale-container .sale-section .section-content .responsive-table tbody td:last-child {
|
||||
padding-left: 10px;
|
||||
}
|
||||
.sale-container .sale-section .section-content .totals .sale-summary {
|
||||
width: 100%;
|
||||
}
|
||||
.sale-container .sale-section .section-content .totals .sale-summary tr td:nth-child(2) {
|
||||
display: none;
|
||||
}
|
||||
.sale-container .sale-section .section-content .order-box-container {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
.sale-container .sale-section .section-content .order-box-container .box {
|
||||
width: 100%;
|
||||
margin: 10px auto;
|
||||
}
|
||||
}
|
||||
|
||||
.cp-spinner {
|
||||
margin-left: 46%;
|
||||
margin-top: 35%;
|
||||
margin-bottom: 35%;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/shop.js": "/js/shop.js",
|
||||
"/css/shop.css": "/css/shop.css"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue