rtl initial

This commit is contained in:
shubhammehrotra.symfony@webkul.com 2020-01-30 18:21:04 +05:30
parent 6923e43c1e
commit 7e2abffede
26 changed files with 2230 additions and 119 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,189 @@
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lqDY.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lqDY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lqDY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lqDY.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhduz8A.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxduz8A.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxduz8A.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBduz8A.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmhduz8A.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwkxduz8A.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmxduz8A.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBduz8A.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBduz8A.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRduz8A.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(https://fonts.gstatic.com/s/sourcesanspro/v13/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

View File

@ -1252,10 +1252,6 @@
position: relative;
}
.dropdown-icon-custom .mini-cart-content {
display: inline-block;
}
.dropdown-icon-custom::after {
top: -5px;
color: black;
@ -3484,6 +3480,14 @@ body::after {
color: #4D7EA8;
}
.ltr {
direction: ltr;
}
.rtl {
direction: rtl;
}
.padding-15 {
padding: 15px;
}
@ -3798,6 +3802,7 @@ body::after {
font-weight: 600;
padding: 10px 20px;
vertical-align: top;
border: 1px solid transparent;
color: #FFFFFF !important;
background-color: #26A37C !important;
}
@ -4283,11 +4288,11 @@ button[disabled] {
/* Safari and Chrome */
}
.styled-select + .select-icon-contanier {
.styled-select + .select-icon-container {
position: relative;
}
.styled-select + .select-icon-contanier .select-icon {
.styled-select + .select-icon-container .select-icon {
top: -24px;
left: unset;
right: 10px;
@ -4295,6 +4300,20 @@ button[disabled] {
position: absolute;
}
.down-arrow-container {
position: relative;
color: rgba(0, 0, 0, 0.83);
vertical-align: top;
display: inline-block;
}
.down-arrow-container .rango-arrow-down {
top: 10px;
left: -5px;
font-size: 16px;
position: absolute;
}
.select-icon {
top: 5px;
left: -7px;
@ -4321,7 +4340,7 @@ button[disabled] {
.rango-default, .account-content .sidebar .customer-sidebar .navigation li i.icon, .account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon,
.account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-left-icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-right-icon,
.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon, header #search-form .btn-group .selectdiv, header #search-form .quantity .selectdiv {
.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon {
speak: none;
line-height: 1;
font-style: normal;
@ -5048,6 +5067,8 @@ button[disabled] {
}
.nav-container .wrapper ul li {
font-size: 16px;
}
.nav-container .wrapper ul li a {
padding: 10px 0px 10px 20px;
}
.nav-container .wrapper ul li:hover {
@ -5207,6 +5228,68 @@ button[disabled] {
}
}
body.rtl {
text-align: right;
}
body.rtl .velocity-divide-page .right {
padding-right: 230px;
padding-left: 0 !important;
}
body.rtl header #search-form .btn-group select, body.rtl header #search-form .quantity select {
border-left: 0;
border-right: 1px solid #26A37C;
}
body.rtl header #search-form .btn-group .selectdiv .select-icon, body.rtl header #search-form .quantity .selectdiv .select-icon {
left: 8px;
}
body.rtl header.sticky-header img {
float: right;
}
body.rtl .main-content-wrapper .main-category {
text-align: right;
}
body.rtl .main-content-wrapper .main-category i {
float: right;
margin-left: 10px;
}
body.rtl .mini-cart-container #mini-cart .badge {
top: -14px;
right: -38px;
}
body.rtl .mini-cart-container #mini-cart .cart-text {
left: 24px;
vertical-align: top;
}
body.rtl .form-container .container .heading h2 {
float: right;
}
body.rtl .form-container .container .heading a {
float: left;
}
body.rtl .subscriber-form-div {
text-align: left;
}
body.rtl .footer .footer-content .newsletter-subscription .newsletter-wrapper input.subscribe-field {
left: -4px;
position: relative;
}
body.rtl #top #account .welcome-content i {
text-align: left;
}
/* fallback */
@font-face {
font-family: 'Material Icons';
@ -13474,7 +13557,6 @@ body {
}
#top #account .welcome-content {
float: right;
display: table;
min-width: 150px;
cursor: pointer;
@ -13528,6 +13610,14 @@ body {
padding-left: 5px;
}
#top .dropdown {
margin-right: 15px;
}
#top .dropdown .select-icon-container .select-icon {
right: -8px;
}
.dropdown-menu {
border-top: 3px solid #269c77;
border-radius: 0px;
@ -13657,13 +13747,11 @@ header #search-form .btn-group .selectdiv, header #search-form .quantity .select
width: 170px;
}
header #search-form .btn-group .selectdiv:before, header #search-form .quantity .selectdiv:before {
top: 10px;
left: 108px;
header #search-form .btn-group .selectdiv .select-icon, header #search-form .quantity .selectdiv .select-icon {
top: 9px;
right: 8px;
z-index: 10;
font-size: 16px;
content: "\E906";
position: absolute;
font-size: 18px;
}
header #search-form .btn-group select, header #search-form .quantity select {
@ -13672,7 +13760,7 @@ header #search-form .btn-group select, header #search-form .quantity select {
cursor: pointer;
border-radius: 2px 0px 0px 2px;
border: 1px solid #26A37C;
border-right: none;
border-right: 0;
font-family: "Source Sans Pro", sans-serif;
-webkit-appearance: none;
-moz-appearance: none;
@ -13724,24 +13812,25 @@ header #search-form #header-search-icon i {
header .mini-cart-container {
height: 50px;
padding: 5px 0px;
padding: 5px 22px;
}
header .mini-cart-container #mini-cart .mini-cart-content {
position: relative;
width: 75px;
text-align: right;
font-weight: 600;
font-size: 16px;
color: rgba(0, 0, 0, 0.83);
font-weight: 600;
text-align: right;
letter-spacing: 0;
position: relative;
color: rgba(0, 0, 0, 0.83);
display: inline-block;
}
header .mini-cart-container #mini-cart .mini-cart-content .material-icons {
position: absolute;
left: 0px;
top: 0px;
font-size: 26px;
position: absolute;
}
header .dropdown-menu-large {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -36668,9 +36668,10 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
props: ['id', 'loop', 'timeout', 'autoplay', 'addClass', 'slidesCount', 'slidesPerPage', 'navigationEnabled', 'paginationEnabled'],
props: ['id', 'loop', 'timeout', 'autoplay', 'addClass', 'slidesCount', 'slidesPerPage', 'sliderDirection', 'navigationEnabled', 'paginationEnabled'],
data: function data() {
return {};
@ -36705,7 +36706,8 @@ var render = function() {
perPage: parseInt(_vm.slidesPerPage),
loop: _vm.loop == "true" ? true : false,
autoplay: _vm.autoplay == "true" ? true : false,
autoplayTimeout: _vm.timeout ? parseInt(_vm.timeout) : 2000
autoplayTimeout: _vm.timeout ? parseInt(_vm.timeout) : 2000,
autoplayDirection: _vm.sliderDirection ? _vm.sliderDirection : "forward"
}
},
[

View File

@ -120,7 +120,16 @@ class ContentRepository extends Repository
public function getAllContents()
{
$content = $this->model::orderBy('position', 'ASC')->where('status', 1)->limit(5)->get();
$query = $this->model::orderBy('position', 'ASC');
$content = $query
->select('velocity_contents.*', 'velocity_contents_translations.*')
->where('velocity_contents.status', 1)
->leftJoin('velocity_contents_translations', 'velocity_contents.id', 'velocity_contents_translations.content_id')
->distinct('velocity_contents_translations.id')
->where('velocity_contents_translations.locale', app()->getLocale())
->limit(5)
->get();
return $content;
}

View File

@ -6,6 +6,7 @@
:loop="loop == 'true' ? true : false"
:autoplay="autoplay == 'true' ? true : false"
:autoplayTimeout="timeout ? parseInt(timeout) : 2000"
:autoplayDirection="sliderDirection ? sliderDirection : 'forward'"
:class="[
(navigationEnabled == 'hide') ? 'navigation-hide' : '',
(paginationEnabled == 'hide') ? 'pagination-hide' : '',
@ -29,6 +30,7 @@
'addClass',
'slidesCount',
'slidesPerPage',
'sliderDirection',
'navigationEnabled',
'paginationEnabled',
],

View File

@ -9,10 +9,10 @@
@import "components/shared";
@import "components/product-view";
@import "components/media";
@import "components/rtl";
@import "static/material-icons";
@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
// @import '../../../../publishable/assets/material-icons/iconfont/material-icons.scss';
* {
margin: 0;
@ -192,8 +192,6 @@ body {
.welcome-content {
@extend .unselectable;
float: right;
display: table;
min-width: 150px;
cursor: pointer;
@ -245,6 +243,16 @@ body {
.locale-switcher {
padding-left: 5px;
}
.dropdown {
margin-right: 15px;
.select-icon-container {
.select-icon {
right: -8px;
}
}
}
}
@ -376,18 +384,14 @@ header {
max-width: 550px;
.selectdiv {
@extend .rango-default;
width: 170px;
}
.selectdiv:before {
top: 10px;
left: 108px;
z-index: 10;
font-size: 16px;
content: "\E906";
position: absolute;
.select-icon {
top: 9px;
right: 8px;
z-index: 10;
font-size: 18px;
}
}
select {
@ -396,7 +400,7 @@ header {
cursor: pointer;
border-radius: 2px 0px 0px 2px;
border: 1px solid $theme-color;
border-right: none;
border-right: 0;
font-family:"Source Sans Pro", sans-serif;
-webkit-appearance: none;
@ -451,23 +455,24 @@ header {
.mini-cart-container {
height: 50px;
padding: 5px 0px;
padding: 5px 22px;
#mini-cart {
.mini-cart-content {
position: relative;
width: 75px;
text-align: right;
font-weight: 600;
font-size: 16px;
color: $font-color;
font-weight: 600;
text-align: right;
letter-spacing: 0;
position: relative;
color: $font-color;
display: inline-block;
.material-icons {
position: absolute;
left: 0px;
top: 0px;
font-size: 26px;
position: absolute;
}
}
}

View File

@ -513,12 +513,6 @@
}
}
.dropdown-icon-custom {
.mini-cart-content {
display: inline-block;
}
}
.dropdown-icon-custom::after {
top: -5px;
color: black;

View File

@ -661,7 +661,10 @@
li {
font-size: 16px;
padding: 10px 0px 10px 20px;
a {
padding: 10px 0px 10px 20px;
}
&:hover {
background-color: $border-light;

View File

@ -0,0 +1,103 @@
body {
&.rtl {
text-align: right;
.velocity-divide-page {
.right {
padding-right: 230px;
padding-left: 0 !important;
}
}
header {
#search-form {
.btn-group {
select {
border-left: 0;
border-right: 1px solid $theme-color;
}
.selectdiv {
.select-icon {
left: 8px;
}
}
}
}
&.sticky-header {
img {
float: right;
}
}
}
.main-content-wrapper {
.main-category {
text-align: right;
i {
float: right;
margin-left: 10px;
}
}
}
.mini-cart-container {
#mini-cart {
.badge {
top: -14px;
right: -38px;
}
.cart-text {
left: 24px;
vertical-align: top;
}
}
}
.form-container {
.container {
.heading {
h2 {
float: right;
}
a {
float: left;
}
}
}
}
.subscriber-form-div {
text-align: left;
}
.footer {
.footer-content {
.newsletter-subscription {
.newsletter-wrapper {
input {
&.subscribe-field {
left: -4px;
position: relative;
}
}
}
}
}
}
#top {
#account {
.welcome-content {
i {
text-align: left;
}
}
}
}
}
}

View File

@ -1,3 +1,10 @@
.ltr {
direction: ltr;
}
.rtl {
direction: rtl;
}
.padding-15 {
padding: 15px;
}
@ -253,6 +260,7 @@
font-weight: 600;
padding: 10px 20px;
vertical-align: top;
border: 1px solid transparent;
color: $light-color !important;
background-color: $theme-color !important;
@ -759,7 +767,7 @@ button[disabled] {
-moz-appearance:none; /* Firefox */
-webkit-appearance:none; /* Safari and Chrome */
+ .select-icon-contanier {
+ .select-icon-container {
position: relative;
.select-icon {
@ -772,6 +780,20 @@ button[disabled] {
}
}
.down-arrow-container {
position: relative;
color: $font-color;
vertical-align: top;
display: inline-block;
.rango-arrow-down {
top: 10px;
left: -5px;
font-size: 16px;
position: absolute;
}
}
.select-icon {
top: 5px;
left: -7px;

View File

@ -0,0 +1,39 @@
<?php
return [
'customer' => [
'login-form' => [
'customer-login' => 'تسجيل دخول العميل',
'registered-user' => 'مستخدم مسجل',
'form-login-text' => 'إذا كان لديك حساب ، فقم بتسجيل الدخول باستخدام عنوان بريدك الإلكتروني.',
'sign-up' => 'سجل',
'new-customer' => 'عميل جديد',
'your-email-address' => 'عنوان بريدك الإلكتروني',
],
],
'menu-navbar' => [
'text-category' => 'تسوق حسب الاقسام',
],
'header' => [
'search-text' => 'ابحث عن منتجات هنا',
'welcome-message' => 'أهلا بك, :customer_name',
'all-categories' => 'جميع الفئات',
'guest' => 'زائر'
],
'minicart' => [
'cart' => 'عربة التسوق',
'view-cart' => 'عرض العربة',
'checkout' => 'الدفع',
],
'home' => [
'add-to-cart' => 'أضف إلى السلة',
'payment-methods' => 'طرق الدفع',
'shipping-methods' => 'طرق الشحن',
],
]
?>

View File

@ -157,6 +157,7 @@ return [
'profile' => 'Profile',
'wishlist' => 'Wishlist',
'cart' => 'Cart',
'guest' => 'Guest',
'logout' => 'Logout',
'search-text' => 'Search products here',
'all-categories' => 'All Categories'
@ -171,7 +172,6 @@ return [
'view-cart' => 'View Cart',
'checkout' => 'Checkout',
'cart' => 'Cart',
'zero' => '0'
],
'checkout' => [

View File

@ -35,11 +35,13 @@
class="btn btn-link disable-box-shadow">
<div class="mini-cart-content">
<i class="icon fs16 cell rango-arrow-down down-icon-position down-arrow-margin"></i>
<i class="material-icons-outlined text-down-3">shopping_cart</i>
<span class="badge" v-text="itemCount"></span>
<span class="fs18 fw6 cart-text">{{ __('velocity::app.minicart.cart') }}</span>
</div>
<div class="down-arrow-container">
<span class="rango-arrow-down"></span>
</div>
</button>
</script>
@ -96,7 +98,7 @@
<div class="btn-group full-width">
<div class="selectdiv">
<select class="form-control fs13 border-right-0" name="category">
<select class="form-control fs13 styled-select" name="category">
<option value="">
{{ __('velocity::app.header.all-categories') }}
</option>
@ -115,8 +117,11 @@
{{ $category->name }}
</option>
@endforeach
<span class="select-icon rango-arrow-down"></span>
</select>
<div class="select-icon-container">
<span class="select-icon rango-arrow-down"></span>
</div>
</div>
<div class="full-width">
@ -208,16 +213,16 @@
<ul type="none" class="category-wrapper">
<li v-for="(category, index) in JSON.parse(categories)">
<div class="category-logo">
<img
class="category-icon"
v-if="category.category_icon_path"
:src="`${url}/storage/${category.category_icon_path}`" />
</div>
<a
class="unset"
:href="`${url}/${category['translations'][0].url_path}`">
<div class="category-logo">
<img
class="category-icon"
v-if="category.category_icon_path"
:src="`${url}/storage/${category.category_icon_path}`" />
</div>
<span v-text="category.name"></span>
</a>
@ -340,16 +345,16 @@
:key="index"
v-for="(nestedSubCategory, index) in subCategory.children">
<div class="category-logo">
<img
class="category-icon"
v-if="nestedSubCategory.category_icon_path"
:src="`${url}/storage/${nestedSubCategory.category_icon_path}`" />
</div>
<a
class="unset"
:href="`${url}/${nestedSubCategory['translations'][0].url_path}`">
<div class="category-logo">
<img
class="category-icon"
v-if="nestedSubCategory.category_icon_path"
:src="`${url}/storage/${nestedSubCategory.category_icon_path}`" />
</div>
<span>@{{ nestedSubCategory.name }}</span>
</a>
@ -361,16 +366,16 @@
<li
:key="`index-${Math.random()}`"
v-for="(thirdLevelCategory, index) in nestedSubCategory.children">
<div class="category-logo">
<img
class="category-icon"
v-if="thirdLevelCategory.category_icon_path"
:src="`${url}/storage/${thirdLevelCategory.category_icon_path}`" />
</div>
<a
class="unset"
:href="`${url}/${nestedSubCategory['translations'][0].url_path}`">
<div class="category-logo">
<img
class="category-icon"
v-if="thirdLevelCategory.category_icon_path"
:src="`${url}/storage/${thirdLevelCategory.category_icon_path}`" />
</div>
<span>@{{ thirdLevelCategory.name }}</span>
</a>
</li>
@ -389,25 +394,24 @@
<ul type="none">
@foreach ($allLocales as $locale)
<li>
<div class="category-logo">
<img
class="category-icon"
src="{{ asset('/storage/' . $locale->locale_image) }}" />
</div>
<a
class="unset"
@if (isset($serachQuery))
href="?{{ $serachQuery }}&locale={{ $locale->code }}"
@else
href="?locale={{ $locale->code }}"
@endif>
@if (isset($serachQuery))
<a
class="unset"
href="?{{ $serachQuery }}&locale={{ $locale->code }}">
<span>{{ $locale->title }}</span>
</a>
@else
<a
class="unset"
href="locale={{ $locale->code }}">
<span>{{ $locale->name }}</span>
</a>
@endif
<div class="category-logo">
<img
class="category-icon"
src="{{ asset('/storage/' . $locale->locale_image) }}" />
</div>
<span>
{{ isset($serachQuery) ? $locale->title : $locale->name }}
</span>
</a>
</li>
@endforeach
</ul>
@ -498,13 +502,11 @@
<ul type="none" class="no-margin">
<li v-for="(content, index) in headerContent" :key="index">
<a
v-text="content.title"
v-text="content.custom_title"
:href="`${url}/${content['page_link']}`"
v-if="(content['content_type'] == 'link')"
:target="content['link_target'] ? '_blank' : '_self'">
</a>
<a href="#" v-else v-text="content.title"></a>
</li>
</ul>
</div>

View File

@ -0,0 +1,78 @@
<country-state></country-state>
@push('scripts')
<script type="text/x-template" id="country-state-template">
<div>
<div class="control-group" :class="[errors.has('country') ? 'has-error' : '']">
<label for="country" class="required">
{{ __('shop::app.customer.account.address.create.country') }}
</label>
<select type="text" v-validate="'required'" class="control styled-select" id="country" name="country" v-model="country" data-vv-as="&quot;{{ __('shop::app.customer.account.address.create.country') }}&quot;">
<option value=""></option>
@foreach (core()->countries() as $country)
<option {{ $country->code === $defaultCountry ? 'selected' : '' }} value="{{ $country->code }}">{{ $country->name }}</option>
@endforeach
</select>
<div class="select-icon-container">
<span class="select-icon rango-arrow-down"></span>
</div>
<span class="control-error" v-if="errors.has('country')">
@{{ errors.first('country') }}
</span>
</div>
<div class="control-group" :class="[errors.has('state') ? 'has-error' : '']">
<label for="state" class="required">
{{ __('shop::app.customer.account.address.create.state') }}
</label>
<input type="text" v-validate="'required'" class="control" id="state" name="state" v-model="state" v-if="!haveStates()" data-vv-as="&quot;{{ __('shop::app.customer.account.address.create.state') }}&quot;"/>
<select v-validate="'required'" class="control" id="state" name="state" v-model="state" v-if="haveStates()" data-vv-as="&quot;{{ __('shop::app.customer.account.address.create.state') }}&quot;">
<option value="">{{ __('shop::app.customer.account.address.create.select-state') }}</option>
<option v-for='(state, index) in countryStates[country]' :value="state.code">
@{{ state.default_name }}
</option>
</select>
<span class="control-error" v-if="errors.has('state')">
@{{ errors.first('state') }}
</span>
</div>
</div>
</script>
<script>
Vue.component('country-state', {
template: '#country-state-template',
inject: ['$validator'],
data() {
return {
country: "{{ $countryCode ?? $defaultCountry }}",
state: "{{ $stateCode }}",
countryStates: @json(core()->groupedStatesByCountries())
}
},
methods: {
haveStates() {
if (this.countryStates[this.country] && this.countryStates[this.country].length)
return true;
return false;
},
}
});
</script>
@endpush

View File

@ -87,7 +87,7 @@
</option>
</select>
<div class="select-icon-contanier">
<div class="select-icon-container">
<span class="select-icon rango-arrow-down"></span>
</div>
</div>

View File

@ -78,7 +78,7 @@
@{{ errors.first('password') }}
</span>
<a href="{{ route('customer.forgot-password.create') }}" style="float: right;">
<a href="{{ route('customer.forgot-password.create') }}" class="pull-right">
{{ __('shop::app.customer.login-form.forgot_pass') }}
</a>

View File

@ -1,14 +1,19 @@
<slider-component></slider-component>
@php
$direction = core()->getCurrentLocale()->direction;
@endphp
<slider-component direction="{{ $direction }}"></slider-component>
@push('scripts')
<script type="text/x-template" id="slider-template">
<div class="slides-container">
<div class="slides-container ltr">
<carousel-component
loop="true"
timeout="5000"
autoplay="true"
slides-per-page="1"
navigation-enabled="hide"
:slider-direction="direction == 'rtl' ? 'backward' : 'forward'"
:slides-count="{{ ! empty($sliderData) ? sizeof($sliderData) : 1 }}">
@if (! empty($sliderData))
@ -40,6 +45,7 @@
(() => {
Vue.component('slider-component', {
template: '#slider-template',
props: ['direction'],
mounted: function () {
let banners = this.$el.querySelectorAll('img');

View File

@ -14,7 +14,7 @@
<div class="form-container">
<form action="{{ route('shop.subscribe') }}">
<div class="subscriber-form-div">
<div :class="`control-group ${errors.has('subscriber_email') ? 'has-error' : ''}`">
<div class="control-group">
<input
type="email"
name="subscriber_email"

View File

@ -11,16 +11,13 @@
<meta http-equiv="content-language" content="{{ app()->getLocale() }}">
<link rel="stylesheet" href="{{ asset('themes/velocity/assets/css/velocity.css') }}" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" />
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('themes/velocity/assets/css/bootstrap.min.css') }}" />
<link rel="stylesheet" href="{{ asset('themes/velocity/assets/css/google-font.css') }}" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<script type="text/javascript" src="{{ asset('themes/velocity/assets/js/velocity.js') }}"></script>
<script type="text/javascript"
src="https://cdn.rawgit.com/igorlino/elevatezoom-plus/1.1.6/src/jquery.ez-plus.js"
></script>
@if (core()->getCurrentLocale()->direction == 'rtl')
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-rtl/3.4.0/css/bootstrap-flipped.css" rel="stylesheet">
@endif
@if ($favicon = core()->getCurrentChannel()->favicon_url)
<link rel="icon" sizes="16x16" href="{{ $favicon }}" />
@ -28,6 +25,11 @@
<link rel="icon" sizes="16x16" href="{{ asset('themes/velocity/assets/images/favicon.png') }}" />
@endif
<script src="{{ asset('themes/velocity/assets/js/jquery.min.js') }}"></script>
{{-- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> --}}
<script type="text/javascript" src="{{ asset('themes/velocity/assets/js/velocity.js') }}"></script>
<script type="text/javascript" src="{{ asset('themes/velocity/assets/js/jquery.ez-plus.js') }}"></script>
@yield('head')
@section('seo')
@ -40,8 +42,7 @@
</head>
<body @if (app()->getLocale() == 'ar') class="rtl" @endif>
<body @if (core()->getCurrentLocale()->direction == 'rtl') class="rtl" @endif>
{!! view_render_event('bagisto.shop.layout.body.before') !!}
@php

View File

@ -42,7 +42,9 @@
@endforeach
</select>
<span class="select-icon rango-arrow-down"></span>
<div class="select-icon-container">
<span class="select-icon rango-arrow-down"></span>
</div>
</div>
</div>
@ -65,7 +67,10 @@
@endforeach
</select>
<span class="select-icon rango-arrow-down"></span>
<div class="select-icon-container">
<span class="select-icon rango-arrow-down"></span>
</div>
</div>
</div>
@endif

View File

@ -6,11 +6,11 @@
<div class="dropdown">
<div id="account">
<div class="welcome-content" @click="togglePopup">
<div class="welcome-content pull-right" @click="togglePopup">
<i class="material-icons align-vertical-top">perm_identity</i>
<span class="text-center">
@guest('customer')
{{ __('velocity::app.header.welcome-message', ['customer_name' => 'Guest']) }}!
{{ __('velocity::app.header.welcome-message', ['customer_name' => trans('velocity::app.header.guest')]) }}!
@endguest
@auth('customer')

View File

@ -55,7 +55,7 @@
</option>
</select>
<div class="select-icon-contanier">
<div class="select-icon-container">
<span class="select-icon rango-arrow-down"></span>
</div>
</span>