commit
66639afb6c
|
|
@ -20,6 +20,7 @@
|
|||
"konekt/concord": "^1.2",
|
||||
"laravel/framework": "5.6.*",
|
||||
"laravel/tinker": "^1.0",
|
||||
"maatwebsite/excel": "3.1.x-dev",
|
||||
"nwidart/laravel-modules": "^3.2",
|
||||
"prettus/l5-repository": "^2.6",
|
||||
"propaganistas/laravel-intl": "^2.0"
|
||||
|
|
|
|||
|
|
@ -194,6 +194,9 @@ return [
|
|||
//Laravel Intervention
|
||||
Intervention\Image\ImageServiceProvider::class,
|
||||
|
||||
//Laravel Maatwebsite
|
||||
Maatwebsite\Excel\ExcelServiceProvider::class,
|
||||
|
||||
//Repository
|
||||
Prettus\Repository\Providers\RepositoryServiceProvider::class,
|
||||
Konekt\Concord\ConcordServiceProvider::class,
|
||||
|
|
@ -274,5 +277,6 @@ return [
|
|||
'Core' => Webkul\Core\Facades\Core::class,
|
||||
'DbView' => Flynsarmy\DbBladeCompiler\Facades\DbView::class,
|
||||
'PDF' => Barryvdh\DomPDF\Facade::class,
|
||||
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
|
||||
],
|
||||
];
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
<?php
|
||||
|
||||
use Maatwebsite\Excel\Excel;
|
||||
|
||||
return [
|
||||
'exports' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Chunk size
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using FromQuery, the query is automatically chunked.
|
||||
| Here you can specify how big the chunk should be.
|
||||
|
|
||||
*/
|
||||
'chunk_size' => 1000,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Temporary path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When exporting files, we use a temporary file, before storing
|
||||
| or downloading. Here you can customize that path.
|
||||
|
|
||||
*/
|
||||
'temp_path' => sys_get_temp_dir(),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pre-calculate formulas during export
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
'pre_calculate_formulas' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| CSV Settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure e.g. delimiter, enclosure and line ending for CSV exports.
|
||||
|
|
||||
*/
|
||||
'csv' => [
|
||||
'delimiter' => ',',
|
||||
'enclosure' => '"',
|
||||
'line_ending' => PHP_EOL,
|
||||
'use_bom' => false,
|
||||
'include_separator_line' => false,
|
||||
'excel_compatibility' => false,
|
||||
],
|
||||
],
|
||||
|
||||
'imports' => [
|
||||
|
||||
'read_only' => true,
|
||||
|
||||
'heading_row' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Heading Row Formatter
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure the heading row formatter.
|
||||
| Available options: none|slug|custom
|
||||
|
|
||||
*/
|
||||
'formatter' => 'slug',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Extension detector
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure here which writer type should be used when
|
||||
| the package needs to guess the correct type
|
||||
| based on the extension alone.
|
||||
|
|
||||
*/
|
||||
'extension_detector' => [
|
||||
'xlsx' => Excel::XLSX,
|
||||
'xlsm' => Excel::XLSX,
|
||||
'xltx' => Excel::XLSX,
|
||||
'xltm' => Excel::XLSX,
|
||||
'xls' => Excel::XLS,
|
||||
'xlt' => Excel::XLS,
|
||||
'ods' => Excel::ODS,
|
||||
'ots' => Excel::ODS,
|
||||
'slk' => Excel::SLK,
|
||||
'xml' => Excel::XML,
|
||||
'gnumeric' => Excel::GNUMERIC,
|
||||
'htm' => Excel::HTML,
|
||||
'html' => Excel::HTML,
|
||||
'csv' => Excel::CSV,
|
||||
'tsv' => Excel::TSV,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| PDF Extension
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure here which Pdf driver should be used by default.
|
||||
| Available options: Excel::MPDF | Excel::TCPDF | Excel::DOMPDF
|
||||
|
|
||||
*/
|
||||
'pdf' => Excel::DOMPDF,
|
||||
],
|
||||
];
|
||||
|
|
@ -25,18 +25,18 @@ class CustomerDataGrid
|
|||
|
||||
return DataGrid::make([
|
||||
'name' => 'Customer',
|
||||
'table' => 'customers',
|
||||
'select' => 'id',
|
||||
'table' => 'customers as cus',
|
||||
'select' => 'cus.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', //select || button only
|
||||
// ],
|
||||
[
|
||||
'route' => route('admin.datagrid.delete'),
|
||||
'method' => 'DELETE',
|
||||
'label' => 'Delete',
|
||||
'type' => 'button', //select || button only
|
||||
],
|
||||
],
|
||||
|
||||
'actions' => [
|
||||
|
|
@ -54,13 +54,19 @@ class CustomerDataGrid
|
|||
],
|
||||
|
||||
'join' => [
|
||||
|
||||
[
|
||||
'join' => 'leftjoin',
|
||||
'table' => 'customer_groups as cg',
|
||||
'primaryKey' => 'cus.customer_group_id',
|
||||
'condition' => '=',
|
||||
'secondaryKey' => 'cg.id',
|
||||
]
|
||||
],
|
||||
|
||||
//use aliasing on secodary columns if join is performed
|
||||
'columns' => [
|
||||
[
|
||||
'name' => 'id',
|
||||
'name' => 'cus.id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'ID',
|
||||
|
|
@ -78,10 +84,10 @@ class CustomerDataGrid
|
|||
'label' => 'Email',
|
||||
'sortable' => false,
|
||||
], [
|
||||
'name' => 'customer_group_id',
|
||||
'alias' => 'CustomerGroupId',
|
||||
'type' => 'number',
|
||||
'label' => 'Group ID',
|
||||
'name' => 'cg.name',
|
||||
'alias' => 'CustomerGroupName',
|
||||
'type' => 'string',
|
||||
'label' => 'Group Name',
|
||||
'sortable' => false,
|
||||
],
|
||||
],
|
||||
|
|
@ -89,7 +95,7 @@ class CustomerDataGrid
|
|||
//don't use aliasing in case of filters
|
||||
'filterable' => [
|
||||
[
|
||||
'column' => 'id',
|
||||
'column' => 'cus.id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'ID',
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ class Handler extends ExceptionHandler
|
|||
*/
|
||||
public function render($request, Exception $exception)
|
||||
{
|
||||
|
||||
if ($exception instanceof HttpException) {
|
||||
$statusCode = $exception->getStatusCode();
|
||||
if (strpos($_SERVER['REQUEST_URI'], 'admin') !== false) {
|
||||
|
|
@ -53,27 +54,26 @@ class Handler extends ExceptionHandler
|
|||
return response()->view('shop::errors.500', [], 500);
|
||||
}
|
||||
}
|
||||
} else if ($exception instanceof ModelNotFoundException) {
|
||||
} else if ($exception instanceof \ModelNotFoundException) {
|
||||
if (strpos($_SERVER['REQUEST_URI'], 'admin') !== false){
|
||||
return response()->view('admin::errors.404', [], 404);
|
||||
}else {
|
||||
return response()->view('shop::errors.404', [], 404);
|
||||
}
|
||||
} else if ($exception instanceof PDOException) {
|
||||
} else if ($exception instanceof \PDOException) {
|
||||
if (strpos($_SERVER['REQUEST_URI'], 'admin') !== false){
|
||||
return response()->view('admin::errors.500', [], 500);
|
||||
} else {
|
||||
return response()->view('shop::errors.500', [], 500);
|
||||
}
|
||||
}
|
||||
// else if ($exception instanceof ErrorException) {
|
||||
// else if ($exception instanceof \ErrorException) {
|
||||
|
||||
// if(strpos($_SERVER['REQUEST_URI'], 'admin') !== false){
|
||||
// return response()->view('admin::errors.500', [], 500);
|
||||
// }else {
|
||||
// return response()->view('shop::errors.500', [], 500);
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
return parent::render($request, $exception);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Admin\Exports;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
|
||||
/**
|
||||
* DataGridExport class
|
||||
*
|
||||
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
|
||||
class DataGridExport implements FromView, ShouldAutoSize
|
||||
{
|
||||
|
||||
/**
|
||||
* DataGrid instance
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
public $gridData;
|
||||
|
||||
/**
|
||||
* Create a new instance.
|
||||
*
|
||||
* @param mixed DataGrid
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($gridData)
|
||||
{
|
||||
$this->gridData = $gridData;
|
||||
}
|
||||
|
||||
|
||||
public function view(): View
|
||||
{
|
||||
$results = $this->gridData->render();
|
||||
|
||||
$header = [];
|
||||
foreach($results->columns as $col) {
|
||||
$header[] = $col->label;
|
||||
}
|
||||
|
||||
return view('admin::export.export', [
|
||||
'results' => $this->gridData->render()->results,
|
||||
'columns' => $this->gridData->render()->columns,
|
||||
'header' => $header
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -9,6 +9,10 @@ use Webkul\Customer\Repositories\CustomerRepository as Customer;
|
|||
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup;
|
||||
use Webkul\Core\Repositories\ChannelRepository as Channel;
|
||||
|
||||
use Webkul\Admin\DataGrids\CustomerDataGrid as CustomerDataGrid;
|
||||
use Webkul\Admin\Exports\DataGridExport;
|
||||
use Excel;
|
||||
|
||||
/**
|
||||
* Customer controlller
|
||||
*
|
||||
|
|
@ -45,23 +49,36 @@ class CustomerController extends Controller
|
|||
*/
|
||||
protected $channel;
|
||||
|
||||
/**
|
||||
* CustomerDataGrid object
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $customerDataGrid;
|
||||
|
||||
/**
|
||||
* 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;
|
||||
* @param Webkul\Admin\DataGrids\CustomerDataGrid as customerDataGrid;
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Customer $customer, CustomerGroup $customerGroup, Channel $channel )
|
||||
public function __construct(Customer $customer, CustomerGroup $customerGroup, Channel $channel, CustomerDataGrid $customerDataGrid)
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->middleware('admin');
|
||||
|
||||
$this->customer = $customer;
|
||||
|
||||
$this->customerGroup = $customerGroup;
|
||||
|
||||
$this->channel = $channel;
|
||||
|
||||
$this->customerDataGrid = $customerDataGrid;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -173,4 +190,15 @@ class CustomerController extends Controller
|
|||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
/**
|
||||
* function to export datagrid
|
||||
*
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
$data = $this->customerDataGrid;
|
||||
|
||||
return Excel::download(new DataGridExport($data), 'customers.xlsx');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@ class CustomerGroupController extends Controller
|
|||
{
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->middleware('admin');
|
||||
|
||||
$this->customerGroup = $customerGroup;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,9 @@ Route::group(['middleware' => ['web']], function () {
|
|||
|
||||
Route::get('customers/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerController@destroy')->name('admin.customer.delete');
|
||||
|
||||
//DataGrid Export
|
||||
Route::get('customer-export', 'Webkul\Admin\Http\Controllers\Customer\CustomerController@export')->name('admin.customer.export');
|
||||
|
||||
Route::get('reviews', 'Webkul\Product\Http\Controllers\ReviewController@index')->defaults('_config',[
|
||||
'view' => 'admin::customers.review.index'
|
||||
])->name('admin.customer.review.index');
|
||||
|
|
|
|||
|
|
@ -531,7 +531,8 @@ return [
|
|||
'channel_name' => 'Channel Name',
|
||||
'state' => 'State',
|
||||
'select-state' => 'Select a region, state or province.',
|
||||
'country' => 'Country'
|
||||
'country' => 'Country',
|
||||
'export' => 'Export'
|
||||
],
|
||||
'reviews' => [
|
||||
'title' => 'Reviews',
|
||||
|
|
|
|||
|
|
@ -15,9 +15,14 @@
|
|||
<a href="{{ route('admin.customer.create') }}" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.customers.add-title') }}
|
||||
</a>
|
||||
|
||||
<a href="{{ route('admin.customer.export') }}" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.customers.export') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page-content">
|
||||
@inject('customer','Webkul\Admin\DataGrids\CustomerDataGrid')
|
||||
{!! $customer->render() !!}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@foreach($header as $col)
|
||||
<th> {{ $col}} </th>
|
||||
@endforeach
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($results as $result)
|
||||
<tr>
|
||||
@foreach ($columns as $column)
|
||||
<td class="">{!! $column->render($result) !!}</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
const { mix } = require("laravel-mix");
|
||||
require("laravel-mix-merge-manifest");
|
||||
|
||||
var publicPath = 'publishable/assets';
|
||||
// var publicPath = "../../../public/vendor/webkul/admin/assets";
|
||||
// var publicPath = 'publishable/assets';
|
||||
var publicPath = "../../../public/vendor/webkul/admin/assets";
|
||||
|
||||
mix.setPublicPath(publicPath).mergeManifest();
|
||||
mix.disableNotifications();
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class ProductReviewRepository extends Repository
|
|||
{
|
||||
$customerId = auth()->guard('customer')->user()->id;
|
||||
|
||||
$reviews = $this->model->where(['customer_id'=> $customerId, 'status' => 'approved'])->with('product')->get();
|
||||
$reviews = $this->model->where(['customer_id'=> $customerId])->with('product')->get();
|
||||
|
||||
return $reviews;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,16 @@
|
|||
{
|
||||
<<<<<<< HEAD
|
||||
"/js/shop.js": "/js/shop.js",
|
||||
"/css/shop.css": "/css/shop.css"
|
||||
}
|
||||
=======
|
||||
<<<<<<< HEAD
|
||||
"/js/shop.js": "/js/shop.js",
|
||||
"/css/shop.css": "/css/shop.css"
|
||||
}
|
||||
=======
|
||||
"/js/shop.js": "/js/shop.js?id=c6ba9f43bd31f175a665",
|
||||
"/css/shop.css": "/css/shop.css?id=2a9e3addb8dd8df86f03"
|
||||
}
|
||||
}
|
||||
>>>>>>> 2a2b1e8ec4f3e110fca0b4926f090ed506b81ce5
|
||||
>>>>>>> master
|
||||
|
|
|
|||
|
|
@ -11,4 +11,15 @@ $disc-price: #FF6472;
|
|||
$danger-color: #FF6472;
|
||||
$disc-price-pro: #A5A5A5;
|
||||
$other-font-color: #5E5E5E;
|
||||
$title-color: #8E8E8E;
|
||||
$address-card-border-color: #E8E8E8;
|
||||
$bold-color: #3A3A3A;
|
||||
$sticker-color: #2ED04C;
|
||||
$stock-color: #4CAF50;
|
||||
$rating-color: #FC6868;
|
||||
$star-color: #d4d4d4;
|
||||
$error-color: #ff5656;
|
||||
$line-bar-color: #D8D8D8;
|
||||
$btn-background-color: #fff;
|
||||
$info-color: #204d74;
|
||||
//shop variables ends here
|
||||
|
|
@ -148,7 +148,7 @@ input {
|
|||
//components
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
color: #3A3A3A;
|
||||
color: $bold-color;
|
||||
}
|
||||
|
||||
/* The container */
|
||||
|
|
@ -178,7 +178,7 @@ input {
|
|||
height: 16px;
|
||||
width: 16px;
|
||||
background-color: white;
|
||||
border: 2px solid #FF6472;
|
||||
border: 2px solid $disc-price;
|
||||
border-radius: 50%;
|
||||
}
|
||||
/* Create the indicator (the dot/circle - hidden when not checked) */
|
||||
|
|
@ -194,19 +194,10 @@ input {
|
|||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #FF6472;
|
||||
background: $disc-price;
|
||||
}
|
||||
}
|
||||
|
||||
/* Verify Email */
|
||||
.verify-account {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
background-color: $border-color;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Show the indicator (dot/circle) when checked */
|
||||
.radio-container input:checked ~ .checkmark:after {
|
||||
display: block;
|
||||
|
|
@ -233,13 +224,13 @@ input {
|
|||
}
|
||||
|
||||
.regular-price {
|
||||
color: #A5A5A5;
|
||||
color: $font-color-light;
|
||||
text-decoration: line-through;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.special-price {
|
||||
color: #FF6472;
|
||||
color: $disc-price;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -374,7 +365,7 @@ input {
|
|||
max-height: 350px;
|
||||
max-width: 280px;
|
||||
margin-bottom: 10px;
|
||||
background: #F2F2F2;
|
||||
background: $background-color;
|
||||
|
||||
img {
|
||||
display: block;
|
||||
|
|
@ -435,15 +426,15 @@ input {
|
|||
text-transform: uppercase;
|
||||
padding: 4px 13px;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
color: $btn-background-color;
|
||||
box-shadow: 1px 1px 1px #cccccc;
|
||||
|
||||
&.sale {
|
||||
background: #FF6472;
|
||||
background: $disc-price;
|
||||
}
|
||||
|
||||
&.new {
|
||||
background: #2ED04C;
|
||||
background: $sticker-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -600,13 +591,6 @@ input {
|
|||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 530px) {
|
||||
.main-container-wrapper {
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
//slider styles
|
||||
section.slider-block {
|
||||
display: block;
|
||||
|
|
@ -773,7 +757,7 @@ section.slider-block {
|
|||
border-bottom-right-radius: 3px;
|
||||
|
||||
button {
|
||||
background: #fff;
|
||||
background: $btn-background-color;
|
||||
border: 0;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
|
|
@ -927,7 +911,7 @@ section.slider-block {
|
|||
}
|
||||
|
||||
.dropdown-content .item-details{
|
||||
max-height: 125px;
|
||||
height: 75px;
|
||||
}
|
||||
|
||||
.item-details .item-name {
|
||||
|
|
@ -980,7 +964,7 @@ section.slider-block {
|
|||
}
|
||||
|
||||
li:last-child {
|
||||
margin-right: 0px;
|
||||
margin-right: -2px;
|
||||
}
|
||||
|
||||
ul {
|
||||
|
|
@ -1145,7 +1129,6 @@ section.slider-block {
|
|||
|
||||
@media all and (max-width: 720px) {
|
||||
.header {
|
||||
|
||||
.currency-switcher {
|
||||
display: none !important;
|
||||
}
|
||||
|
|
@ -1245,7 +1228,7 @@ section.slider-block {
|
|||
padding-top: 25px;
|
||||
|
||||
a {
|
||||
color: #242424;
|
||||
color: $font-color;
|
||||
}
|
||||
|
||||
li {
|
||||
|
|
@ -1319,12 +1302,16 @@ section.slider-block {
|
|||
width: 100%;
|
||||
height: 120px;
|
||||
font-size: 16px;
|
||||
color: #A5A5A5;
|
||||
color: $font-color-light;
|
||||
letter-spacing: -0.26px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
p {
|
||||
padding: 0px 15px;
|
||||
}
|
||||
}
|
||||
|
||||
//category page
|
||||
|
|
@ -1353,7 +1340,7 @@ section.slider-block {
|
|||
|
||||
.filter-attributes-title {
|
||||
padding: 10px 40px 0 10px;
|
||||
color: #5E5E5E;
|
||||
color: $other-font-color;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
|
||||
|
|
@ -1384,7 +1371,7 @@ section.slider-block {
|
|||
|
||||
li.item {
|
||||
padding: 8px 0;
|
||||
color: #5E5E5E;
|
||||
color: $other-font-color;
|
||||
|
||||
.checkbox {
|
||||
margin: 0;
|
||||
|
|
@ -1426,6 +1413,7 @@ section.slider-block {
|
|||
width: 100%;
|
||||
float: none;
|
||||
padding-right: 0px;
|
||||
margin-top: -25px !important;
|
||||
}
|
||||
|
||||
.category-block {
|
||||
|
|
@ -1657,7 +1645,6 @@ section.product-detail {
|
|||
width: 100%;
|
||||
max-height: 480px;
|
||||
height: 100%;
|
||||
box-shadow: 1px 1px 2px $border-color;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
|
|
@ -1754,10 +1741,10 @@ section.product-detail {
|
|||
.stock-status {
|
||||
margin-bottom: 15px;
|
||||
font-weight: 600;
|
||||
color: #FC6868;
|
||||
color: $rating-color;
|
||||
|
||||
&.active {
|
||||
color: #4CAF50;
|
||||
color: $stock-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1812,7 +1799,7 @@ section.product-detail {
|
|||
|
||||
// product pages responsive css start here
|
||||
@media only screen and (max-width: 720px) {
|
||||
section.product-detail div.layouter form {
|
||||
section.product-detail div.layouter .form-container {
|
||||
flex-direction: column;
|
||||
|
||||
div.product-image-group {
|
||||
|
|
@ -1856,6 +1843,15 @@ section.product-detail {
|
|||
width: 480px;
|
||||
}
|
||||
}
|
||||
|
||||
.wrap {
|
||||
flex-direction: row;
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
.add-to-buttons {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1867,7 +1863,7 @@ section.product-detail {
|
|||
}
|
||||
|
||||
@media only screen and (max-width: 510px) {
|
||||
section.product-detail div.layouter form {
|
||||
section.product-detail div.layouter .form-container {
|
||||
div.product-image-group {
|
||||
.product-hero-image img {
|
||||
width: 100% !important;
|
||||
|
|
@ -1876,11 +1872,15 @@ section.product-detail {
|
|||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 510px) {
|
||||
section.product-detail div.layouter form {
|
||||
.details {
|
||||
margin-top: -90px;
|
||||
}
|
||||
@media only screen and (max-width: 480px) {
|
||||
section.product-detail div.layouter .form-container .details {
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 360px) {
|
||||
section.product-detail div.layouter .form-container .details {
|
||||
margin-top: -120px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2521,7 +2521,7 @@ section.review {
|
|||
}
|
||||
|
||||
.product-name a {
|
||||
color: #242424;
|
||||
color: $font-color;
|
||||
}
|
||||
|
||||
.product-price {
|
||||
|
|
@ -2547,7 +2547,7 @@ section.review {
|
|||
width: 49%;
|
||||
|
||||
.heading {
|
||||
color: #242424;
|
||||
color: $font-color;
|
||||
font-weight: 600;
|
||||
|
||||
.right {
|
||||
|
|
@ -2557,18 +2557,19 @@ section.review {
|
|||
}
|
||||
|
||||
.rating {
|
||||
color: $font-color-light;
|
||||
color: $bold-color;
|
||||
font-size: 15px;
|
||||
|
||||
.rating-title::after {
|
||||
content: "*";
|
||||
color: #FC6868;
|
||||
color: $rating-color;
|
||||
font-weight: 700;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
label.star {
|
||||
font-size: 25px;
|
||||
color: #d4d4d4;
|
||||
color: $star-color;
|
||||
transition: all .2s;
|
||||
}
|
||||
|
||||
|
|
@ -2578,36 +2579,16 @@ section.review {
|
|||
}
|
||||
|
||||
.control-group {
|
||||
label {
|
||||
color: $font-color-light;
|
||||
font-size: 16px;
|
||||
}
|
||||
.control {
|
||||
width: 90%;
|
||||
color: $font-color-light;
|
||||
}
|
||||
}
|
||||
|
||||
.control-error {
|
||||
color: #ff5656;
|
||||
color: $error-color;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.write-review {
|
||||
label {
|
||||
color: $font-color-light;
|
||||
font-size: 16px;
|
||||
}
|
||||
textarea {
|
||||
margin-top: 5px;
|
||||
border: 2px solid $border-color;
|
||||
color: $font-color-light;
|
||||
border-radius: 3px;
|
||||
width: 90%;
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
.review-detail{
|
||||
height: 150px;
|
||||
border: 1px solid firebrick;
|
||||
|
|
@ -2689,10 +2670,10 @@ section.review {
|
|||
width: calc(100% - 100px);
|
||||
margin-right: 5px;
|
||||
margin-left: 5px;
|
||||
background: #D8D8D8;
|
||||
background: $line-bar-color;
|
||||
|
||||
.line-value {
|
||||
background-color: #0031F0;
|
||||
background-color: $brand-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2724,8 +2705,12 @@ section.review {
|
|||
width: 100%;
|
||||
margin-left: 0px;
|
||||
|
||||
.heading .right {
|
||||
margin-top: 50px;
|
||||
.heading {
|
||||
margin-bottom: 70px;
|
||||
|
||||
.right {
|
||||
margin-top: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.ratings-reviews {
|
||||
|
|
@ -2750,7 +2735,6 @@ section.review {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//review responsive css end here
|
||||
|
||||
|
||||
|
|
@ -2778,7 +2762,7 @@ section.review {
|
|||
border: 1px solid $border-color;
|
||||
flex-direction: column;
|
||||
max-width: 500px;
|
||||
min-width: 380px;
|
||||
min-width: 320px;
|
||||
padding: 25px;
|
||||
|
||||
.login-text {
|
||||
|
|
@ -2844,7 +2828,7 @@ section.review {
|
|||
text-align: center;
|
||||
|
||||
a {
|
||||
color: #5E5E5E;
|
||||
color: $other-font-color;
|
||||
}
|
||||
|
||||
.icon {
|
||||
|
|
@ -3095,13 +3079,13 @@ section.review {
|
|||
}
|
||||
|
||||
.sale-container {
|
||||
color: #5E5E5E;
|
||||
color: $other-font-color;
|
||||
|
||||
.sale-section {
|
||||
|
||||
.secton-title {
|
||||
font-size: 18px;
|
||||
color: #8E8E8E;
|
||||
color: $title-color;
|
||||
padding: 15px 0;
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
|
|
@ -3109,7 +3093,7 @@ section.review {
|
|||
.section-content {
|
||||
display: block;
|
||||
padding: 20px 0;
|
||||
border-bottom: 1px solid #E8E8E8;
|
||||
border-bottom: 1px solid $address-card-border-color;
|
||||
|
||||
.row {
|
||||
display: block;
|
||||
|
|
@ -3138,11 +3122,11 @@ section.review {
|
|||
.box-title {
|
||||
padding: 10px 0;
|
||||
font-size: 18px;
|
||||
color: #8E8E8E;
|
||||
color: $title-color;
|
||||
}
|
||||
|
||||
.box-content {
|
||||
color: #3A3A3A;
|
||||
color: $bold-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3161,7 +3145,7 @@ section.review {
|
|||
padding-top: 20px;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
border-top: solid 1px #E8E8E8;
|
||||
border-top: solid 1px $address-card-border-color;
|
||||
|
||||
.sale-summary {
|
||||
height: 130px;
|
||||
|
|
@ -3173,7 +3157,7 @@ section.review {
|
|||
td {
|
||||
padding: 5px 8px;
|
||||
width: auto;
|
||||
color: #3A3A3A;
|
||||
color: $bold-color;
|
||||
}
|
||||
|
||||
&.bold {
|
||||
|
|
@ -3253,6 +3237,20 @@ section.review {
|
|||
}
|
||||
}
|
||||
|
||||
//verify account
|
||||
.verify-account {
|
||||
text-align: center;
|
||||
background: $info-color;
|
||||
width: 200px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
border-radius: 4px;
|
||||
|
||||
a {
|
||||
color: $btn-background-color !important;
|
||||
}
|
||||
}
|
||||
|
||||
// css for loader
|
||||
.cp-spinner {
|
||||
position: absolute;
|
||||
|
|
@ -3269,3 +3267,493 @@ section.review {
|
|||
}
|
||||
}
|
||||
|
||||
//css for responsive error pages
|
||||
@media only screen and (max-width: 720px) {
|
||||
.error-container .wrapper {
|
||||
flex-direction: column-reverse !important;
|
||||
margin: 10px 0px 20px 0px !important;
|
||||
align-items: start !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// rtl css start here
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
|
||||
//header css start here
|
||||
.header {
|
||||
.header-top {
|
||||
div.left-content {
|
||||
ul.logo-container {
|
||||
margin-right: 0px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
ul.search-container li.search-group {
|
||||
.search-field {
|
||||
border-left: none;
|
||||
border-right: 2px solid $border-color;
|
||||
padding-right: 12px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
.search-icon-wrapper {
|
||||
border: 2px solid $border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.right-content {
|
||||
.currency-switcher .dropdown-list {
|
||||
left: 0px;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
ul.cart-dropdown-container {
|
||||
float: left;
|
||||
margin-left: 0px;
|
||||
|
||||
li.cart-dropdown {
|
||||
.cart-icon {
|
||||
margin-right: 0px;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.dropdown-list {
|
||||
left: 0px !important;
|
||||
right: auto !important;
|
||||
}
|
||||
|
||||
.dropdown-container .dropdown-content .item img {
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.header-bottom {
|
||||
.nav > li {
|
||||
float: right;
|
||||
margin-right: 0px;
|
||||
margin-left: 1px;
|
||||
}
|
||||
|
||||
.nav a {
|
||||
padding: 0.8em 0.5em 0.8em 0.3em !important;
|
||||
}
|
||||
|
||||
.nav li a > .icon {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.nav > li li:hover > ul {
|
||||
left: unset !important;
|
||||
right: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
.search-responsive .search-content .right {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-list {
|
||||
text-align: right;
|
||||
|
||||
&.bottom-right {
|
||||
left: 0px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 720px) {
|
||||
.header{
|
||||
.header-top ul.right-responsive {
|
||||
margin-left: 0px;
|
||||
|
||||
li {
|
||||
margin: 0px;
|
||||
|
||||
&:last-child {
|
||||
margin-right: 5px;
|
||||
margin-left: -2px;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.header-bottom {
|
||||
.nav > li {
|
||||
float: none;
|
||||
}
|
||||
.nav li > .icon {
|
||||
float: left;
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.icon.icon-arrow-down {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// header css end here
|
||||
|
||||
// slider start
|
||||
section.slider-block div.slider-content div.slider-control {
|
||||
left: 2%;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 720px) {
|
||||
section.slider-block div.slider-content div.slider-control {
|
||||
left: 0%;
|
||||
}
|
||||
}
|
||||
//slider end
|
||||
|
||||
// product card
|
||||
.main-container-wrapper .product-card .sticker {
|
||||
left: auto;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
.main-container-wrapper .product-card .cart-wish-wrap .addtocart {
|
||||
margin-right: 0px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
// product card end
|
||||
|
||||
// product page start here
|
||||
section.product-detail div.layouter .form-container {
|
||||
div.product-image-group {
|
||||
margin-right: 0px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
div .thumb-list {
|
||||
margin-left: 4px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
.details .product-ratings .total-reviews {
|
||||
margin-left: 0px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 720px) {
|
||||
section.product-detail div.layouter .form-container div.product-image-group {
|
||||
margin-right: 0px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
// product page end here
|
||||
|
||||
//category page start here
|
||||
.main .category-container .layered-filter-wrapper, .main .category-container .responsive-layred-filter {
|
||||
padding-right: 0px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.main .top-toolbar {
|
||||
.pager {
|
||||
float: left;
|
||||
|
||||
.view-mode {
|
||||
margin-right: 0px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.sorter {
|
||||
margin-right: 0px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-right: 0px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.page-info {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
//category page end here
|
||||
|
||||
//product review page
|
||||
section.review .review-layouter .review-form {
|
||||
margin-left: 0px;
|
||||
margin-right: 20px;
|
||||
|
||||
.heading .right {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.ratings-reviews .right-side .rater {
|
||||
.star-name {
|
||||
margin-right: 0px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
section.review .review-layouter .review-form {
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
//product review page end here
|
||||
|
||||
//add to cart start here
|
||||
section.cart .cart-content {
|
||||
.left-side {
|
||||
width: 70%;
|
||||
float: right;
|
||||
|
||||
.misc-controls a.link {
|
||||
margin-left: 15px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.right-side {
|
||||
width: 30%;
|
||||
padding-right: 40px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.order-summary .item-detail, .payble-amount {
|
||||
label.right {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
.item div {
|
||||
margin-left: 15px;
|
||||
margin-right: 0px !important;
|
||||
}
|
||||
|
||||
.cart-item-list .item .item-details .misc {
|
||||
div.qty-text {
|
||||
margin-right: 0px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
input.box {
|
||||
margin-right: 0px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.remove {
|
||||
margin-left: 30px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
section.cart .cart-content {
|
||||
.left-side {
|
||||
width: 100%;
|
||||
float: none;
|
||||
}
|
||||
|
||||
.right-side {
|
||||
width: 100%;
|
||||
padding-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//add to cart page end here
|
||||
|
||||
//checkout process page start here
|
||||
.checkout-process {
|
||||
.col-right {
|
||||
padding-left: 0px;
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
.col-main {
|
||||
padding-left: 40px;
|
||||
padding-right: 0px;
|
||||
|
||||
ul.checkout-steps li span {
|
||||
margin-right: 7px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.step-content {
|
||||
.form-header {
|
||||
h1 {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.btn {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
.payment-methods .control-info {
|
||||
margin-right: 28px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.order-description, .address {
|
||||
.pull-left, .billing-address {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-right, .shipping-address {
|
||||
float: left !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
margin: 10px 0px 5px 5px;
|
||||
}
|
||||
|
||||
.radio {
|
||||
margin: 10px 0px 5px 5px;
|
||||
|
||||
.radio-view {
|
||||
margin-left: 5px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
input {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
.checkout-process .col-main {
|
||||
padding-left: 0px;
|
||||
}
|
||||
}
|
||||
//checkout process page end here
|
||||
|
||||
//customer page start here
|
||||
.account-content {
|
||||
.account-layout {
|
||||
margin-left: 0px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
.account-side-menu li {
|
||||
margin-right: 5%;
|
||||
margin-left: 0%;
|
||||
|
||||
.icon {
|
||||
left: 12px;
|
||||
right: auto;
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.account-head .account-action {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.account-item-card {
|
||||
.media-info .info {
|
||||
margin-right: 20px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.operations a span {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
.table table {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.sale-container {
|
||||
.totals .sale-summary {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.sale-section .section-content .order-box-container {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
.account-content {
|
||||
.account-layout {
|
||||
margin-right: 0px;
|
||||
|
||||
.account-head {
|
||||
.account-action {
|
||||
margin-right: 15px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.back-icon {
|
||||
transform: rotate(180deg);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.responsive-side-menu .right {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.account-side-menu li {
|
||||
margin-right: 0%;
|
||||
}
|
||||
}
|
||||
}
|
||||
//customer page end here
|
||||
|
||||
// footer start
|
||||
.footer .footer-content .footer-list-container .list-container .list-group li span.icon {
|
||||
margin-left: 5px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
@media all and (max-width: 720px) {
|
||||
.footer {
|
||||
padding-right: 15px;
|
||||
padding-left: 10%;
|
||||
|
||||
.footer-list-container {
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
// footer end
|
||||
|
||||
// css for loader
|
||||
.cp-spinner {
|
||||
position: absolute;
|
||||
left: auto;
|
||||
right: 26%;
|
||||
margin-top: calc(20% - 80px);
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 720px) {
|
||||
.cp-spinner {
|
||||
right: 50%;
|
||||
margin-right: -24px;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
/// rtl css end here
|
||||
|
|
|
|||
|
|
@ -176,9 +176,13 @@
|
|||
<div class="search-responsive mt-10">
|
||||
<form role="search" action="{{ route('shop.search.index') }}" method="GET" style="display: inherit;">
|
||||
<div class="search-content">
|
||||
<i class="icon icon-search mt-10"></i>
|
||||
<button class="" style="background: none; border: none; padding: 0px;">
|
||||
<i class="icon icon-search mt-10"></i>
|
||||
</button>
|
||||
<input type="search" name="term" class="search mt-5">
|
||||
<i class="icon icon-menu-back right mt-10"></i>
|
||||
<button class="" style="background: none; float: right; border: none; padding: 0px;">
|
||||
<i class="icon icon-menu-back right mt-10"></i>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,6 @@
|
|||
<div class="control-error" v-if="errors.has('rating')">@{{ errors.first('rating') }}</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="control-group mt-20" :class="[errors.has('title') ? 'has-error' : '']">
|
||||
<label for="title" class="required">
|
||||
{{ __('shop::app.reviews.title') }}
|
||||
|
|
@ -84,15 +83,13 @@
|
|||
<span class="control-error" v-if="errors.has('title')">@{{ errors.first('title') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="write-review mt-20">
|
||||
<div class="control-group" :class="[errors.has('title') ? 'has-error' : '']">
|
||||
<label for="review" class="required">
|
||||
{{ __('admin::app.customers.reviews.comment') }}
|
||||
</label>
|
||||
<textarea type="text" class="control" name="comment" v-validate="'required'" value="{{ old('comment') }}">
|
||||
</textarea>
|
||||
<span class="control-error" v-if="errors.has('comment')">@{{ errors.first('comment') }}</span>
|
||||
</div>
|
||||
<div class="control-group" :class="[errors.has('comment') ? 'has-error' : '']">
|
||||
<label for="comment" class="required">
|
||||
{{ __('admin::app.customers.reviews.comment') }}
|
||||
</label>
|
||||
<textarea type="text" class="control" name="comment" v-validate="'required'" value="{{ old('comment') }}">
|
||||
</textarea>
|
||||
<span class="control-error" v-if="errors.has('comment')">@{{ errors.first('comment') }}</span>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
|
|
|
|||
|
|
@ -129,8 +129,6 @@
|
|||
</div>
|
||||
@endforeach
|
||||
|
||||
<a href="{{ route('shop.reviews.index', $product->url_key) }}" class="view-all">View All</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
const { mix } = require("laravel-mix");
|
||||
require("laravel-mix-merge-manifest");
|
||||
|
||||
var publicPath = 'publishable/assets';
|
||||
// var publicPath = "../../../public/themes/default/assets";
|
||||
// var publicPath = 'publishable/assets';
|
||||
var publicPath = "../../../public/themes/default/assets";
|
||||
|
||||
mix.setPublicPath(publicPath).mergeManifest();
|
||||
mix.disableNotifications();
|
||||
|
|
|
|||
Loading…
Reference in New Issue