resolved Confilicts
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/admin.js": "/js/admin.js?id=16e7709105034d93361f",
|
||||
"/css/admin.css": "/css/admin.css?id=9294ee1874614eb6c832"
|
||||
"/js/admin.js": "/js/admin.js?id=94da304c8b02ad3ba649",
|
||||
"/css/admin.css": "/css/admin.css?id=10abda80f2083f91a493"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,13 +2,15 @@
|
|||
|
||||
namespace Webkul\Admin\Http\Controllers\Sales;
|
||||
|
||||
use PDF;
|
||||
use Webkul\Admin\Http\Controllers\Controller;
|
||||
use Webkul\Core\Traits\PDFHandler;
|
||||
use Webkul\Sales\Repositories\InvoiceRepository;
|
||||
use Webkul\Sales\Repositories\OrderRepository;
|
||||
|
||||
class InvoiceController extends Controller
|
||||
{
|
||||
use PDFHandler;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
|
|
@ -137,33 +139,13 @@ class InvoiceController extends Controller
|
|||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function print($id) {
|
||||
public function printInvoice($id)
|
||||
{
|
||||
$invoice = $this->invoiceRepository->findOrFail($id);
|
||||
|
||||
$html = view('admin::sales.invoices.pdf', compact('invoice'))->render();
|
||||
|
||||
return PDF::loadHTML($this->adjustArabicAndPersianContent($html))
|
||||
->setPaper('a4')
|
||||
->download('invoice-' . $invoice->created_at->format('d-m-Y') . '.pdf');
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust arabic and persian content.
|
||||
*
|
||||
* @param string $html
|
||||
* @return string
|
||||
*/
|
||||
private function adjustArabicAndPersianContent($html)
|
||||
{
|
||||
$arabic = new \ArPHP\I18N\Arabic();
|
||||
|
||||
$p = $arabic->arIdentify($html);
|
||||
|
||||
for ($i = count($p) - 1; $i >= 0; $i -= 2) {
|
||||
$utf8ar = $arabic->utf8Glyphs(substr($html, $p[$i - 1], $p[$i] - $p[$i - 1]));
|
||||
$html = substr_replace($html, $utf8ar, $p[$i - 1], $p[$i] - $p[$i - 1]);
|
||||
}
|
||||
|
||||
return $html;
|
||||
return $this->downloadPDF(
|
||||
view('admin::sales.invoices.pdf', compact('invoice'))->render(),
|
||||
'invoice-' . $invoice->created_at->format('d-m-Y')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="notifications">
|
||||
<div class="dropdown-toggle">
|
||||
<div class="dropdown-toggle" data-toggle="tooltip" data-placement="bottom" :title="notifTitle">
|
||||
<span class="notification-badge" v-if="totalUnRead">{{ totalUnRead }}</span>
|
||||
<i class="icon notification-icon active" style="margin-left:0px"></i>
|
||||
</div>
|
||||
|
|
@ -90,6 +90,7 @@
|
|||
export default {
|
||||
|
||||
props: [
|
||||
'notifTitle',
|
||||
'getNotificationUrl',
|
||||
'viewAll',
|
||||
'orderViewUrl',
|
||||
|
|
|
|||
|
|
@ -52,25 +52,71 @@
|
|||
|
||||
.cart-rule-conditions,
|
||||
.catalog-rule-conditions {
|
||||
table {
|
||||
td {
|
||||
&.attribute {
|
||||
width: 250px;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
&.operator,
|
||||
&.value {
|
||||
width: 260px;
|
||||
}
|
||||
display: flex;
|
||||
column-gap: 10px;
|
||||
|
||||
.attribute ,.operator,.value {
|
||||
width: 25%;
|
||||
padding-left: 0;
|
||||
|
||||
&.actions {
|
||||
width: 44px;
|
||||
|
||||
.icon {
|
||||
margin-top: 6px;
|
||||
}
|
||||
.control-group{
|
||||
.control {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
.date:after{
|
||||
top:30% !important;
|
||||
}
|
||||
|
||||
.cross-icon{
|
||||
top:35% !important;
|
||||
}
|
||||
}
|
||||
|
||||
.actions {
|
||||
width: 44px;
|
||||
|
||||
.icon {
|
||||
margin-top: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 770px) {
|
||||
.cart-rule-conditions,
|
||||
.catalog-rule-conditions {
|
||||
display: block;
|
||||
border: 1px solid #e8e8e8;
|
||||
padding: 10px;
|
||||
|
||||
.attribute ,.operator,.value {
|
||||
width: 100%;
|
||||
padding-left: 0;
|
||||
|
||||
.control-group{
|
||||
.control {
|
||||
width: 100% !important;
|
||||
margin-top: 0px !important;
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.date:after{
|
||||
top:18% !important;
|
||||
}
|
||||
|
||||
.cross-icon{
|
||||
top:20% !important;
|
||||
}
|
||||
}
|
||||
|
||||
.actions {
|
||||
width: 44px;
|
||||
|
||||
.icon {
|
||||
margin: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -87,6 +87,24 @@ body {
|
|||
color: #a2a2a2;
|
||||
}
|
||||
|
||||
.profile-info-div{
|
||||
display: flex;
|
||||
|
||||
.profile-info-icon{
|
||||
height: 31px;
|
||||
width: 30px;
|
||||
background: #3c41ff;
|
||||
padding: 6px;
|
||||
text-align: center;
|
||||
font-size: 17px;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
border-radius: 50%;
|
||||
margin-right: 6px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-list {
|
||||
top: 63px;
|
||||
right: 0px;
|
||||
|
|
@ -104,10 +122,6 @@ body {
|
|||
display: block;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
i.icon {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.notifications {
|
||||
|
|
|
|||
|
|
@ -1565,4 +1565,28 @@ return [
|
|||
'resource-not-found' => 'تحذير: مطلوب :resource غير موجود في السجل.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'تنبيه',
|
||||
'title-plural' => 'إشعارات',
|
||||
'status' => [
|
||||
'all' => 'الجميع',
|
||||
'pending' => 'ريثما',
|
||||
'processing' => 'معالجة',
|
||||
'canceled' => 'ألغيت',
|
||||
'closed' => 'مغلق',
|
||||
'completed' => 'منجز',
|
||||
],
|
||||
'view-all' => 'عرض جميع الإخطارات',
|
||||
'no-record' => 'لا يوجد سجلات',
|
||||
'read-all' => 'ضع إشارة مقروء',
|
||||
'notification-marked-success' => 'تم تعليم الإخطار بنجاح',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'تم اكتمال الطلب',
|
||||
'closed' => 'الطلب مغلق',
|
||||
'canceled' => 'تم إلغاء الطلب',
|
||||
'pending' => 'انتظار الطلب',
|
||||
'processing' => 'معالجة الطلب',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1542,4 +1542,28 @@ return [
|
|||
'resource-not-found' => 'Warnung: Angeforderte :resource nicht im Datensatz gefunden.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Benachrichtigung',
|
||||
'title-plural' => 'Benachrichtigungen',
|
||||
'status' => [
|
||||
'all' => 'Alle',
|
||||
'pending' => 'Anhängig',
|
||||
'processing' => 'Verarbeitung',
|
||||
'canceled' => 'Abgebrochen',
|
||||
'closed' => 'Geschlossen',
|
||||
'completed' => 'Abgeschlossen',
|
||||
],
|
||||
'view-all' => 'Alle Benachrichtigungen anzeigen',
|
||||
'no-record' => 'Kein Datensatz gefunden',
|
||||
'read-all' => 'Als gelesen markieren',
|
||||
'notification-marked-success' => 'Benachrichtigung erfolgreich markiert',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Bestellung abgeschlossen',
|
||||
'closed' => 'Bestellung geschlossen',
|
||||
'canceled' => 'Bestellung storniert',
|
||||
'pending' => 'Bestellung ausstehend',
|
||||
'processing' => 'Auftragsabwicklung',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1594,7 +1594,7 @@ return [
|
|||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Notification',
|
||||
'notification-title' => 'Notification',
|
||||
'title-plural' => 'Notifications',
|
||||
'status' => [
|
||||
'all' => 'All',
|
||||
|
|
|
|||
|
|
@ -1572,4 +1572,28 @@ return [
|
|||
'resource-not-found' => 'Advertencia: Solicitado :resource no encontrado en el registro.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Notificación',
|
||||
'title-plural' => 'Notificaciones',
|
||||
'status' => [
|
||||
'all' => 'todo',
|
||||
'pending' => 'Pendiente',
|
||||
'processing' => 'Procesando',
|
||||
'canceled' => 'cancelar',
|
||||
'closed' => 'Cerrado',
|
||||
'completed' => 'terminado',
|
||||
],
|
||||
'view-all' => 'Ver todas las notificaciones',
|
||||
'no-record' => 'ningún record fue encontrado',
|
||||
'read-all' => 'Marcar como leído',
|
||||
'notification-marked-success' => 'Notificación marcada con éxito',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Pedido completado',
|
||||
'closed' => 'Orden Cerrada',
|
||||
'canceled' => 'Orden cancelada',
|
||||
'pending' => 'Orden pendiente',
|
||||
'processing' => 'procesando orden',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1557,4 +1557,28 @@ return [
|
|||
'resource-not-found' => 'Warning: Requested :resource not found in the record.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'اطلاع',
|
||||
'title-plural' => 'اطلاعیه',
|
||||
'status' => [
|
||||
'all' => 'همه',
|
||||
'pending' => 'در انتظار',
|
||||
'processing' => 'در حال پردازش',
|
||||
'canceled' => 'لغو شد',
|
||||
'closed' => 'بسته شد',
|
||||
'completed' => 'تکمیل شد',
|
||||
],
|
||||
'view-all' => 'مشاهده همه اعلان ها',
|
||||
'no-record' => 'هیچ سابقه ای یافت نشد',
|
||||
'read-all' => 'به عنوان خوانده شده علامت بزن',
|
||||
'notification-marked-success' => 'اعلان با موفقیت علامت گذاری شد',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'سفارش تکمیل شد',
|
||||
'closed' => 'سفارش بسته شد',
|
||||
'canceled' => 'سفارش لغو شد',
|
||||
'pending' => 'سفارش در انتظار',
|
||||
'processing' => 'پردازش سفارش',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1586,4 +1586,28 @@ return [
|
|||
'resource-not-found' => 'Avertissement : requise :resource introuvable dans l\'enregistrement.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Ilmoitus',
|
||||
'title-plural' => 'Ilmoitukset',
|
||||
'status' => [
|
||||
'all' => 'Kaikki',
|
||||
'pending' => 'Odottaa',
|
||||
'processing' => 'Käsittely',
|
||||
'canceled' => 'Peruutettu',
|
||||
'closed' => 'Suljettu',
|
||||
'completed' => 'Valmis',
|
||||
],
|
||||
'view-all' => 'Näytä kaikki ilmoitukset',
|
||||
'no-record' => 'Tietuetta ei löydy',
|
||||
'read-all' => 'Merkitse luetuksi',
|
||||
'notification-marked-success' => 'Ilmoitus merkitty onnistuneesti',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Tilaus valmis',
|
||||
'closed' => 'Tilaus suljettu',
|
||||
'canceled' => 'Tilaus peruutettu',
|
||||
'pending' => 'Tilaus vireillä',
|
||||
'processing' => 'Tilausta Käsitellään',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1562,4 +1562,28 @@ return [
|
|||
'resource-not-found' => 'Avvertimento: Richiesto :resource non trovata nel record.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Notifica',
|
||||
'title-plural' => 'Notifiche',
|
||||
'status' => [
|
||||
'all' => 'Tutto',
|
||||
'pending' => 'In attesa di',
|
||||
'processing' => 'in lavorazione',
|
||||
'canceled' => 'annullato',
|
||||
'closed' => 'chiuso',
|
||||
'completed' => 'Completato',
|
||||
],
|
||||
'view-all' => 'Visualizza tutte le notifiche',
|
||||
'no-record' => 'Nessun record trovato',
|
||||
'read-all' => 'Segna come letto',
|
||||
'notification-marked-success' => 'Notifica contrassegnata con successo',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Ordine completato',
|
||||
'closed' => 'Ordine chiuso',
|
||||
'canceled' => 'Ordine annullato',
|
||||
'pending' => 'ordine pendente',
|
||||
'processing' => "Elaborazione dell'ordine",
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1555,4 +1555,28 @@ return [
|
|||
'resource-not-found' => 'Waarschuwing: Gevraagd :resource niet gevonden in het record.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Notificaties',
|
||||
'title-plural' => 'Notificaties',
|
||||
'status' => [
|
||||
'all' => 'Allemaal',
|
||||
'pending' => 'In behandeling',
|
||||
'processing' => 'Verwerken',
|
||||
'canceled' => 'Geannuleerd',
|
||||
'closed' => 'Gesloten',
|
||||
'completed' => 'Voltooid',
|
||||
],
|
||||
'view-all' => 'Bekijk alle meldingen',
|
||||
'no-record' => 'Geen record gevonden',
|
||||
'read-all' => 'Markeer als gelezen',
|
||||
'notification-marked-success' => 'Melding succesvol gemarkeerd',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Bestelling voltooid',
|
||||
'closed' => 'Bestelling gesloten',
|
||||
'canceled' => 'Bestelling geannuleerd',
|
||||
'pending' => 'Order in behandeling',
|
||||
'processing' => 'Orderverwerking',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1546,4 +1546,28 @@ return [
|
|||
'resource-not-found' => 'Ostrzeżenie: Żądany :resource nie znaleziono w rekordzie.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Powiadomienie',
|
||||
'title-plural' => 'Powiadomienia',
|
||||
'status' => [
|
||||
'all' => 'Wszystkie',
|
||||
'pending' => 'Aż do',
|
||||
'processing' => 'Przetwarzanie',
|
||||
'canceled' => 'Odwołany',
|
||||
'closed' => 'Zamknięte',
|
||||
'completed' => 'Zakończony',
|
||||
],
|
||||
'view-all' => 'Wyświetl wszystkie powiadomienia',
|
||||
'no-record' => 'Nie znaleziona nagrania',
|
||||
'read-all' => 'Oznacz jako przeczytane',
|
||||
'notification-marked-success' => 'Powiadomienie oznaczone pomyślnie',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Zamówienie zrealizowane',
|
||||
'closed' => 'Zamówienie zamknięte',
|
||||
'canceled' => 'Zamówienie anulowane',
|
||||
'pending' => 'Zamówienie w trakcie realizacji',
|
||||
'processing' => 'przetwarzanie zamówienia',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1560,4 +1560,28 @@ return [
|
|||
'resource-not-found' => 'Aviso: Solicitado :resource não encontrado no registro.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Notificação',
|
||||
'title-plural' => 'Notificações',
|
||||
'status' => [
|
||||
'all' => 'Tudo',
|
||||
'pending' => 'Pendente',
|
||||
'processing' => 'Em processamento',
|
||||
'canceled' => 'cancelado',
|
||||
'closed' => 'fechado',
|
||||
'completed' => 'concluído',
|
||||
],
|
||||
'view-all' => 'Ver todas as notificações',
|
||||
'no-record' => 'nenhuma gravação encontrada',
|
||||
'read-all' => 'Marcar como Lido',
|
||||
'notification-marked-success' => 'Notificação marcada com sucesso',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Encomenda completa',
|
||||
'closed' => 'Pedido fechado',
|
||||
'canceled' => 'Pedido cancelado',
|
||||
'pending' => 'pedido pendente',
|
||||
'processing' => 'processamento de pedido',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1543,4 +1543,28 @@ return [
|
|||
'resource-not-found' => 'Uyarı: İstenen :resource Kayıtta bulunamadı.',
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'title' => 'Bildirim',
|
||||
'title-plural' => 'Bildirimler',
|
||||
'status' => [
|
||||
'all' => 'Herşey',
|
||||
'pending' => 'Bekliyor',
|
||||
'processing' => 'İşleme',
|
||||
'canceled' => 'İptal edildi',
|
||||
'closed' => 'Kapalı',
|
||||
'completed' => 'Tamamlanmış',
|
||||
],
|
||||
'view-all' => 'Tüm Bildirimleri Görüntüle',
|
||||
'no-record' => 'Kayıt Bulunamadı',
|
||||
'read-all' => 'Okundu olarak işaretle',
|
||||
'notification-marked-success' => 'Bildirim Başarıyla İşaretlendi',
|
||||
'order-status-messages' => [
|
||||
'completed' => 'Sipariş Tamamlandı',
|
||||
'closed' => 'Sipariş Kapandı',
|
||||
'canceled' => 'Sipariş İptal Edildi',
|
||||
'pending' => 'Sipariş beklemede',
|
||||
'processing' => 'sipariş düzenleniyor',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@
|
|||
<div slot="body">
|
||||
<?php $selectedaAtributes = old('attributes') ? old('attributes') : ['11'] ?>
|
||||
|
||||
<div class="control-group" :class="[errors.has('attributes[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('attributes[]') ? 'has-error' : '']">
|
||||
<label for="attributes" class="required">{{ __('admin::app.catalog.categories.attributes') }}</label>
|
||||
<select class="control" name="attributes[]" v-validate="'required'" data-vv-as=""{{ __('admin::app.catalog.categories.attributes') }}"" multiple>
|
||||
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@
|
|||
<div slot="body">
|
||||
<?php $selectedaAtributes = old('attributes') ?? $category->filterableAttributes->pluck('id')->toArray() ?>
|
||||
|
||||
<div class="control-group" :class="[errors.has('attributes[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('attributes[]') ? 'has-error' : '']">
|
||||
<label for="attributes" class="required">{{ __('admin::app.catalog.categories.attributes') }}</label>
|
||||
<select class="control" name="attributes[]" v-validate="'required'" data-vv-as=""{{ __('admin::app.catalog.categories.attributes') }}"" multiple>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.catalog.products.channel') }}'" :active="false">
|
||||
<div slot="body">
|
||||
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<label for="channels" class="required">{{ __('admin::app.catalog.products.channel') }}</label>
|
||||
|
||||
<select class="control" name="channels[]" v-validate="'required'" data-vv-as=""{{ __('admin::app.catalog.products.channel') }}"" multiple>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
@inject('channels', 'Webkul\Core\Repositories\ChannelRepository')
|
||||
|
||||
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<label for="url-key" class="required">{{ __('admin::app.cms.pages.channel') }}</label>
|
||||
|
||||
<select type="text" class="control" name="channels[]" v-validate="'required'" value="{{ old('channel[]') }}" data-vv-as=""{{ __('admin::app.cms.pages.channel') }}"" multiple="multiple">
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@
|
|||
<span class="control-error" v-if="errors.has('{{$locale}}[page_title]')">@{{ errors.first('{!!$locale!!}[page_title]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<label for="url-key" class="required">{{ __('admin::app.cms.pages.channel') }}</label>
|
||||
|
||||
<?php $selectedOptionIds = old('inventory_sources') ?: $page->channels->pluck('id')->toArray() ?>
|
||||
|
|
|
|||
|
|
@ -63,25 +63,6 @@
|
|||
@endif
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
<li class="menu-item">
|
||||
<a class="menubar-ancor" href="#">
|
||||
<span class="icon-menu icon locale-icon"></span>
|
||||
|
||||
<span class="menu-label"> {{ __('admin::app.datagrid.locale') }} {{ $allLocales[$currentLocaleCode] }} </span>
|
||||
|
||||
<span class="icon arrow-icon"></span>
|
||||
</a>
|
||||
<ul class="sub-menubar">
|
||||
@foreach ($allLocales as $code => $name)
|
||||
<li class="sub-menu-item">
|
||||
<a href="{{ url()->current() . '?' . http_build_query(array_merge(request()->all(), ['admin_locale' => $code])) }}">
|
||||
<span class="menu-label">{{ $name }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,10 @@
|
|||
'completed'=> trans('admin::app.notification.order-status-messages.completed'),
|
||||
'processing' => trans('admin::app.notification.order-status-messages.processing')
|
||||
];
|
||||
|
||||
$allLocales = core()->getAllLocales()->pluck('name', 'code');
|
||||
|
||||
$currentLocaleCode = core()->getRequestedLocaleCode('admin_locale');
|
||||
@endphp
|
||||
|
||||
<div class="navbar-top">
|
||||
|
|
@ -40,6 +44,7 @@
|
|||
</div>
|
||||
|
||||
<notification
|
||||
notif-title="{{ __('admin::app.notification.notification-title') }}"
|
||||
get-notification-url="{{ route('admin.notification.get-notification') }}"
|
||||
view-all="{{ route('admin.notification.index') }}"
|
||||
order-view-url="{{ \URL::to('/') }}/admin/viewed-notifications/"
|
||||
|
|
@ -52,16 +57,46 @@
|
|||
read-all-title="{{ __('admin::app.notification.read-all') }}">
|
||||
</notification>
|
||||
|
||||
<div class="profile-info">
|
||||
|
||||
<div class="dropdown-toggle">
|
||||
|
||||
<i class="icon locale-icon-bold" style="height:26px;width:26px"></i>
|
||||
</div>
|
||||
|
||||
<div class="dropdown-list bottom-right">
|
||||
<div class="dropdown-container">
|
||||
<ul>
|
||||
@foreach ($allLocales as $code => $name)
|
||||
<li>
|
||||
<a href="{{ url()->current() . '?' . http_build_query(array_merge(request()->all(), ['admin_locale' => $code])) }}"
|
||||
style="{{ $code == $currentLocaleCode ? 'color:blue' : '' }}">
|
||||
{{ $name }}
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="profile-info">
|
||||
<div class="dropdown-toggle">
|
||||
<div style="display: inline-block; vertical-align: middle;">
|
||||
<span class="name">
|
||||
{{ auth()->guard('admin')->user()->name }}
|
||||
</span>
|
||||
<div class="profile-info-div">
|
||||
<div class="profile-info-icon">
|
||||
<span>{{ substr(auth()->guard('admin')->user()->name, 0, 1) }}</span>
|
||||
</div>
|
||||
<div class="profile-info-desc">
|
||||
<span class="name">
|
||||
{{ auth()->guard('admin')->user()->name }}
|
||||
</span>
|
||||
|
||||
<span class="role">
|
||||
{{ auth()->guard('admin')->user()->role['name'] }}
|
||||
</span>
|
||||
<span class="role">
|
||||
{{ auth()->guard('admin')->user()->role['name'] }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<i class="icon arrow-down-icon active"></i>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<label for="channels" class="required">{{ __('admin::app.promotions.cart-rules.channels') }}</label>
|
||||
|
||||
<select class="control" id="channels" name="channels[]" v-validate="'required'" data-vv-as=""{{ __('admin::app.promotions.cart-rules.channels') }}"" multiple="multiple">
|
||||
|
|
@ -169,20 +169,14 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div class="table cart-rule-conditions" style="margin-top: 20px; overflow-x: unset;">
|
||||
<table>
|
||||
<tbody>
|
||||
<cart-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</cart-rule-condition-item>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<cart-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</cart-rule-condition-item>
|
||||
|
||||
<button type="button" class="btn btn-lg btn-primary" style="margin-top: 20px;" @click="addCondition">
|
||||
{{ __('admin::app.promotions.cart-rules.add-condition') }}
|
||||
</button>
|
||||
|
|
@ -273,8 +267,8 @@
|
|||
</script>
|
||||
|
||||
<script type="text/x-template" id="cart-rule-condition-item-template">
|
||||
<tr>
|
||||
<td class="attribute">
|
||||
<div class="cart-rule-conditions">
|
||||
<div class="attribute">
|
||||
<div class="control-group">
|
||||
<select :name="['conditions[' + index + '][attribute]']" class="control" v-model="condition.attribute">
|
||||
<option value="">{{ __('admin::app.promotions.cart-rules.choose-condition-to-add') }}</option>
|
||||
|
|
@ -285,9 +279,9 @@
|
|||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="operator">
|
||||
<div class="operator">
|
||||
<div class="control-group" v-if="matchedAttribute">
|
||||
<select :name="['conditions[' + index + '][operator]']" class="control" v-model="condition.operator">
|
||||
<option v-for='operator in condition_operators[matchedAttribute.type]' :value="operator.operator">
|
||||
|
|
@ -295,9 +289,9 @@
|
|||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="value">
|
||||
<div class="value">
|
||||
<div v-if="matchedAttribute">
|
||||
<input type="hidden" :name="['conditions[' + index + '][attribute_type]']" v-model="matchedAttribute.type">
|
||||
|
||||
|
|
@ -354,12 +348,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="actions">
|
||||
<div class="actions">
|
||||
<i class="icon trash-icon" @click="removeCondition"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<label for="channels" class="required">{{ __('admin::app.promotions.cart-rules.channels') }}</label>
|
||||
|
||||
@php
|
||||
|
|
@ -188,19 +188,13 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div class="table cart-rule-conditions" style="margin-top: 20px; overflow-x: unset;">
|
||||
<table>
|
||||
<tbody>
|
||||
<cart-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</cart-rule-condition-item>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<cart-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</cart-rule-condition-item>
|
||||
|
||||
<button type="button" class="btn btn-lg btn-primary" style="margin-top: 20px;" @click="addCondition">
|
||||
{{ __('admin::app.promotions.cart-rules.add-condition') }}
|
||||
|
|
@ -331,8 +325,8 @@
|
|||
</script>
|
||||
|
||||
<script type="text/x-template" id="cart-rule-condition-item-template">
|
||||
<tr>
|
||||
<td class="attribute">
|
||||
<div class="cart-rule-conditions">
|
||||
<div class="attribute">
|
||||
<div class="control-group">
|
||||
<select :name="['conditions[' + index + '][attribute]']" class="control" v-model="condition.attribute">
|
||||
<option value="">{{ __('admin::app.promotions.cart-rules.choose-condition-to-add') }}</option>
|
||||
|
|
@ -343,9 +337,9 @@
|
|||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="operator">
|
||||
<div class="operator">
|
||||
<div class="control-group" v-if="matchedAttribute">
|
||||
<select :name="['conditions[' + index + '][operator]']" class="control" v-model="condition.operator">
|
||||
<option v-for='operator in condition_operators[matchedAttribute.type]' :value="operator.operator">
|
||||
|
|
@ -353,9 +347,9 @@
|
|||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="value">
|
||||
<div class="value">
|
||||
<div v-if="matchedAttribute">
|
||||
<input type="hidden" :name="['conditions[' + index + '][attribute_type]']" v-model="matchedAttribute.type">
|
||||
|
||||
|
|
@ -412,12 +406,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="actions">
|
||||
<div class="actions">
|
||||
<i class="icon trash-icon" @click="removeCondition"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/x-template" id="create-coupon-form-template">
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<label for="channels" class="required">{{ __('admin::app.promotions.catalog-rules.channels') }}</label>
|
||||
|
||||
<select class="control" id="channels" name="channels[]" v-validate="'required'" data-vv-as=""{{ __('admin::app.promotions.catalog-rules.channels') }}"" multiple="multiple">
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
<span class="control-error" v-if="errors.has('channels[]')">@{{ errors.first('channels[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('customer_groups[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('customer_groups[]') ? 'has-error' : '']">
|
||||
<label for="customer_groups" class="required">{{ __('admin::app.promotions.catalog-rules.customer-groups') }}</label>
|
||||
|
||||
<select class="control" id="customer_groups" name="customer_groups[]" v-validate="'required'" data-vv-as=""{{ __('admin::app.promotions.catalog-rules.customer-groups') }}"" multiple="multiple">
|
||||
|
|
@ -124,19 +124,13 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div class="table catalog-rule-conditions" style="margin-top: 20px; overflow-x: unset;">
|
||||
<table>
|
||||
<tbody>
|
||||
<catalog-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</catalog-rule-condition-item>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<catalog-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</catalog-rule-condition-item>
|
||||
|
||||
<button type="button" class="btn btn-lg btn-primary" style="margin-top: 20px;" @click="addCondition">
|
||||
{{ __('admin::app.promotions.catalog-rules.add-condition') }}
|
||||
|
|
@ -191,8 +185,8 @@
|
|||
</script>
|
||||
|
||||
<script type="text/x-template" id="catalog-rule-condition-item-template">
|
||||
<tr>
|
||||
<td class="attribute">
|
||||
<div class="catalog-rule-conditions">
|
||||
<div class="attribute">
|
||||
<div class="control-group">
|
||||
<select :name="['conditions[' + index + '][attribute]']" class="control" v-model="condition.attribute">
|
||||
<option value="">{{ __('admin::app.promotions.catalog-rules.choose-condition-to-add') }}</option>
|
||||
|
|
@ -203,9 +197,9 @@
|
|||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="operator">
|
||||
<div class="operator">
|
||||
<div class="control-group" v-if="matchedAttribute">
|
||||
<select :name="['conditions[' + index + '][operator]']" class="control" v-model="condition.operator">
|
||||
<option v-for='operator in condition_operators[matchedAttribute.type]' :value="operator.operator">
|
||||
|
|
@ -213,9 +207,9 @@
|
|||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="value">
|
||||
<div class="value">
|
||||
<div v-if="matchedAttribute">
|
||||
<input type="hidden" :name="['conditions[' + index + '][attribute_type]']" v-model="matchedAttribute.type">
|
||||
|
||||
|
|
@ -263,7 +257,7 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group" v-if="matchedAttribute.type == 'multiselect' || matchedAttribute.type == 'checkbox'">
|
||||
<div class="control-group multi-select" v-if="matchedAttribute.type == 'multiselect' || matchedAttribute.type == 'checkbox'">
|
||||
<select :name="['conditions[' + index + '][value][]']" class="control" v-model="condition.value" multiple>
|
||||
<option v-for='option in matchedAttribute.options' :value="option.id">
|
||||
@{{ option.admin_name }}
|
||||
|
|
@ -272,12 +266,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="actions">
|
||||
<div class="actions">
|
||||
<i class="icon trash-icon" @click="removeCondition"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('channels[]') ? 'has-error' : '']">
|
||||
<label for="channels" class="required">{{ __('admin::app.promotions.catalog-rules.channels') }}</label>
|
||||
|
||||
@php
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
<span class="control-error" v-if="errors.has('channels[]')">@{{ errors.first('channels[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('customer_groups[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('customer_groups[]') ? 'has-error' : '']">
|
||||
<label for="customer_groups" class="required">{{ __('admin::app.promotions.catalog-rules.customer-groups') }}</label>
|
||||
|
||||
@php
|
||||
|
|
@ -130,20 +130,14 @@
|
|||
<option value="2">{{ __('admin::app.promotions.catalog-rules.any-condition-true') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="table catalog-rule-conditions" style="margin-top: 20px; overflow-x: unset;">
|
||||
<table>
|
||||
<tbody>
|
||||
<catalog-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</catalog-rule-condition-item>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<catalog-rule-condition-item
|
||||
v-for='(condition, index) in conditions'
|
||||
:condition="condition"
|
||||
:key="index"
|
||||
:index="index"
|
||||
@onRemoveCondition="removeCondition($event)">
|
||||
</catalog-rule-condition-item>
|
||||
|
||||
<button type="button" class="btn btn-lg btn-primary" style="margin-top: 20px;" @click="addCondition">
|
||||
{{ __('admin::app.promotions.catalog-rules.add-condition') }}
|
||||
|
|
@ -208,8 +202,8 @@
|
|||
</script>
|
||||
|
||||
<script type="text/x-template" id="catalog-rule-condition-item-template">
|
||||
<tr>
|
||||
<td class="attribute">
|
||||
<div class="catalog-rule-conditions">
|
||||
<div class="attribute">
|
||||
<div class="control-group">
|
||||
<select :name="['conditions[' + index + '][attribute]']" class="control" v-model="condition.attribute">
|
||||
<option value="">{{ __('admin::app.promotions.catalog-rules.choose-condition-to-add') }}</option>
|
||||
|
|
@ -220,9 +214,9 @@
|
|||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="operator">
|
||||
<div class="operator">
|
||||
<div class="control-group" v-if="matchedAttribute">
|
||||
<select :name="['conditions[' + index + '][operator]']" class="control" v-model="condition.operator">
|
||||
<option v-for='operator in condition_operators[matchedAttribute.type]' :value="operator.operator">
|
||||
|
|
@ -230,9 +224,9 @@
|
|||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="value">
|
||||
<div class="value">
|
||||
<div v-if="matchedAttribute">
|
||||
<input type="hidden" :name="['conditions[' + index + '][attribute_type]']" v-model="matchedAttribute.type">
|
||||
|
||||
|
|
@ -280,7 +274,7 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group" v-if="matchedAttribute.type == 'multiselect' || matchedAttribute.type == 'checkbox'">
|
||||
<div class="control-group multi-select" v-if="matchedAttribute.type == 'multiselect' || matchedAttribute.type == 'checkbox'">
|
||||
<select :name="['conditions[' + index + '][value][]']" class="control" v-model="condition.value" multiple>
|
||||
<option v-for='option in matchedAttribute.options' :value="option.id">
|
||||
@{{ option.admin_name }}
|
||||
|
|
@ -289,12 +283,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
|
||||
<td class="actions">
|
||||
<div class="actions">
|
||||
<i class="icon trash-icon" @click="removeCondition"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.notification.title') }}
|
||||
{{ __('admin::app.notification.notification-title') }}
|
||||
@endsection
|
||||
|
||||
@php
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
order-view-url="{{ \URL::to('/') }}/admin/viewed-notifications/"
|
||||
pusher-key="{{ env('PUSHER_APP_KEY') }}"
|
||||
pusher-cluster="{{ env('PUSHER_APP_CLUSTER') }}"
|
||||
title=" {{ __('admin::app.notification.title') }}"
|
||||
title=" {{ __('admin::app.notification.notification-title') }}"
|
||||
order-status="{{ json_encode($orderStatus) }}"
|
||||
order-status-messages="{{ json_encode($orderStatusMessages) }}"
|
||||
no-record-text="{{ __('admin::app.notification.no-record') }}">
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
text-align: left;
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.table thead th {
|
||||
|
|
@ -82,7 +83,7 @@
|
|||
border-right: solid 1px #d3d3d3;
|
||||
}
|
||||
|
||||
.sale-summary {
|
||||
.sale-summary {
|
||||
margin-top: 40px;
|
||||
float: right;
|
||||
}
|
||||
|
|
@ -127,29 +128,45 @@
|
|||
<h1 class="text-center">{{ __('admin::app.sales.invoices.invoice') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (core()->getConfigData('sales.invoice_setttings.invoice_slip_design.logo'))
|
||||
<div class="image">
|
||||
<img class="logo" src="{{ Storage::url(core()->getConfigData('sales.invoice_setttings.invoice_slip_design.logo')) }}"/>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="merchant-details">
|
||||
<div><span class="merchant-details-title">{{ core()->getConfigData('sales.shipping.origin.store_name') ? core()->getConfigData('sales.shipping.origin.store_name') : '' }}</span></div>
|
||||
|
||||
<div>{{ core()->getConfigData('sales.shipping.origin.address1') ? core()->getConfigData('sales.shipping.origin.address1') : '' }}</div>
|
||||
|
||||
<div>
|
||||
<span>{{ core()->getConfigData('sales.shipping.origin.zipcode') ? core()->getConfigData('sales.shipping.origin.zipcode') : '' }}</span>
|
||||
<span>{{ core()->getConfigData('sales.shipping.origin.city') ? core()->getConfigData('sales.shipping.origin.city') : '' }}</span></div>
|
||||
<span>{{ core()->getConfigData('sales.shipping.origin.city') ? core()->getConfigData('sales.shipping.origin.city') : '' }}</span>
|
||||
</div>
|
||||
|
||||
<div>{{ core()->getConfigData('sales.shipping.origin.state') ? core()->getConfigData('sales.shipping.origin.state') : '' }}</div>
|
||||
|
||||
<div>{{ core()->getConfigData('sales.shipping.origin.country') ? core()->country_name(core()->getConfigData('sales.shipping.origin.country')) : '' }}</div>
|
||||
</div>
|
||||
|
||||
<div class="merchant-details">
|
||||
@if (core()->getConfigData('sales.shipping.origin.contact'))
|
||||
<div><span class="merchant-details-title">{{ __('admin::app.admin.system.contact-number') }}:</span> {{ core()->getConfigData('sales.shipping.origin.contact') }}</div>
|
||||
<div>
|
||||
<span class="merchant-details-title">{{ __('admin::app.admin.system.contact-number') }}:</span> {{ core()->getConfigData('sales.shipping.origin.contact') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (core()->getConfigData('sales.shipping.origin.vat_number'))
|
||||
<div><span class="merchant-details-title">{{ __('admin::app.admin.system.vat-number') }}:</span> {{ core()->getConfigData('sales.shipping.origin.vat_number') }}</div>
|
||||
<div>
|
||||
<span class="merchant-details-title">{{ __('admin::app.admin.system.vat-number') }}:</span> {{ core()->getConfigData('sales.shipping.origin.vat_number') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (core()->getConfigData('sales.shipping.origin.bank_details'))
|
||||
<div><span class="merchant-details-title">{{ __('admin::app.admin.system.bank-details') }}:</span> {{ core()->getConfigData('sales.shipping.origin.bank_details') }}</div>
|
||||
<div>
|
||||
<span class="merchant-details-title">{{ __('admin::app.admin.system.bank-details') }}:</span> {{ core()->getConfigData('sales.shipping.origin.bank_details') }}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -187,6 +204,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50%">{{ __('admin::app.sales.invoices.bill-to') }}</th>
|
||||
|
||||
@if ($invoice->order->shipping_address)
|
||||
<th>{{ __('admin::app.sales.invoices.ship-to') }}</th>
|
||||
@endif
|
||||
|
|
@ -264,8 +282,8 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th class="text-center">{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th class="text-center">{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th class="text-center">{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th class="text-center">{{ __('admin::app.sales.orders.qty') }}</th>
|
||||
<th class="text-center">{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
|
|
@ -275,11 +293,11 @@
|
|||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($invoice->items as $item)
|
||||
<tr>
|
||||
<td>{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
<td>
|
||||
<td class="text-center">{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
|
||||
<td class="text-center">
|
||||
{{ $item->name }}
|
||||
|
||||
@if (isset($item->additional['attributes']))
|
||||
|
|
@ -292,14 +310,18 @@
|
|||
</div>
|
||||
@endif
|
||||
</td>
|
||||
<td>{!! core()->formatBasePrice($item->base_price, true) !!}</td>
|
||||
|
||||
<td class="text-center">{!! core()->formatBasePrice($item->base_price, true) !!}</td>
|
||||
|
||||
<td class="text-center">{{ $item->qty }}</td>
|
||||
|
||||
<td class="text-center">{!! core()->formatBasePrice($item->base_total, true) !!}</td>
|
||||
|
||||
<td class="text-center">{!! core()->formatBasePrice($item->base_tax_amount, true) !!}</td>
|
||||
|
||||
<td class="text-center">{!! core()->formatBasePrice($item->base_total + $item->base_tax_amount, true) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -331,12 +353,17 @@
|
|||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><strong>{{ __('admin::app.sales.orders.grand-total') }}</strong></td>
|
||||
<td><strong>-</strong></td>
|
||||
<td><strong>{!! core()->formatBasePrice($invoice->base_grand_total, true) !!}</strong></td>
|
||||
<td colspan="3">
|
||||
<hr>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>{{ __('admin::app.sales.orders.grand-total') }}</td>
|
||||
<td>-</td>
|
||||
<td>{!! core()->formatBasePrice($invoice->base_grand_total, true) !!}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
{!! view_render_event('bagisto.admin.settings.slider.create.before') !!}
|
||||
|
||||
<div class="control-group" :class="[errors.has('locale[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('locale[]') ? 'has-error' : '']">
|
||||
<label for="locale">{{ __('admin::app.datagrid.locale') }}</label>
|
||||
|
||||
<select class="control" id="locale" name="locale[]" data-vv-as=""{{ __('admin::app.datagrid.locale') }}"" value="" v-validate="'required'" multiple>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
{!! view_render_event('bagisto.admin.settings.slider.edit.before') !!}
|
||||
|
||||
<div class="control-group" :class="[errors.has('locale[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('locale[]') ? 'has-error' : '']">
|
||||
<label for="locale">{{ __('admin::app.datagrid.locale') }}</label>
|
||||
|
||||
<select class="control" id="locale" name="locale[]" data-vv-as=""{{ __('admin::app.datagrid.locale') }}"" value="" v-validate="'required'" multiple>
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
<?php $selectedOptions = old('taxrates') ?: [] ?>
|
||||
|
||||
<div class="control-group" :class="[errors.has('taxrates[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('taxrates[]') ? 'has-error' : '']">
|
||||
<label for="taxrates" class="required">{{ __('admin::app.configuration.tax-categories.select-taxrates') }}</label>
|
||||
|
||||
<select multiple="multiple" v-validate="'required'" class="control" id="taxrates" name="taxrates[]" data-vv-as=""{{ __('admin::app.configuration.tax-categories.select-taxrates') }}"">
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<?php $selectedOptions = old('taxrates') ?: $taxCategory->tax_rates()->pluck('tax_rates.id')->toArray() ?>
|
||||
|
||||
<div class="control-group" :class="[errors.has('taxrates[]') ? 'has-error' : '']">
|
||||
<div class="control-group multi-select" :class="[errors.has('taxrates[]') ? 'has-error' : '']">
|
||||
<label for="taxrates" class="required">{{ __('admin::app.settings.tax-categories.select-taxrates') }}</label>
|
||||
|
||||
@inject('taxRates', 'Webkul\Tax\Repositories\TaxRateRepository')
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => conf
|
|||
'view' => 'admin::sales.invoices.view',
|
||||
])->name('admin.sales.invoices.view');
|
||||
|
||||
Route::get('/invoices/print/{id}', [InvoiceController::class, 'print'])->defaults('_config', [
|
||||
Route::get('/invoices/print/{id}', [InvoiceController::class, 'printInvoice'])->defaults('_config', [
|
||||
'view' => 'admin::sales.invoices.print',
|
||||
])->name('admin.sales.invoices.print');
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ trait CoreConfigField
|
|||
public function getValueByRepository($field)
|
||||
{
|
||||
if (isset($field['repository'])) {
|
||||
$temp = explode("@", $field['repository']);
|
||||
$temp = explode('@', $field['repository']);
|
||||
$class = app(current($temp));
|
||||
$method = end($temp);
|
||||
return $class->$method();
|
||||
|
|
@ -61,7 +61,7 @@ trait CoreConfigField
|
|||
*/
|
||||
public function getDependentFieldOrValue($field, $fieldOrValue = 'field')
|
||||
{
|
||||
$depends = explode(":", $field['depend']);
|
||||
$depends = explode(':', $field['depend']);
|
||||
|
||||
return $fieldOrValue === 'field'
|
||||
? current($depends) : end($depends);
|
||||
|
|
@ -119,4 +119,4 @@ trait CoreConfigField
|
|||
|
||||
return ! empty($info) ? '[' . implode(' - ', $info) . ']' : '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Core\Traits;
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
use PDF;
|
||||
|
||||
trait PDFHandler
|
||||
{
|
||||
/**
|
||||
* Download PDF.
|
||||
*
|
||||
* @param string $html
|
||||
* @param string $fileName
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
protected function downloadPDF(string $html, ?string $fileName = null)
|
||||
{
|
||||
if (is_null($fileName)) {
|
||||
$fileName = Str::random(32);
|
||||
}
|
||||
|
||||
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
|
||||
|
||||
return PDF::loadHTML($this->adjustArabicAndPersianContent($html))
|
||||
->setPaper('a4')
|
||||
->download($fileName . '.pdf');
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust arabic and persian content.
|
||||
*
|
||||
* @param string $html
|
||||
* @return string
|
||||
*/
|
||||
protected function adjustArabicAndPersianContent(string $html)
|
||||
{
|
||||
$arabic = new \ArPHP\I18N\Arabic();
|
||||
|
||||
$p = $arabic->arIdentify($html);
|
||||
|
||||
for ($i = count($p) - 1; $i >= 0; $i -= 2) {
|
||||
$utf8ar = $arabic->utf8Glyphs(substr($html, $p[$i - 1], $p[$i] - $p[$i - 1]));
|
||||
$html = substr_replace($html, $utf8ar, $p[$i - 1], $p[$i] - $p[$i - 1]);
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
namespace Webkul\Core\Traits;
|
||||
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use enshrined\svgSanitize\Sanitizer as MainSanitizer;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
trait Sanitizer
|
||||
{
|
||||
|
|
@ -12,7 +12,7 @@ trait Sanitizer
|
|||
*/
|
||||
public $mimeTypes = [
|
||||
'image/svg',
|
||||
'image/svg+xml'
|
||||
'image/svg+xml',
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
@ -45,4 +45,4 @@ trait Sanitizer
|
|||
{
|
||||
return in_array($mimeType, $this->mimeTypes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
*/
|
||||
|
||||
/*!
|
||||
* Vue.js v2.6.12
|
||||
* (c) 2014-2020 Evan You
|
||||
* Vue.js v2.6.14
|
||||
* (c) 2014-2021 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/shop.js": "/js/shop.js?id=7da13680877af8a5dfc3",
|
||||
"/css/shop.css": "/css/shop.css?id=645cbde629fb71823593"
|
||||
"/js/shop.js": "/js/shop.js?id=9d5b79be5419c0a5c1bc",
|
||||
"/css/shop.css": "/css/shop.css?id=115fadd65b812c605be3"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,14 +2,18 @@
|
|||
|
||||
namespace Webkul\Shop\Http\Controllers;
|
||||
|
||||
use PDF;
|
||||
use Webkul\Sales\Repositories\OrderRepository;
|
||||
use Webkul\Core\Traits\PDFHandler;
|
||||
use Webkul\Sales\Repositories\InvoiceRepository;
|
||||
use Webkul\Sales\Repositories\OrderRepository;
|
||||
|
||||
class OrderController extends Controller
|
||||
{
|
||||
use PDFHandler;
|
||||
|
||||
/**
|
||||
* Current customer.
|
||||
*
|
||||
* @var \Webkul\Customer\Contracts\Customer
|
||||
*/
|
||||
protected $currentCustomer;
|
||||
|
||||
|
|
@ -37,8 +41,7 @@ class OrderController extends Controller
|
|||
public function __construct(
|
||||
OrderRepository $orderRepository,
|
||||
InvoiceRepository $invoiceRepository
|
||||
)
|
||||
{
|
||||
) {
|
||||
$this->middleware('customer');
|
||||
|
||||
$this->currentCustomer = auth()->guard('customer')->user();
|
||||
|
|
@ -54,7 +57,7 @@ class OrderController extends Controller
|
|||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\View\View
|
||||
*/
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view($this->_config['view']);
|
||||
|
|
@ -86,7 +89,7 @@ class OrderController extends Controller
|
|||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function print($id)
|
||||
public function printInvoice($id)
|
||||
{
|
||||
$invoice = $this->invoiceRepository->findOrFail($id);
|
||||
|
||||
|
|
@ -94,9 +97,10 @@ class OrderController extends Controller
|
|||
abort(404);
|
||||
}
|
||||
|
||||
$pdf = PDF::loadView('shop::customers.account.orders.pdf', compact('invoice'))->setPaper('a4');
|
||||
|
||||
return $pdf->download('invoice-' . $invoice->created_at->format('d-m-Y') . '.pdf');
|
||||
return $this->downloadPDF(
|
||||
view('shop::customers.account.orders.pdf', compact('invoice'))->render(),
|
||||
'invoice-' . $invoice->created_at->format('d-m-Y')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -125,4 +129,4 @@ class OrderController extends Controller
|
|||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3632,20 +3632,6 @@ ol.breadcrumb {
|
|||
.account-table-content {
|
||||
color: $font-dark;
|
||||
margin-top: 1.4%;
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
|
||||
tbody {
|
||||
tr {
|
||||
height: 45px;
|
||||
|
||||
td {
|
||||
width: 250px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -3782,14 +3768,6 @@ ol.breadcrumb {
|
|||
.account-table-content {
|
||||
margin-top: 2%;
|
||||
|
||||
table tbody tr {
|
||||
height: 70px;
|
||||
|
||||
td {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.address-holder {
|
||||
justify-content: center;
|
||||
}
|
||||
|
|
@ -3999,46 +3977,6 @@ ol.breadcrumb {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Responsive table.
|
||||
*/
|
||||
@media only screen and (max-width: 770px) {
|
||||
.table {
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table thead {
|
||||
display: none;
|
||||
}
|
||||
|
||||
table tbody {
|
||||
tr td:before {
|
||||
content: attr(data-value);
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
display: inline-block;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
td {
|
||||
border-bottom: none !important;
|
||||
display: block;
|
||||
width: 100% !important;
|
||||
|
||||
div {
|
||||
position: relative;
|
||||
left: 100px;
|
||||
top: -20px;
|
||||
}
|
||||
}
|
||||
|
||||
tr {
|
||||
border: 1px solid $border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.show-wishlist {
|
||||
z-index: -1 !important;
|
||||
|
|
@ -4884,14 +4822,6 @@ body {
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 15px;
|
||||
min-width: 250px;
|
||||
max-width: 250px;
|
||||
line-height: 30px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.icon.remove-product {
|
||||
top: 5px;
|
||||
cursor: pointer;
|
||||
|
|
|
|||
|
|
@ -136,7 +136,9 @@
|
|||
@endif
|
||||
|
||||
<div class="merchant-details">
|
||||
<div><span class="merchant-details-title">{{ core()->getConfigData('sales.shipping.origin.store_name') ? core()->getConfigData('sales.shipping.origin.store_name') : '' }}</span></div>
|
||||
<div>
|
||||
<span class="merchant-details-title">{{ core()->getConfigData('sales.shipping.origin.store_name') ? core()->getConfigData('sales.shipping.origin.store_name') : '' }}</span>
|
||||
</div>
|
||||
|
||||
<div>{{ core()->getConfigData('sales.shipping.origin.address1') ? core()->getConfigData('sales.shipping.origin.address1') : '' }}</div>
|
||||
|
||||
|
|
@ -276,22 +278,22 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('shop::app.customer.account.order.view.SKU') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.product-name') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.price') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.qty') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.subtotal') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.tax-amount') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.grand-total') }}</th>
|
||||
<th class="text-center">{{ __('shop::app.customer.account.order.view.SKU') }}</th>
|
||||
<th class="text-center">{{ __('shop::app.customer.account.order.view.product-name') }}</th>
|
||||
<th class="text-center">{{ __('shop::app.customer.account.order.view.price') }}</th>
|
||||
<th class="text-center">{{ __('shop::app.customer.account.order.view.qty') }}</th>
|
||||
<th class="text-center">{{ __('shop::app.customer.account.order.view.subtotal') }}</th>
|
||||
<th class="text-center">{{ __('shop::app.customer.account.order.view.tax-amount') }}</th>
|
||||
<th class="text-center">{{ __('shop::app.customer.account.order.view.grand-total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($invoice->items as $item)
|
||||
<tr>
|
||||
<td>{{ $item->child ? $item->child->sku : $item->sku }}</td>
|
||||
<td class="text-center">{{ $item->child ? $item->child->sku : $item->sku }}</td>
|
||||
|
||||
<td>
|
||||
<td class="text-center">
|
||||
{{ $item->name }}
|
||||
|
||||
@if (isset($item->additional['attributes']))
|
||||
|
|
@ -305,15 +307,15 @@
|
|||
@endif
|
||||
</td>
|
||||
|
||||
<td>{{ core()->formatPrice($item->price, $invoice->order->order_currency_code) }}</td>
|
||||
<td class="text-center">{{ core()->formatPrice($item->price, $invoice->order->order_currency_code) }}</td>
|
||||
|
||||
<td>{{ $item->qty }}</td>
|
||||
<td class="text-center">{{ $item->qty }}</td>
|
||||
|
||||
<td>{{ core()->formatPrice($item->total, $invoice->order->order_currency_code) }}</td>
|
||||
<td class="text-center">{{ core()->formatPrice($item->total, $invoice->order->order_currency_code) }}</td>
|
||||
|
||||
<td>{{ core()->formatPrice($item->tax_amount, $invoice->order->order_currency_code) }}</td>
|
||||
<td class="text-center">{{ core()->formatPrice($item->tax_amount, $invoice->order->order_currency_code) }}</td>
|
||||
|
||||
<td>{{ core()->formatPrice(($item->total + $item->tax_amount), $invoice->order->order_currency_code) }}</td>
|
||||
<td class="text-center">{{ core()->formatPrice(($item->total + $item->tax_amount), $invoice->order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
|
@ -347,7 +349,13 @@
|
|||
<td>{{ core()->formatPrice($invoice->tax_amount, $invoice->order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="bold">
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<hr>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.grand-total') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($invoice->grand_total, $invoice->order->order_currency_code) }}</td>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
<label for="email" class="required">{{ __('shop::app.customer.account.profile.gender') }}</label>
|
||||
|
||||
<select name="gender" class="control" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.profile.gender') }}"">
|
||||
<option value="" @if ($customer->gender == "") selected @endif></option>
|
||||
<option value="" @if ($customer->gender == "") selected @endif>{{ __('admin::app.customers.customers.select-gender') }}</option>
|
||||
<option value="Other" @if ($customer->gender == "Other") selected @endif>{{ __('shop::app.customer.account.profile.other') }}</option>
|
||||
<option value="Male" @if ($customer->gender == "Male") selected @endif>{{ __('shop::app.customer.account.profile.male') }}</option>
|
||||
<option value="Female" @if ($customer->gender == "Female") selected @endif>{{ __('shop::app.customer.account.profile.female') }}</option>
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ Route::group(['middleware' => ['web', 'locale', 'theme', 'currency']], function
|
|||
'view' => 'shop::customers.account.orders.view',
|
||||
])->name('customer.orders.view');
|
||||
|
||||
Route::get('orders/print/{id}', [OrderController::class, 'print'])->defaults('_config', [
|
||||
Route::get('orders/print/{id}', [OrderController::class, 'printInvoice'])->defaults('_config', [
|
||||
'view' => 'shop::customers.account.orders.print',
|
||||
])->name('customer.orders.print');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M38 10H10V38H38V10Z" stroke="#0041FF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M38 19C42.9706 19 47 14.9706 47 10C47 5.02944 42.9706 1 38 1C33.0294 1 29 5.02944 29 10C29 14.9706 33.0294 19 38 19Z" fill="white"/>
|
||||
<path d="M38 14C40.2091 14 42 12.2091 42 10C42 7.79086 40.2091 6 38 6C35.7909 6 34 7.79086 34 10C34 12.2091 35.7909 14 38 14Z" stroke="#0041FF" stroke-width="2"/>
|
||||
<path d="M17 27.8225L20.6304 23.1316L25.5271 26.321L31.5498 19" stroke="#0041FF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M33 10C33 7.23857 35.2386 5 38 5C40.7614 5 43 7.23857 43 10C43 12.7614 40.7614 15 38 15C35.2386 15 33 12.7614 33 10ZM38 7C36.3432 7 35 8.34315 35 10C35 11.6568 36.3432 13 38 13C39.6568 13 41 11.6568 41 10C41 8.34315 39.6568 7 38 7Z" fill="#0041FF"/>
|
||||
<path d="M39 18.9451C38.6717 18.9814 38.338 19 38 19C37.662 19 37.3283 18.9814 37 18.9451V37H11V11H29.0549C29.0186 10.6717 29 10.338 29 10C29 9.66199 29.0186 9.32833 29.0549 9H10C9.44772 9 9 9.44772 9 10V38C9 38.5523 9.44772 39 10 39H38C38.5523 39 39 38.5523 39 38V18.9451Z" fill="#0041FF"/>
|
||||
<path d="M32.3221 19.6353C32.673 19.2088 32.6117 18.5786 32.1852 18.2278C31.7586 17.8769 31.1285 17.9382 30.7776 18.3647L25.3233 24.9948L21.1762 22.2937C20.7398 22.0095 20.1584 22.1077 19.8396 22.5196L16.2092 27.2105C15.8712 27.6473 15.9512 28.2753 16.388 28.6134C16.8248 28.9514 17.4529 28.8713 17.7909 28.4346L20.8571 24.4727L24.9814 27.159C25.4082 27.437 25.9758 27.3497 26.2994 26.9563L32.3221 19.6353Z" fill="#0041FF"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 668 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M39 19C39 27.2843 24 44 24 44C24 44 9 27.2843 9 19C9 10.7157 15.7157 4 24 4C32.2843 4 39 10.7157 39 19Z" stroke="#8184AB" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle cx="24" cy="19" r="7" stroke="#8184AB" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 413 B |
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/ui.js": "/js/ui.js?id=99de3c7f62be5fb50eaf",
|
||||
"/css/ui.css": "/css/ui.css?id=d750a397f6eb65946c0a"
|
||||
"/css/ui.css": "/css/ui.css?id=cd88292a65dfcf07d879"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M38 10H10V38H38V10Z" stroke="#0041FF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M38 19C42.9706 19 47 14.9706 47 10C47 5.02944 42.9706 1 38 1C33.0294 1 29 5.02944 29 10C29 14.9706 33.0294 19 38 19Z" fill="white"/>
|
||||
<path d="M38 14C40.2091 14 42 12.2091 42 10C42 7.79086 40.2091 6 38 6C35.7909 6 34 7.79086 34 10C34 12.2091 35.7909 14 38 14Z" stroke="#0041FF" stroke-width="2"/>
|
||||
<path d="M17 27.8225L20.6304 23.1316L25.5271 26.321L31.5498 19" stroke="#0041FF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M33 10C33 7.23857 35.2386 5 38 5C40.7614 5 43 7.23857 43 10C43 12.7614 40.7614 15 38 15C35.2386 15 33 12.7614 33 10ZM38 7C36.3432 7 35 8.34315 35 10C35 11.6568 36.3432 13 38 13C39.6568 13 41 11.6568 41 10C41 8.34315 39.6568 7 38 7Z" fill="#0041FF"/>
|
||||
<path d="M39 18.9451C38.6717 18.9814 38.338 19 38 19C37.662 19 37.3283 18.9814 37 18.9451V37H11V11H29.0549C29.0186 10.6717 29 10.338 29 10C29 9.66199 29.0186 9.32833 29.0549 9H10C9.44772 9 9 9.44772 9 10V38C9 38.5523 9.44772 39 10 39H38C38.5523 39 39 38.5523 39 38V18.9451Z" fill="#0041FF"/>
|
||||
<path d="M32.3221 19.6353C32.673 19.2088 32.6117 18.5786 32.1852 18.2278C31.7586 17.8769 31.1285 17.9382 30.7776 18.3647L25.3233 24.9948L21.1762 22.2937C20.7398 22.0095 20.1584 22.1077 19.8396 22.5196L16.2092 27.2105C15.8712 27.6473 15.9512 28.2753 16.388 28.6134C16.8248 28.9514 17.4529 28.8713 17.7909 28.4346L20.8571 24.4727L24.9814 27.159C25.4082 27.437 25.9758 27.3497 26.2994 26.9563L32.3221 19.6353Z" fill="#0041FF"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 668 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M39 19C39 27.2843 24 44 24 44C24 44 9 27.2843 9 19C9 10.7157 15.7157 4 24 4C32.2843 4 39 10.7157 39 19Z" stroke="#8184AB" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle cx="24" cy="19" r="7" stroke="#8184AB" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 413 B |
|
|
@ -195,10 +195,8 @@ h5 {
|
|||
}
|
||||
|
||||
.btn {
|
||||
@include box-shadow(
|
||||
0 1px 4px 0 rgba(0, 0, 0, 0.2),
|
||||
0 0 8px 0 rgba(0, 0, 0, 0.1)
|
||||
);
|
||||
@include box-shadow(0 1px 4px 0 rgba(0, 0, 0, 0.2),
|
||||
0 0 8px 0 rgba(0, 0, 0, 0.1));
|
||||
@include border-radius(3px);
|
||||
border: none;
|
||||
color: $white-color;
|
||||
|
|
@ -294,10 +292,8 @@ h5 {
|
|||
.dropdown-list {
|
||||
width: 200px;
|
||||
margin-bottom: 20px;
|
||||
@include box-shadow(
|
||||
0 2px 4px 0 rgba(0, 0, 0, 0.16),
|
||||
0 0 9px 0 rgba(0, 0, 0, 0.16)
|
||||
);
|
||||
@include box-shadow(0 2px 4px 0 rgba(0, 0, 0, 0.16),
|
||||
0 0 9px 0 rgba(0, 0, 0, 0.16));
|
||||
@include border-radius(3px);
|
||||
background-color: $white-color;
|
||||
position: absolute;
|
||||
|
|
@ -453,14 +449,15 @@ h5 {
|
|||
list-style-type: none;
|
||||
padding: 0px;
|
||||
|
||||
.read{
|
||||
color:rgba(58, 58, 58, 0.5);
|
||||
.notif-content > a{
|
||||
text-decoration: none;
|
||||
color: rgba(58, 58, 58, 0.5);
|
||||
.read {
|
||||
color: rgba(58, 58, 58, 0.5);
|
||||
|
||||
&:hover{
|
||||
color:rgba(58, 58, 58, 0.5)
|
||||
.notif-content>a {
|
||||
text-decoration: none;
|
||||
color: rgba(58, 58, 58, 0.5);
|
||||
|
||||
&:hover {
|
||||
color: rgba(58, 58, 58, 0.5)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -491,16 +488,16 @@ h5 {
|
|||
font-weight: 500;
|
||||
text-transform: capitalize;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-li{
|
||||
.bottom-li {
|
||||
border-bottom: none !important;
|
||||
color: #3a3a3a;
|
||||
color: #3a3a3a;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
a{
|
||||
a {
|
||||
display: initial;
|
||||
color: #3a3a3a !important;
|
||||
}
|
||||
|
|
@ -550,22 +547,22 @@ h5 {
|
|||
.table {
|
||||
width: 100%;
|
||||
|
||||
.table-responsive{
|
||||
overflow-x: auto;
|
||||
width: 100%;
|
||||
.table-responsive {
|
||||
overflow-x: auto;
|
||||
width: 100%;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
height: 5px !important;
|
||||
}
|
||||
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(200,200,200,1) !important;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(200, 200, 200, 1) !important;
|
||||
}
|
||||
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px !important;
|
||||
background-color:#fff !important;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(90,90,90,0.7) !important;
|
||||
background-color: #fff !important;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(90, 90, 90, 0.7) !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -676,11 +673,11 @@ h5 {
|
|||
margin-right: 5px;
|
||||
}
|
||||
|
||||
input:checked + .checkbox-view {
|
||||
input:checked+.checkbox-view {
|
||||
background-image: url("../images/Checkbox-Checked.svg");
|
||||
}
|
||||
|
||||
input:disabled + .checkbox-view {
|
||||
input:disabled+.checkbox-view {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
|
@ -710,11 +707,11 @@ h5 {
|
|||
margin-right: 5px;
|
||||
}
|
||||
|
||||
input:checked + .radio-view {
|
||||
input:checked+.radio-view {
|
||||
background-position: -21px -21px;
|
||||
}
|
||||
|
||||
input:disabled + .radio-view {
|
||||
input:disabled+.radio-view {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
|
@ -784,7 +781,8 @@ h5 {
|
|||
}
|
||||
}
|
||||
|
||||
&.date, &.datetime {
|
||||
&.date,
|
||||
&.datetime {
|
||||
.control {
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
|
@ -810,6 +808,12 @@ h5 {
|
|||
}
|
||||
}
|
||||
|
||||
&.multi-select {
|
||||
.control {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.control-info {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
|
|
@ -833,7 +837,8 @@ h5 {
|
|||
}
|
||||
}
|
||||
|
||||
&.has-error.date, &.has-error.date {
|
||||
&.has-error.date,
|
||||
&.has-error.date {
|
||||
&::after {
|
||||
margin-top: -12px;
|
||||
}
|
||||
|
|
@ -849,15 +854,20 @@ h5 {
|
|||
|
||||
.table {
|
||||
.control-group {
|
||||
&.date, &.datetime {
|
||||
|
||||
&.date,
|
||||
&.datetime {
|
||||
&::after {
|
||||
top: 6px;
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&.has-error.date, &.has-error.date {
|
||||
&.date, &.datetime {
|
||||
&.has-error.date,
|
||||
&.has-error.date {
|
||||
|
||||
&.date,
|
||||
&.datetime {
|
||||
&::after {
|
||||
top: 18px;
|
||||
}
|
||||
|
|
@ -868,7 +878,9 @@ h5 {
|
|||
|
||||
.rtl {
|
||||
.control-group {
|
||||
&.date, &.datetime {
|
||||
|
||||
&.date,
|
||||
&.datetime {
|
||||
.control {
|
||||
padding-left: 40px;
|
||||
padding-right: 10px;
|
||||
|
|
@ -888,7 +900,9 @@ h5 {
|
|||
|
||||
.table {
|
||||
.control-group {
|
||||
&.date, &.datetime {
|
||||
|
||||
&.date,
|
||||
&.datetime {
|
||||
&::after {
|
||||
right: unset !important;
|
||||
left: auto;
|
||||
|
|
@ -938,15 +952,15 @@ h5 {
|
|||
transition: .2s;
|
||||
}
|
||||
|
||||
input:checked + .slider {
|
||||
input:checked+.slider {
|
||||
background-color: $brand-color;
|
||||
}
|
||||
|
||||
input:focus + .slider {
|
||||
input:focus+.slider {
|
||||
box-shadow: 0 0 1px $brand-color;
|
||||
}
|
||||
|
||||
input:checked + .slider:before {
|
||||
input:checked+.slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
|
|
@ -955,7 +969,7 @@ h5 {
|
|||
/* rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
}
|
||||
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
|
|
@ -980,10 +994,8 @@ h5 {
|
|||
padding: 15px;
|
||||
@include border-radius(3px);
|
||||
display: inline-block;
|
||||
@include box-shadow(
|
||||
0px 4px 15.36px 0.64px rgba(0, 0, 0, 0.1),
|
||||
0px 2px 6px 0px rgba(0, 0, 0, 0.12)
|
||||
);
|
||||
@include box-shadow(0px 4px 15.36px 0.64px rgba(0, 0, 0, 0.1),
|
||||
0px 2px 6px 0px rgba(0, 0, 0, 0.12));
|
||||
position: relative;
|
||||
animation: jelly 0.5s ease-in-out;
|
||||
transform-origin: center top;
|
||||
|
|
@ -1045,11 +1057,13 @@ h5 {
|
|||
}
|
||||
}
|
||||
|
||||
.accordian, accordian {
|
||||
.accordian,
|
||||
accordian {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
|
||||
.accordian-header, div[slot*="header"] {
|
||||
.accordian-header,
|
||||
div[slot*="header"] {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
font-size: 18px;
|
||||
|
|
@ -1088,18 +1102,19 @@ h5 {
|
|||
}
|
||||
}
|
||||
|
||||
.accordian-content, div[slot*="body"] {
|
||||
.accordian-content,
|
||||
div[slot*="body"] {
|
||||
width: 100%;
|
||||
padding: 20px 15px;
|
||||
display: none;
|
||||
transition: 0.3s ease all;
|
||||
}
|
||||
|
||||
&.active > .accordian-content {
|
||||
&.active>.accordian-content {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&.active > .accordian-header .expand-icon {
|
||||
&.active>.accordian-header .expand-icon {
|
||||
background-image: url("../images/Expand-Light-On.svg");
|
||||
}
|
||||
}
|
||||
|
|
@ -1111,11 +1126,11 @@ h5 {
|
|||
margin-top: 10px;
|
||||
width: 100%;
|
||||
|
||||
> .tree-item {
|
||||
>.tree-item {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.active > .tree-item {
|
||||
&.active>.tree-item {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
|
@ -1145,13 +1160,13 @@ h5 {
|
|||
}
|
||||
|
||||
&.active {
|
||||
> .expand-icon {
|
||||
>.expand-icon {
|
||||
background-image: url("../images/Expand-Light-On.svg");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .tree-item {
|
||||
>.tree-item {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -1200,10 +1215,8 @@ modal {
|
|||
margin-left: -300px;
|
||||
position: fixed;
|
||||
z-index: 11;
|
||||
@include box-shadow(
|
||||
0px 15px 25px 0px rgba(0, 0, 0, 0.03),
|
||||
0px 20px 45px 5px rgba(0, 0, 0, 0.2)
|
||||
);
|
||||
@include box-shadow(0px 15px 25px 0px rgba(0, 0, 0, 0.03),
|
||||
0px 20px 45px 5px rgba(0, 0, 0, 0.2));
|
||||
animation: fade-in-white 0.3s ease-in-out;
|
||||
animation: jelly 0.5s ease-in-out;
|
||||
@include border-radius(5px);
|
||||
|
|
@ -1244,12 +1257,12 @@ modal {
|
|||
}
|
||||
|
||||
.control-group {
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
|
||||
.control {
|
||||
.control {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
|
|
@ -1346,7 +1359,7 @@ modal {
|
|||
}
|
||||
|
||||
.remove-image {
|
||||
background-image: linear-gradient(-180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.24) 100%);
|
||||
background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.24) 100%);
|
||||
@include border-radius(0 0 4px 4px);
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
|
|
@ -1354,7 +1367,7 @@ modal {
|
|||
padding: 10px;
|
||||
text-align: center;
|
||||
color: $white-color;
|
||||
text-shadow: 0 1px 2px rgba(0,0,0,0.24);
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
margin-right: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
@ -1475,7 +1488,8 @@ modal {
|
|||
}
|
||||
}
|
||||
|
||||
.start-date::after, .end-date::after {
|
||||
.start-date::after,
|
||||
.end-date::after {
|
||||
background-image: url(../images/Icon-Calendar.svg);
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
|
|
@ -1488,45 +1502,44 @@ modal {
|
|||
top: 43%;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 414px){
|
||||
.notification{
|
||||
@media only screen and (max-width: 414px) {
|
||||
.notification {
|
||||
width: 414px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 411px){
|
||||
.notification{
|
||||
@media only screen and (max-width: 411px) {
|
||||
.notification {
|
||||
width: 410px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 393px){
|
||||
.notification{
|
||||
@media only screen and (max-width: 393px) {
|
||||
.notification {
|
||||
width: 393px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 390px){
|
||||
.notification{
|
||||
@media only screen and (max-width: 390px) {
|
||||
.notification {
|
||||
width: 390px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 375px){
|
||||
.notification{
|
||||
@media only screen and (max-width: 375px) {
|
||||
.notification {
|
||||
width: 375px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 360px){
|
||||
.notification{
|
||||
@media only screen and (max-width: 360px) {
|
||||
.notification {
|
||||
width: 360px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 320px){
|
||||
.notification{
|
||||
@media only screen and (max-width: 320px) {
|
||||
.notification {
|
||||
width: 320px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -27,9 +27,9 @@
|
|||
display: inline-block;
|
||||
|
||||
&.per-page {
|
||||
|
||||
|
||||
.control-group {
|
||||
|
||||
|
||||
label {
|
||||
margin-top: 7px;
|
||||
margin-right: 10px;
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
.datagrid-filters {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
column-gap: 10px;
|
||||
align-items: end;
|
||||
|
||||
.filter-right {
|
||||
|
|
@ -60,8 +60,8 @@
|
|||
column-gap: 10px;
|
||||
align-items: end;
|
||||
|
||||
.control-group{
|
||||
.control{
|
||||
.control-group {
|
||||
.control {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
}
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
margin-bottom: 15px;
|
||||
display: block;
|
||||
|
||||
.control{
|
||||
.control {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
}
|
||||
|
|
@ -154,12 +154,12 @@
|
|||
width: 100%;
|
||||
}
|
||||
}
|
||||
.filter-advance{
|
||||
|
||||
.filter-advance {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
.filter-tag {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
|
@ -249,27 +249,27 @@
|
|||
@media only screen and (max-width: 1040px) {
|
||||
.grid-container {
|
||||
|
||||
.grid-top{
|
||||
.grid-top {
|
||||
.datagrid-filters {
|
||||
grid-template-columns: 100%;
|
||||
row-gap: 0px;
|
||||
|
||||
.search-filter{
|
||||
|
||||
.search-filter {
|
||||
max-width: 100% !important;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.filter-left {
|
||||
display: grid;
|
||||
grid-template-columns: 49.5% 49%;
|
||||
column-gap: 5px;
|
||||
}
|
||||
|
||||
|
||||
.filter-right {
|
||||
display: grid;
|
||||
grid-template-columns: 49.5% 49%;
|
||||
column-gap: 5px;
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -277,5 +277,5 @@
|
|||
|
||||
.grid-dropdown-header {
|
||||
min-width: 122px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -166,6 +166,11 @@
|
|||
background-image: url("../images/Local-Icon.svg");
|
||||
}
|
||||
|
||||
.locale-icon-bold {
|
||||
@extend %menu-properties;
|
||||
background-image: url("../images/Local-Icon-bold.svg");
|
||||
}
|
||||
|
||||
.store-icon {
|
||||
@extend %menu-properties;
|
||||
background-image: url("../images/store-icon.svg");
|
||||
|
|
|
|||
|
|
@ -2,12 +2,10 @@
|
|||
|
||||
namespace Webkul\User\Http\Controllers;
|
||||
|
||||
use Auth;
|
||||
|
||||
class SessionController extends Controller
|
||||
{
|
||||
/**
|
||||
* Contains route related configuration
|
||||
* Contains route related configuration.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
|
|
@ -20,11 +18,9 @@ class SessionController extends Controller
|
|||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('admin')->except(['create','store']);
|
||||
$this->middleware('admin')->except(['create', 'store']);
|
||||
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->middleware('guest', ['except' => 'destroy']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -36,17 +32,17 @@ class SessionController extends Controller
|
|||
{
|
||||
if (auth()->guard('admin')->check()) {
|
||||
return redirect()->route('admin.dashboard.index');
|
||||
} else {
|
||||
if (strpos(url()->previous(), 'admin') !== false) {
|
||||
$intendedUrl = url()->previous();
|
||||
} else {
|
||||
$intendedUrl = route('admin.dashboard.index');
|
||||
}
|
||||
|
||||
session()->put('url.intended', $intendedUrl);
|
||||
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
if (strpos(url()->previous(), 'admin') !== false) {
|
||||
$intendedUrl = url()->previous();
|
||||
} else {
|
||||
$intendedUrl = route('admin.dashboard.index');
|
||||
}
|
||||
|
||||
session()->put('url.intended', $intendedUrl);
|
||||
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -57,7 +53,7 @@ class SessionController extends Controller
|
|||
public function store()
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'email' => 'required|email',
|
||||
'email' => 'required|email',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
|
@ -92,4 +88,4 @@ class SessionController extends Controller
|
|||
|
||||
return redirect()->route($this->_config['redirect']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 8.35558L12.2221 5.13346C12.4001 4.95551 12.6886 4.95551 12.8665 5.13346C13.0445 5.31142 13.0445 5.59993 12.8665 5.77789L9.64442 9L12.8665 12.2221C13.0445 12.4001 13.0445 12.6886 12.8665 12.8665C12.6886 13.0445 12.4001 13.0445 12.2221 12.8665L9 9.64442L5.77789 12.8665C5.59993 13.0445 5.31142 13.0445 5.13346 12.8665C4.95551 12.6886 4.95551 12.4001 5.13346 12.2221L8.35558 9L5.13346 5.77789C4.95551 5.59993 4.95551 5.31142 5.13346 5.13346C5.31142 4.95551 5.59993 4.95551 5.77789 5.13346L9 8.35558Z" fill="#9497B8"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 670 B |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 18C15.9978 18 19.1645 16 22 12C19.1645 8 15.9978 6 12.5 6C9.0022 6 5.83553 8 3 12C5.83553 16 9.0022 18 12.5 18Z" stroke="#9497B8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12.139 14.278C13.3203 14.278 14.278 13.3203 14.278 12.139C14.278 10.9577 13.3203 10 12.139 10C10.9577 10 10 10.9577 10 12.139C10 13.3203 10.9577 14.278 12.139 14.278Z" stroke="#9497B8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 615 B |
|
|
@ -3,9 +3,11 @@
|
|||
"/js/velocity.js": "/js/velocity.js?id=3ede5db1d647d2cbb3d2",
|
||||
"/js/manifest.js": "/js/manifest.js?id=49cba5d7f2bde965afa8",
|
||||
"/js/components.js": "/js/components.js?id=553ee40489a7d7ae4060",
|
||||
"/css/velocity.css": "/css/velocity.css?id=b057a4d50e0375750236",
|
||||
"/css/velocity-admin.css": "/css/velocity-admin.css?id=9148ecc25c73e398cd16",
|
||||
"/css/velocity.css": "/css/velocity.css?id=ad89697453746671fd8f",
|
||||
"/css/velocity-admin.css": "/css/velocity-admin.css?id=f492100e7b8496e7b32d",
|
||||
"/images/Camera.svg": "/images/Camera.svg?id=b2fd2f9e17e1ccee96e2",
|
||||
"/images/Icon-Calendar.svg": "/images/Icon-Calendar.svg?id=870d0f733a5837742276",
|
||||
"/images/Icon-Crossed.svg": "/images/Icon-Crossed.svg?id=c72c3c1ef790bd4fd993",
|
||||
"/images/Icon-eye.svg": "/images/Icon-eye.svg?id=9345f20b862e21aa30c6",
|
||||
"/images/icon-search.svg": "/images/icon-search.svg?id=a5f38a895551b8a015b2"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 8.35558L12.2221 5.13346C12.4001 4.95551 12.6886 4.95551 12.8665 5.13346C13.0445 5.31142 13.0445 5.59993 12.8665 5.77789L9.64442 9L12.8665 12.2221C13.0445 12.4001 13.0445 12.6886 12.8665 12.8665C12.6886 13.0445 12.4001 13.0445 12.2221 12.8665L9 9.64442L5.77789 12.8665C5.59993 13.0445 5.31142 13.0445 5.13346 12.8665C4.95551 12.6886 4.95551 12.4001 5.13346 12.2221L8.35558 9L5.13346 5.77789C4.95551 5.59993 4.95551 5.31142 5.13346 5.13346C5.31142 4.95551 5.59993 4.95551 5.77789 5.13346L9 8.35558Z" fill="#9497B8"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 670 B |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 18C15.9978 18 19.1645 16 22 12C19.1645 8 15.9978 6 12.5 6C9.0022 6 5.83553 8 3 12C5.83553 16 9.0022 18 12.5 18Z" stroke="#9497B8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12.139 14.278C13.3203 14.278 14.278 13.3203 14.278 12.139C14.278 10.9577 13.3203 10 12.139 10C10.9577 10 10 10.9577 10 12.139C10 13.3203 10.9577 14.278 12.139 14.278Z" stroke="#9497B8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 615 B |
|
|
@ -15,6 +15,7 @@
|
|||
@import 'components/product-view';
|
||||
@import 'components/media';
|
||||
@import 'components/rtl';
|
||||
@import 'components/datagrid';
|
||||
|
||||
/* static */
|
||||
@import 'static/material-icons';
|
||||
|
|
|
|||
|
|
@ -962,203 +962,6 @@
|
|||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.records-count-container {
|
||||
float: right;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#datagrid-filters {
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
display: inline-flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.filter-left {
|
||||
.icon-wrapper {
|
||||
.search-btn {
|
||||
background-size: cover;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background-image: url('../images/icon-search.svg');
|
||||
position: relative;
|
||||
float: left;
|
||||
top: -32px;
|
||||
left: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> * {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
|
||||
&.search-filter {
|
||||
top: 20px;
|
||||
max-width: 200px;
|
||||
margin-right: 20px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&:nth-of-type(2) {
|
||||
width: calc(50% - 10px);
|
||||
}
|
||||
|
||||
&:nth-of-type(3) {
|
||||
width: calc(50% - 220px);
|
||||
|
||||
.control-group {
|
||||
float: right;
|
||||
max-width: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
input,
|
||||
select {
|
||||
height: 38px;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
font-size: 16px;
|
||||
|
||||
.grid-dropdown-header {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dropdown-list {
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-toggle:after {
|
||||
border: unset;
|
||||
}
|
||||
|
||||
.dropdown-container {
|
||||
width: 100%;
|
||||
display: inline-block !important;
|
||||
|
||||
button {
|
||||
&.btn {
|
||||
@extend .theme-btn;
|
||||
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
margin-top: 10px;
|
||||
font-weight: 600;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
li:not(:last-child) {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
li {
|
||||
width: 150px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
.control-group {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
~ table {
|
||||
&.table {
|
||||
thead {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
tbody {
|
||||
font-size: 16px;
|
||||
|
||||
tr {
|
||||
td {
|
||||
a {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.badge {
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.action {
|
||||
a {
|
||||
@extend .unset;
|
||||
}
|
||||
|
||||
.eye-icon {
|
||||
@extend .rango-default;
|
||||
@extend .rango-eye-visible;
|
||||
|
||||
font-size: 24px;
|
||||
padding-left: 10px;
|
||||
|
||||
&:hover {
|
||||
color: $link-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.filter-left {
|
||||
float: left;
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.filter-right {
|
||||
top: -20px;
|
||||
width: 70%;
|
||||
float: right;
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
|
||||
.per-page {
|
||||
right: 0;
|
||||
width: 150px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.filtered-tags {
|
||||
.filter-tag {
|
||||
font-size: 16px;
|
||||
margin-right: 20px;
|
||||
|
||||
.cross-icon {
|
||||
@extend .rango-default;
|
||||
|
||||
&::before {
|
||||
top: 1px;
|
||||
content: '\e91f';
|
||||
margin-left: 4px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
color: #000311;
|
||||
margin-left: 10px;
|
||||
padding: 5px 10px;
|
||||
background: #e7e7e7;
|
||||
letter-spacing: -0.22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.profile-page-content {
|
||||
.table {
|
||||
padding: 0;
|
||||
|
|
|
|||
396
packages/Webkul/Velocity/src/Resources/assets/sass/components/datagrid.scss
vendored
Normal file
|
|
@ -0,0 +1,396 @@
|
|||
@import "../main/mixins";
|
||||
@import "../main/_variables";
|
||||
|
||||
.dropdown-toggle{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dropdown-toggle::after {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 16px;
|
||||
}
|
||||
|
||||
.rtl{
|
||||
.dropdown-toggle::after {
|
||||
position: absolute;
|
||||
left: 22px;
|
||||
top: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
|
||||
.table-responsive {
|
||||
overflow-x: auto;
|
||||
width: 100%;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
height: 5px !important;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(200, 200, 200, 1) !important;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px !important;
|
||||
background-color: #fff !important;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(90, 90, 90, 0.7) !important;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
|
||||
thead th {
|
||||
font-weight: 700;
|
||||
padding: 12px 10px;
|
||||
background: #f8f9fa;
|
||||
color: $font-color;
|
||||
}
|
||||
|
||||
tbody td {
|
||||
padding: 10px;
|
||||
border-bottom: solid 1px #d3d3d3;
|
||||
color: $font-color;
|
||||
vertical-align: top;
|
||||
|
||||
&.actions {
|
||||
|
||||
.action {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.icon {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
&.empty {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
tbody tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
.control-group {
|
||||
width: 100%;
|
||||
margin-bottom: 0;
|
||||
min-width: 140px;
|
||||
|
||||
.control {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grid-container {
|
||||
display: block;
|
||||
width: 100%;
|
||||
|
||||
.grid-top {
|
||||
display: grid;
|
||||
grid-template-rows: auto auto auto;
|
||||
row-gap: 8px;
|
||||
align-items: center;
|
||||
|
||||
.datagrid-filters {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
|
||||
.grid-right {
|
||||
justify-self: end;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
display: inline-block;
|
||||
|
||||
&.per-page {
|
||||
|
||||
.control-group {
|
||||
margin-bottom: 0px;
|
||||
|
||||
label {
|
||||
margin-top: 7px;
|
||||
margin-right: 10px;
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
.control {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.datagrid-filters {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
align-items: end;
|
||||
|
||||
.filter-right {
|
||||
justify-self: end;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
align-items: end;
|
||||
|
||||
.control-group {
|
||||
.control {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.filtered-tags {
|
||||
display: inline-flex;
|
||||
align-items: flex-start;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.search-filter {
|
||||
border-radius: 3px;
|
||||
height: 36px;
|
||||
max-width: 300px;
|
||||
|
||||
.control {
|
||||
font-size: 15px;
|
||||
border: 1px solid $control-border-color;
|
||||
border-right: none;
|
||||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
height: 36px;
|
||||
width: calc(100% - 36px);
|
||||
padding-left: 10px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0px 0px 0px 1px $selection-color;
|
||||
}
|
||||
|
||||
.contorl:focus {
|
||||
border-color: $brand-color;
|
||||
}
|
||||
|
||||
.icon-wrapper {
|
||||
border: 1px solid $control-border-color;
|
||||
border-radius: 3px;
|
||||
border-top-left-radius: 0px;
|
||||
border-bottom-left-radius: 0px;
|
||||
height: 36px;
|
||||
width: 36px;
|
||||
padding: 5px;
|
||||
float: right;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.grid-dropdown-header {
|
||||
display: inline-flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 36px;
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
border: 1px solid $control-border-color;
|
||||
border-radius: 3px;
|
||||
background-color: $white-color;
|
||||
padding: 0px 5px 0px 5px;
|
||||
|
||||
.arrow-icon-down {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-list {
|
||||
margin-bottom: 20px;
|
||||
box-shadow: 0 2px 4px 0 rgb(0 0 0 / 16%), 0 0 9px 0 rgb(0 0 0 / 16%);
|
||||
border-radius: 3px;
|
||||
background-color: #ffffff;
|
||||
position: absolute;
|
||||
display: none;
|
||||
z-index: 10;
|
||||
text-align: left;
|
||||
|
||||
&.dropdown-container {
|
||||
padding: 15px;
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
|
||||
li {
|
||||
list-style: none !important;
|
||||
|
||||
.control-group {
|
||||
margin-bottom: 15px;
|
||||
display: block;
|
||||
|
||||
.control {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.apply-filter {
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.filter-advance {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.filter-tag {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-size: 14px;
|
||||
height: 40px;
|
||||
border-radius: 2px;
|
||||
margin-right: 20px;
|
||||
|
||||
.wrapper {
|
||||
margin-left: 4px;
|
||||
padding: 5px 10px 5px 16px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
background: #E7E7E7;
|
||||
border: 1px solid #E7E7E7;
|
||||
font-size: 14px;
|
||||
height: 40px;
|
||||
color: #000311;
|
||||
letter-spacing: -0.22px;
|
||||
@include border-radius(24px);
|
||||
|
||||
.icon.cross-icon {
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: $white-color;
|
||||
border: 1px solid #E7E7E7;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rtl {
|
||||
.search-filter {
|
||||
|
||||
.control {
|
||||
padding-right: 10px;
|
||||
border-left: 0;
|
||||
border-right: 1px solid #C7C7C7;
|
||||
border-top-right-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.icon-wrapper {
|
||||
float: left;
|
||||
border-top-right-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0px 0px 0px 1px $selection-color;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
display: inline-block;
|
||||
|
||||
|
||||
&.per-page {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.filtered-tags {
|
||||
.filter-tag {
|
||||
|
||||
.wrapper,
|
||||
.cross-icon {
|
||||
margin-right: 10px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 768px) {
|
||||
.grid-container {
|
||||
|
||||
.grid-top {
|
||||
.datagrid-filters {
|
||||
grid-template-columns: 100%;
|
||||
row-gap: 0px;
|
||||
|
||||
.search-filter {
|
||||
max-width: 100% !important;
|
||||
|
||||
}
|
||||
|
||||
.filter-left {
|
||||
display: grid;
|
||||
grid-template-columns: 49.5% 49%;
|
||||
column-gap: 5px;
|
||||
}
|
||||
|
||||
.filter-right {
|
||||
display: grid;
|
||||
grid-template-columns: 49.5% 49%;
|
||||
column-gap: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grid-dropdown-header {
|
||||
min-width: 122px;
|
||||
}
|
||||
|
||||
.dropdown-list {
|
||||
|
||||
&.dropdown-container {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -354,46 +354,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.account-table-content {
|
||||
#datagrid-filters {
|
||||
> * {
|
||||
&.search-filter {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
&.dropdown-filters {
|
||||
width: 100%;
|
||||
|
||||
.control-group {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.dropdown-container {
|
||||
li {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-of-type(2) {
|
||||
margin-top: 30px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
&.per-page {
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sale-container {
|
||||
.tabs-content {
|
||||
.totals {
|
||||
|
|
@ -427,40 +387,6 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
table {
|
||||
thead {
|
||||
display: none;
|
||||
}
|
||||
|
||||
tr {
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid $border-common;
|
||||
|
||||
td {
|
||||
width: 100%;
|
||||
border-top: none;
|
||||
border-right: 1px solid $border-common !important;
|
||||
|
||||
&:before {
|
||||
content: attr(data-value);
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.action {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -980,10 +906,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
#datagrid-filters.datagrid-filters {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#sort-by.sorter select {
|
||||
top: 2px;
|
||||
left: 25px;
|
||||
|
|
@ -1022,31 +944,6 @@
|
|||
display: block !important;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 90%;
|
||||
margin-bottom: 1rem;
|
||||
margin-top: 68px;
|
||||
color: #212529;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.per-page {
|
||||
position: absolute;
|
||||
margin-top: 66px;
|
||||
margin-right: -1px;
|
||||
margin-left: 17px;
|
||||
width: 151px;
|
||||
}
|
||||
|
||||
.filter-left {
|
||||
position: relative;
|
||||
margin-right: -6px!important;
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
button.btn.btn-sm.btn-primary.apply-filter {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -409,34 +409,6 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
.account-content {
|
||||
.account-layout {
|
||||
.account-table-content {
|
||||
.records-count-container {
|
||||
float: left;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#datagrid-filters {
|
||||
.filter-left {
|
||||
.icon-wrapper {
|
||||
.search-btn {
|
||||
float: left;
|
||||
right: unset;
|
||||
left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.per-page {
|
||||
left: 0;
|
||||
right: unset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.advertisement-three-container {
|
||||
.second-panel {
|
||||
padding-right: 30px;
|
||||
|
|
|
|||
|
|
@ -22,4 +22,16 @@
|
|||
&.velocity-icon {
|
||||
background-image: url("../images/Icon-Velocity-Active.svg");
|
||||
}
|
||||
}
|
||||
|
||||
.eye-icon {
|
||||
background-image: url("../images/Icon-eye.svg");
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.cross-icon {
|
||||
background-image: url("../images/Icon-Crossed.svg");
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
|
@ -56,3 +56,8 @@ $box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
|
|||
$material-icons-font-path: '../material-icons/iconfont/' !default;
|
||||
$border-normal: 1px solid $border-dark;
|
||||
$font-family-pro: 'Source Sans Pro', sans-serif;
|
||||
|
||||
|
||||
$control-border-color: #C7C7C7;
|
||||
$selection-color: rgba(0, 64, 255, 0.6);
|
||||
$brand-color: #0041FF;
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
<script type="text/x-template" id="cart-template">
|
||||
<div class="container">
|
||||
<section class="cart-details row no-margin col-12">
|
||||
<h2 class="fw6 col-12">{{ __('shop::app.checkout.cart.title') }}</h2>
|
||||
<h2 class="cart-details-header fw6 col-12">{{ __('shop::app.checkout.cart.title') }}</h2>
|
||||
|
||||
@if ($cart)
|
||||
<div class="cart-details-header col-lg-6 col-md-12">
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
@endsection
|
||||
|
||||
@section('content-wrapper')
|
||||
<div class="cms-page-container cart-details row">
|
||||
<div class="cms-page-container p-2">
|
||||
{!! DbView::make($page)->field('html_content')->render() !!}
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
@section('page-detail-wrapper')
|
||||
<div class="account-head mb-15">
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.profile.index.title') }}</span>
|
||||
|
||||
<span></span>
|
||||
</div>
|
||||
|
||||
|
|
@ -61,9 +62,14 @@
|
|||
class="control styled-select"
|
||||
data-vv-as=""{{ __('shop::app.customer.account.profile.gender') }}"">
|
||||
|
||||
<option value="" @if ($customer->gender == "") selected @endif></option>
|
||||
<option
|
||||
value="Other"
|
||||
<option value=""
|
||||
@if ($customer->gender == "")
|
||||
selected="selected"
|
||||
@endif>
|
||||
{{ __('admin::app.customers.customers.select-gender') }}
|
||||
</option>
|
||||
|
||||
<option value="Other"
|
||||
@if ($customer->gender == "Other")
|
||||
selected="selected"
|
||||
@endif>
|
||||
|
|
@ -148,7 +154,7 @@
|
|||
<label class="col-12">
|
||||
{{ __('admin::app.catalog.categories.image') }}
|
||||
</label>
|
||||
|
||||
|
||||
<div class="col-12">
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="image" :multiple="false" :images='"{{ $customer->image_url }}"'></image-wrapper>
|
||||
|
||||
|
|
@ -224,4 +230,4 @@
|
|||
</form>
|
||||
|
||||
{!! view_render_event('bagisto.shop.customers.account.profile.edit.after', ['customer' => $customer]) !!}
|
||||
@endsection
|
||||
@endsection
|
||||
|
|
|
|||