diff --git a/.gitignore b/.gitignore index db81adbec..a19a6d127 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ yarn.lock storage/ storage/*.key /docker-compose-collection/ +/resources/themes/velocity/* diff --git a/CHANGELOG for v1.x.x.md b/CHANGELOG for v1.x.x.md index 4a073e0be..1a822a2ff 100644 --- a/CHANGELOG for v1.x.x.md +++ b/CHANGELOG for v1.x.x.md @@ -12,23 +12,35 @@ * #1971 [fixed] - Filter is not working properly for id column in autogenerated coupon codes in cart rule. +* #1976 [fixed] - Default attribute set should be selected in root category. + * #1977 [fixed] - On editing the product, selected category for that product is not checked. * #1978 [fixed] - Getting exception if changing the locale from cart page, if translation is not written for that product. * #1979 [fixed] - Wrong calculation at customer as well as at admin end in due amount and grandtotal. +* #1980 [fixed] - UI issue in cart on changing locale. + * #1983 [fixed] - Getting exception on deleting admin logo. * #1986 [fixed] - Subscribe to newsletter does not work. +* #1987 [fixed] - MySQL query very slow if products in category is around 3000 + +* #1988 [fixed] - Country and City Names in Create Address is not coming based on Locale + +* #1994 [fixed] - Tax rate should only depend on zip code, state field should not be mandatory. + * #1997 [fixed] - Getting exception on adding attribute or creating product in bagisto on php version 7.4 . * #1998 [fixed] - Showing product sale amount as zero when creating a product, and a existing catalog rule apply on it. * #2001 [fixed] - php artisan route:list throws error. -* #2012 [fixed] - FGetting exception when clicking on view all under review section at product page. +* #2012 [fixed] - Getting exception when clicking on view all under review section at product page. + +* #2033 [fixed] - API route for products throws error * #2045 [fixed] - Login option is not coming while checkout with existing customer mail id. @@ -66,10 +78,64 @@ * #2132 [fixed] - Price range slider not displaying. +* #2139 [fixed] - Logic error in exchange rate calculation + +* #2143 [fixed] - Attributes filterable checkbox - those who do not know will think that a bug! + * #2145 [fixed] - Emails don't work on registration. * #2146 [fixed] - Getting exception on creating bundle product without any option. -* #2147 [fixed] - Sort order of bundle product doesn't work.. +* #2147 [fixed] - Sort order of bundle product doesn't work. -* #2168 [fixed] - locale direction drop down always select ltr. \ No newline at end of file +* #2149 [fixed] - Ui issue when installing through installer.Getting issue on all steps. + +* #2162 [fixed] - product's special price should not greater than price + +* #2164 [fixed] - Redirect to incorrect url when click on finish button after installing through installer. + +* #2165 [fixed] - Incorrect error message for password field of email configuration. + +* #2167 [fixed] - Translation issue in Payment description field. + +* #2168 [fixed] - locale direction drop down always select ltr. + +* #2173 [fixed] - While creating locales value in direction dropdown is in small letters, but when you edit any locale it display in caps. + +* #2176 [fixed] - product price section is not getting highlighted if the warning exists + +* #2177 [fixed] - Category image can be add from anywhere + +* #2181 [fixed] - Getting exception when creating/editing customer address from Admin end. + +* #2182 [fixed] - missing option in Customer's Gender at admin end + +* #2183 [fixed] - Add toolkit for add address. + +* #2185 [fixed] - Issue with configurable product in case of multi-locale. Variation option are not visible. + +* #2186 [fixed] - Ui issue in cart for pt_BR locale. Quantity is not visible properly. + +* #2190 [fixed] - sku should be shown in product list if new product created + +* #2192 [fixed] - For all grid of sales section when you export data in csv file order id heading is mentioned as increment id. + +* #2196 [fixed] - No data is visible in state field, issue exist at all section where state field is used. + +* #2198 [fixed] - Remove vat id column from customer address list + +* #2202 [fixed] - catalog rule is not applied on product if product's special price date expired + +* #2203 [fixed] - saved categories are not checked in condition of catalog/cart rule + +* #2204 [fixed] - category tree view doesn't visible in catalog rule condition + +* #2207 [fixed] - Unable to delete Category. + +* #2226 [fixed] - Wrong price of product in case of multiple exchange rates. + +* #2225 [fixed] - Not able to export products according to locale. + +* #2227 [fixed] - Grand total column is not visible in invoice pdf, also getting incorrect currency symbol for grand total. + +* #2237 [fixed] - Error when trying to login with app.php locale set to ja \ No newline at end of file diff --git a/composer.json b/composer.json index 918317d36..74f093097 100755 --- a/composer.json +++ b/composer.json @@ -100,7 +100,8 @@ "Webkul\\CatalogRule\\": "packages/Webkul/CatalogRule/src", "Webkul\\CartRule\\": "packages/Webkul/CartRule/src", "Webkul\\Rule\\": "packages/Webkul/Rule/src", - "Webkul\\CMS\\": "packages/Webkul/CMS/src" + "Webkul\\CMS\\": "packages/Webkul/CMS/src", + "Webkul\\Velocity\\": "packages/Webkul/Velocity/src" } }, diff --git a/config/app.php b/config/app.php index a3cf7f964..33129e719 100755 --- a/config/app.php +++ b/config/app.php @@ -263,7 +263,8 @@ return [ Webkul\CatalogRule\Providers\CatalogRuleServiceProvider::class, Webkul\CartRule\Providers\CartRuleServiceProvider::class, Webkul\Rule\Providers\RuleServiceProvider::class, - Webkul\CMS\Providers\CMSServiceProvider::class + Webkul\CMS\Providers\CMSServiceProvider::class, + Webkul\Velocity\Providers\VelocityServiceProvider::class, ], /* diff --git a/config/themes.php b/config/themes.php index f7db9b62b..d6610d7e9 100755 --- a/config/themes.php +++ b/config/themes.php @@ -16,5 +16,12 @@ return [ // 'name' => 'Bliss', // 'parent' => 'default' // ] + + 'velocity' => [ + 'views_path' => 'resources/themes/velocity/views', + 'assets_path' => 'public/themes/velocity/assets', + 'name' => 'Velocity', + 'parent' => 'default' + ], ] ]; \ No newline at end of file diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 76e33f47d..4b94fd2d1 100755 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -1,6 +1,7 @@ call(BagistoDatabaseSeeder::class); + $this->call(VelocityMetaDataSeeder::class); } } diff --git a/packages/Webkul/API/Http/Controllers/Shop/WishlistController.php b/packages/Webkul/API/Http/Controllers/Shop/WishlistController.php index 700bdfb34..be3eeb84f 100644 --- a/packages/Webkul/API/Http/Controllers/Shop/WishlistController.php +++ b/packages/Webkul/API/Http/Controllers/Shop/WishlistController.php @@ -6,6 +6,7 @@ use Illuminate\Support\Facades\Event; use Webkul\Customer\Repositories\WishlistRepository; use Webkul\Product\Repositories\ProductRepository; use Webkul\API\Http\Resources\Customer\Wishlist as WishlistResource; +use Webkul\API\Http\Resources\Checkout\Cart as CartResource; use Cart; /** @@ -109,8 +110,10 @@ class WishlistController extends Controller if ($result) { Cart::collectTotals(); + $cart = Cart::getCart(); + return response()->json([ - 'data' => 1, + 'data' => $cart ? new CartResource($cart) : null, 'message' => trans('shop::app.wishlist.moved') ]); } else { diff --git a/packages/Webkul/API/Http/routes.php b/packages/Webkul/API/Http/routes.php index 04ded4af9..c6ec10827 100755 --- a/packages/Webkul/API/Http/routes.php +++ b/packages/Webkul/API/Http/routes.php @@ -70,6 +70,12 @@ Route::group(['prefix' => 'api'], function ($router) { Route::post('reviews/{id}/create', 'ReviewController@store'); + Route::delete('reviews/{id}', 'ResourceController@destroy')->defaults('_config', [ + 'repository' => 'Webkul\Product\Repositories\ProductReviewRepository', + 'resource' => 'Webkul\API\Http\Resources\Catalog\ProductReview', + 'authorization_required' => true + ]); + //Channel routes Route::get('channels', 'ResourceController@index')->defaults('_config', [ diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php index 680837501..c0ba24c98 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php @@ -139,7 +139,7 @@
- +
diff --git a/packages/Webkul/Admin/src/Resources/views/customers/addresses/create.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/addresses/create.blade.php index 98714a560..50f8695ad 100644 --- a/packages/Webkul/Admin/src/Resources/views/customers/addresses/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/customers/addresses/create.blade.php @@ -42,6 +42,18 @@ @{{ errors.first('company_name') }}
+
+ + + @{{ errors.first('first_name') }} +
+ +
+ + + @{{ errors.first('last_name') }} +
+
diff --git a/packages/Webkul/Admin/src/Resources/views/customers/addresses/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/addresses/edit.blade.php index d13b7a10e..7f1761c00 100644 --- a/packages/Webkul/Admin/src/Resources/views/customers/addresses/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/customers/addresses/edit.blade.php @@ -41,6 +41,18 @@ @{{ errors.first('company_name') }}
+
+ + + @{{ errors.first('first_name') }} +
+ +
+ + + @{{ errors.first('last_name') }} +
+
diff --git a/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php index a168ed918..33f26415c 100755 --- a/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php @@ -57,7 +57,7 @@
- diff --git a/packages/Webkul/Admin/src/Resources/views/export/export.blade.php b/packages/Webkul/Admin/src/Resources/views/export/export.blade.php index 56e8aed08..7136f93d2 100644 --- a/packages/Webkul/Admin/src/Resources/views/export/export.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/export/export.blade.php @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/card-list.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/card-list.vue new file mode 100644 index 000000000..935eb2809 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/card-list.vue @@ -0,0 +1,113 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/carousel.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/carousel.vue new file mode 100644 index 000000000..787354371 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/carousel.vue @@ -0,0 +1,48 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/child-sidebar.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/child-sidebar.vue new file mode 100644 index 000000000..dd9b435f9 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/child-sidebar.vue @@ -0,0 +1,24 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/image-magnifier.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/image-magnifier.vue new file mode 100644 index 000000000..fdbdca233 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/image-magnifier.vue @@ -0,0 +1,54 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/modal.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/modal.vue new file mode 100644 index 000000000..0c5e89b49 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/modal.vue @@ -0,0 +1,53 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/product-card.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/product-card.vue new file mode 100644 index 000000000..d643fae6a --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/product-card.vue @@ -0,0 +1,105 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/quantity-btn.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/quantity-btn.vue new file mode 100644 index 000000000..d0624b919 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/quantity-btn.vue @@ -0,0 +1,25 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/responsive-sidebar.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/responsive-sidebar.vue new file mode 100644 index 000000000..6e1893f33 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/responsive-sidebar.vue @@ -0,0 +1,35 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/sidebar.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/sidebar.vue new file mode 100644 index 000000000..db2bfe877 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/sidebar.vue @@ -0,0 +1,149 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/wishlist.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/wishlist.vue new file mode 100644 index 000000000..baafdbf3d --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/wishlist.vue @@ -0,0 +1,20 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/app.js b/packages/Webkul/Velocity/src/Resources/assets/js/app.js new file mode 100755 index 000000000..f8306c6e1 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/js/app.js @@ -0,0 +1,271 @@ +import Vue from 'vue'; +import accounting from 'accounting'; +import VueCarousel from 'vue-carousel'; +import VueToast from 'vue-toast-notification'; +import 'vue-toast-notification/dist/index.css'; +import messagesAr from 'vee-validate/dist/locale/ar'; + +window.axios = require("axios"); +window.VeeValidate = require("vee-validate"); +window.jQuery = window.$ = require("jquery"); +window.BootstrapSass = require("bootstrap-sass"); + +Vue.use(VueToast); +Vue.use(VeeValidate); +Vue.use(VueCarousel); +Vue.use(BootstrapSass); +Vue.prototype.$http = axios; + +Vue.use(VeeValidate, { + dictionary: { + ar: { messages: messagesAr } + } +}); + +Vue.filter('currency', function (value, argument) { + return accounting.formatMoney(value, argument); +}) + +window.Vue = Vue; +window.Carousel = VueCarousel; + +// UI components +Vue.component("vue-slider", require("vue-slider-component")); +Vue.component('modal-component', require('./UI/components/modal')); +Vue.component('quantity-btn', require('./UI/components/quantity-btn')); +Vue.component('sidebar-component', require('./UI/components/sidebar')); +Vue.component("product-card", require("./UI/components/product-card")); +Vue.component("wishlist-component", require("./UI/components/wishlist")); +Vue.component('carousel-component', require('./UI/components/carousel')); +Vue.component('child-sidebar', require('./UI/components/child-sidebar')); +Vue.component('card-list-content', require('./UI/components/card-list')); +Vue.component('card-list-header', require('./UI/components/card-header')); +Vue.component('magnify-image', require('./UI/components/image-magnifier')); +Vue.component('responsive-sidebar', require('./UI/components/responsive-sidebar')); + +window.eventBus = new Vue(); + +$(document).ready(function () { + // define a mixin object + Vue.mixin({ + data: function () { + return { + 'baseUrl': document.querySelector("script[src$='velocity.js']").getAttribute('baseurl'), + 'navContainer': false, + 'responsiveSidebarTemplate': '', + 'responsiveSidebarKey': Math.random(), + 'sharedRootCategories': [], + } + }, + + methods: { + redirect: function (route) { + route ? window.location.href = route : ''; + }, + + toggleSidebar: function (id, {target}, type) { + if ( + Array.from(target.classList)[0] == "main-category" + || Array.from(target.parentElement.classList)[0] == "main-category" + ) { + let sidebar = $(`#sidebar-level-${id}`); + if (sidebar && sidebar.length > 0) { + if (type == "mouseover") { + this.show(sidebar); + } else if (type == "mouseout") { + this.hide(sidebar); + } + } + } else if ( + Array.from(target.classList)[0] == "category" + || Array.from(target.classList)[0] == "category-icon" + || Array.from(target.classList)[0] == "category-title" + || Array.from(target.classList)[0] == "category-content" + || Array.from(target.classList)[0] == "rango-arrow-right" + ) { + let parentItem = target.closest('li'); + if (target.id || parentItem.id.match('category-')) { + let subCategories = $(`#${target.id ? target.id : parentItem.id} .sub-categories`); + + if (subCategories && subCategories.length > 0) { + let subCategories1 = Array.from(subCategories)[0]; + subCategories1 = $(subCategories1); + + if (type == "mouseover") { + this.show(subCategories1); + + let sidebarChild = subCategories1.find('.sidebar'); + this.show(sidebarChild); + } else if (type == "mouseout") { + this.hide(subCategories1); + } + } else { + if (type == "mouseout") { + let sidebar = $(`#${id}`); + sidebar.hide(); + } + } + } + } + }, + + show: function (element) { + element.show(); + element.mouseleave(({target}) => { + $(target.closest('.sidebar')).hide(); + }); + }, + + hide: function (element) { + element.hide(); + }, + + toggleButtonDisability ({event, actionType}) { + let button = event.target.querySelector('button[type=submit]'); + + button ? button.disabled = actionType : ''; + }, + + onSubmit: function (event) { + this.toggleButtonDisability({event, actionType: true}); + + if(typeof tinyMCE !== 'undefined') + tinyMCE.triggerSave(); + + this.$validator.validateAll().then(result => { + if (result) { + event.target.submit(); + } else { + this.toggleButtonDisability({event, actionType: false}); + + eventBus.$emit('onFormError') + } + }); + }, + + isMobile: function () { + if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { + return true + } else { + return false + } + }, + } + }); + + new Vue({ + el: "#app", + VueToast, + + data: function () { + return { + modalIds: {}, + } + }, + + created: function () { + window.addEventListener('click', () => { + let modals = document.getElementsByClassName('sensitive-modal'); + + Array.from(modals).forEach(modal => { + modal.classList.add('hide'); + }); + }); + }, + + mounted: function () { + document.body.style.display = "block"; + this.$validator.localize(document.documentElement.lang); + + this.loadCategories(); + }, + + methods: { + onSubmit: function (event) { + this.toggleButtonDisability({event, actionType: true}); + + if(typeof tinyMCE !== 'undefined') + tinyMCE.triggerSave(); + + this.$validator.validateAll().then(result => { + if (result) { + event.target.submit(); + } else { + this.toggleButtonDisability({event, actionType: false}); + + eventBus.$emit('onFormError') + } + }); + }, + + toggleButtonDisable (value) { + var buttons = document.getElementsByTagName("button"); + + for (var i = 0; i < buttons.length; i++) { + buttons[i].disabled = value; + } + }, + + addServerErrors: function (scope = null) { + for (var key in serverErrors) { + var inputNames = []; + key.split('.').forEach(function(chunk, index) { + if(index) { + inputNames.push('[' + chunk + ']') + } else { + inputNames.push(chunk) + } + }) + + var inputName = inputNames.join(''); + + const field = this.$validator.fields.find({ + name: inputName, + scope: scope + }); + if (field) { + this.$validator.errors.add({ + id: field.id, + field: inputName, + msg: serverErrors[key][0], + scope: scope + }); + } + } + }, + + addFlashMessages: function () { + // const flashes = this.$refs.flashes; + + // flashMessages.forEach(function (flash) { + // flashes.addFlash(flash); + // }, this); + + if (window.flashMessages.alertMessage) + window.alert(window.flashMessages.alertMessage); + }, + + showModal: function (id) { + this.$set(this.modalIds, id, true); + }, + + loadCategories: function () { + this.$http.get(`${this.baseUrl}/categories`) + .then(response => { + this.sharedRootCategories = response.data.categories; + }) + .catch(error => { + console.log('failed to load categories'); + }) + } + } + }); + + Vue.component('vnode-injector', { + functional: true, + props: ['nodes'], + render(h, {props}) { + return props.nodes; + } + }) +}); diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/_mixins.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/_mixins.scss new file mode 100644 index 000000000..2ffa96c67 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/_mixins.scss @@ -0,0 +1,30 @@ +// Mixins +@mixin box-shadow($shadows...) { + -webkit-box-shadow: $shadows; + -moz-box-shadow: $shadows; + box-shadow: $shadows; +} + +@mixin border-radius($radius) { + -webkit-border-radius: $radius; + -moz-border-radius: $radius; + -ms-border-radius: $radius; + border-radius: $radius; +} + +@mixin rango-default { + speak: none; + line-height: 1; + font-style: normal; + font-weight: normal; + text-transform: none; + font-variant: normal; + -webkit-font-smoothing: antialiased; + font-family: 'Webkul Rango' !important; +} + +@mixin remove-padding-margin { + width: 100% !important; + margin: 0px !important; + padding: 0px !important; +} diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/_variables.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/_variables.scss new file mode 100755 index 000000000..d26cb6a3f --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/_variables.scss @@ -0,0 +1,33 @@ +@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro&display=swap'); +//velocity variables +$white-color: #FFFFFF; +$black-color: #111111; +$font-color: rgba(0,0,0,0.83); +$font-color-light: rgba(255, 255, 255, 0.83); +$button-primary-bg: #21A179; +$border-primary: #269c77; +$button-danger: #F05153; +$border-danger: #F05153; +$color-danger: #F05153; +$border-common: #CCCCCC; +$border-dark: #DCDCDC; +$border-light: #ECECEC; +$border-general: #E5E5E5; +$theme-color: #26A37C; +$theme-dark-color: #247959; +$btn-text-color: #FFFFFF; +$light-color: #FFFFFF; +$dark-color: #000000; +$light1-black: #141516; +$light2-black: #cfcfd0; +$link-color: #4D7EA8; +$light-link-color: #28557B; +$grey-clr: rgba(0,0,0,0.53); +$light-grey-clr: rgb(158, 158, 158); +$light-background: #F7F7F9; +$sidebar-width: 230px; +$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; diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/admin.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/admin.scss new file mode 100644 index 000000000..998a57a1a --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/admin.scss @@ -0,0 +1,506 @@ +@import "icons"; + +@font-face { + font-family: 'Webkul Rango'; + src: url('../fonts/font-rango/rango.eot?o0evyv'); + src: url('../fonts/font-rango/rango.eot?o0evyv#iefix') format('embedded-opentype'), + url('../fonts/font-rango/rango.ttf?o0evyv') format('truetype'), + url('../fonts/font-rango/rango.woff?o0evyv') format('woff'), + url('../fonts/font-rango/rango.svg?o0evyv#rango') format('svg'); + font-weight: normal; + font-style: normal; + } + + +[class^="rango-"], [class*=" rango-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'Webkul Rango' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.rango-activity:before { + content: "\e900"; +} +.rango-announcement:before { + content: "\e901"; +} +.rango-arrow-circle-down:before { + content: "\e902"; +} +.rango-arrow-circle-left:before { + content: "\e903"; +} +.rango-arrow-circle-right:before { + content: "\e904"; +} +.rango-arrow-circle-up:before { + content: "\e905"; +} +.rango-arrow-down:before { + content: "\e906"; +} +.rango-arrow-left:before { + content: "\e907"; +} +.rango-arrow-right:before { + content: "\e908"; +} +.rango-arrow-up:before { + content: "\e909"; +} +.rango-auction:before { + content: "\e90a"; +} +.rango-baby:before { + content: "\e90b"; +} +.rango-bag:before { + content: "\e90c"; +} +.rango-ball-2:before { + content: "\e90d"; +} +.rango-bar-code:before { + content: "\e90e"; +} +.rango-batch:before { + content: "\e90f"; +} +.rango-book:before { + content: "\e910"; +} +.rango-calender:before { + content: "\e911"; +} +.rango-camera:before { + content: "\e912"; +} +.rango-car:before { + content: "\e913"; +} +.rango-card:before { + content: "\e914"; +} +.rango-cart-1:before { + content: "\e915"; +} +.rango-cart-2:before { + content: "\e916"; +} +.rango-cart-3:before { + content: "\e917"; +} +.rango-circel-1:before { + content: "\e918"; +} +.rango-circel:before { + content: "\e919"; +} +.rango-circle-1:before { + content: "\e91a"; +} +.rango-circle-2:before { + content: "\e91b"; +} +.rango-circle-check:before { + content: "\e91c"; +} +.rango-clear:before { + content: "\e91d"; +} +.rango-close-2:before { + content: "\e91e"; +} +.rango-close:before { + content: "\e91f"; +} +.rango-cloth:before { + content: "\e920"; +} +.rango-coin:before { + content: "\e921"; +} +.rango-copy:before { + content: "\e922"; +} +.rango-currency:before { + content: "\e923"; +} +.rango-delete:before { + content: "\e924"; +} +.rango-donwload-1:before { + content: "\e925"; +} +.rango-download-1:before { + content: "\e926"; +} +.rango-edit-pencil:before { + content: "\e927"; +} +.rango-ellipse:before { + content: "\e928"; +} +.rango-envelop:before { + content: "\e929"; +} +.rango-exchange:before { + content: "\e92a"; +} +.rango-exchnage:before { + content: "\e92b"; +} +.rango-expend-collaps:before { + content: "\e92c"; +} +.rango-expend:before { + content: "\e92d"; +} +.rango-eye-hide:before { + content: "\e92e"; +} +.rango-eye-visible:before { + content: "\e92f"; +} +.rango-facebook:before { + content: "\e930"; +} +.rango-file:before { + content: "\e931"; +} +.rango-filter:before { + content: "\e932"; +} +.rango-flag:before { + content: "\e933"; +} +.rango-folder:before { + content: "\e934"; +} +.rango-food:before { + content: "\e935"; +} +.rango-furniture:before { + content: "\e936"; +} +.rango-gift:before { + content: "\e937"; +} +.rango-globe:before { + content: "\e938"; +} +.rango-google-plus:before { + content: "\e939"; +} +.rango-gps:before { + content: "\e93a"; +} +.rango-graph-1:before { + content: "\e93b"; +} +.rango-graph:before { + content: "\e93c"; +} +.rango-heart-fill:before { + content: "\e93d"; +} +.rango-heart:before { + content: "\e93e"; +} +.rango-hold-cart:before { + content: "\e93f"; +} +.rango-home:before { + content: "\e940"; +} +.rango-info:before { + content: "\e941"; +} +.rango-instagram:before { + content: "\e942"; +} +.rango-language-1:before { + content: "\e943"; +} +.rango-language:before { + content: "\e944"; +} +.rango-laptop:before { + content: "\e945"; +} +.rango-limit:before { + content: "\e946"; +} +.rango-linked-in:before { + content: "\e947"; +} +.rango-lipstick:before { + content: "\e948"; +} +.rango-location:before { + content: "\e949"; +} +.rango-lock-1:before { + content: "\e94a"; +} +.rango-lock-2:before { + content: "\e94b"; +} +.rango-map:before { + content: "\e94c"; +} +.rango-message-1:before { + content: "\e94d"; +} +.rango-message:before { + content: "\e94e"; +} +.rango-minus:before { + content: "\e94f"; +} +.rango-mobile:before { + content: "\e950"; +} +.rango-more:before { + content: "\e951"; +} +.rango-neckless:before { + content: "\e952"; +} +.rango-next:before { + content: "\e953"; +} +.rango-notification:before { + content: "\e954"; +} +.rango-num-pad:before { + content: "\e955"; +} +.rango-percentage:before { + content: "\e956"; +} +.rango-phone:before { + content: "\e957"; +} +.rango-picture:before { + content: "\e958"; +} +.rango-pintrest:before { + content: "\e959"; +} +.rango-play:before { + content: "\e95a"; +} +.rango-plus:before { + content: "\e95b"; +} +.rango-pos:before { + content: "\e95c"; +} +.rango-power:before { + content: "\e95d"; +} +.rango-previous:before { + content: "\e95e"; +} +.rango-printer:before { + content: "\e95f"; +} +.rango-product-add:before { + content: "\e960"; +} +.rango-product-retrun:before { + content: "\e961"; +} +.rango-product:before { + content: "\e962"; +} +.rango-produt-group:before { + content: "\e963"; +} +.rango-push:before { + content: "\e964"; +} +.rango-quotation:before { + content: "\e965"; +} +.rango-refresh:before { + content: "\e966"; +} +.rango-refrigrator:before { + content: "\e967"; +} +.rango-return-credit:before { + content: "\e968"; +} +.rango-return:before { + content: "\e969"; +} +.rango-search:before { + content: "\e96a"; +} +.rango-security:before { + content: "\e96b"; +} +.rango-setting-cog:before { + content: "\e96c"; +} +.rango-setting-reset:before { + content: "\e96d"; +} +.rango-share-1:before { + content: "\e96e"; +} +.rango-share-2:before { + content: "\e96f"; +} +.rango-shoes:before { + content: "\e970"; +} +.rango-shop:before { + content: "\e971"; +} +.rango-sign-in:before { + content: "\e972"; +} +.rango-sign-out:before { + content: "\e973"; +} +.rango-sort-1:before { + content: "\e974"; +} +.rango-sort-2:before { + content: "\e975"; +} +.rango-square-1:before { + content: "\e976"; +} +.rango-square-3:before { + content: "\e977"; +} +.rango-square-4:before { + content: "\e978"; +} +.rango-square-tick-fill:before { + content: "\e979"; +} +.rango-square:before { + content: "\e97b"; +} +.rango-star-fill:before { + content: "\e97c"; +} +.rango-star:before { + content: "\e97d"; +} +.rango-stat-down:before { + content: "\e97e"; +} +.rango-stat-up:before { + content: "\e97f"; +} +.rango-support-head:before { + content: "\e980"; +} +.rango-t-shirt:before { + content: "\e981"; +} +.rango-table:before { + content: "\e982"; +} +.rango-tag-1:before { + content: "\e983"; +} +.rango-tag-2:before { + content: "\e984"; +} +.rango-tag-3:before { + content: "\e985"; +} +.rango-tag-4:before { + content: "\e986"; +} +.rango-tick-2:before { + content: "\e987"; +} +.rango-tick-square:before { + content: "\e988"; +} +.rango-tick:before { + content: "\e989"; +} +.rango-toggle:before { + content: "\e98a"; +} +.rango-trophy:before { + content: "\e98b"; +} +.rango-twitter:before { + content: "\e98c"; +} +.rango-upload-2:before { + content: "\e98d"; +} +.rango-upload:before { + content: "\e98e"; +} +.rango-user-add:before { + content: "\e98f"; +} +.rango-user-cash:before { + content: "\e990"; +} +.rango-user-group:before { + content: "\e991"; +} +.rango-user-info:before { + content: "\e992"; +} +.rango-user-owner:before { + content: "\e993"; +} +.rango-user-shop:before { + content: "\e994"; +} +.rango-user:before { + content: "\e995"; +} +.rango-van-ship:before { + content: "\e996"; +} +.rango-video-camera:before { + content: "\e997"; +} +.rango-video:before { + content: "\e998"; +} +.rango-view-grid:before { + content: "\e999"; +} +.rango-view-list:before { + content: "\e99a"; +} +.rango-wifi-on:before { + content: "\e99b"; +} +.rango-wifi:before { + content: "\e99c"; +} +.rango-youtube:before { + content: "\e99d"; +} +.rango-zoom-minus:before { + content: "\e99e"; +} +.rango-zoom-plus:before { + content: "\e99f"; +} diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/app.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/app.scss new file mode 100755 index 000000000..f122ec623 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/app.scss @@ -0,0 +1,901 @@ +@import "rango"; +@import "icons"; +@import "mixins"; +@import "variables"; +@import "components/UI"; +@import "components/app"; +@import "components/home"; +@import "components/footer"; +@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"; + +* { + margin: 0; + padding: 0; + font-family: $font-family-pro; +} + +*, *:before, *:after { + box-sizing: inherit; +} + +::-webkit-scrollbar { + width: 3px; +} +/* Track */ +::-webkit-scrollbar-track { + background: #D8D8D8; +} + +/* Handle */ +::-webkit-scrollbar-thumb { + background: #666666; +} + +*::-webkit-input-placeholder { + font-family: $font-family-pro; +} + +*::-webkit-input-placeholder { + font-family: $font-family-pro; +} + +input[type=checkbox] { + width: 24px; + height: 15px; + margin-right: 10px; +} + +.form-control { + &:focus { + @include box-shadow(0px 0px 8px 1px rgba(105, 221, 157, 0.25)); + } +} + +button, input, optgroup, select, textarea { + font-family: $font-family-pro; + color: $font-color; +} + +textarea { + resize: none; +} + +html { + box-sizing: border-box; +} + +body { + padding: 0; + margin: 0; + font-weight: 400; + color: $font-color; + font-size: 12px; + line-height: 20px; + width: 100%; + background: $white-color; + font-family: $font-family-pro; +} + +.btn { + &:hover { + text-decoration: none; + } + + &:focus { + outline: none; + outline-offset: 0px; + } + + &:active:hover { + outline: none; + outline-offset: 0px; + } +} + +.btn-link { + color: $font-color; + padding: 6px 5px; +} + +.btn-link:hover, .btn-link:focus { + color: $font-color; + text-decoration: none; +} + +#top { + @include box-shadow(0 0 0 0 rgba(0, 0, 0, 0.24)); + + margin: 0; + min-height: 32px; + color: $font-color; + border-bottom: 1px solid $border-common; + + .btn { + font-family: $font-family-pro; + font-size: 14px; + letter-spacing: 0; + text-align: center; + @include border-radius(0px); + text-decoration: none; + + &:hover { + text-decoration: none; + } + + &:focus { + outline: none; + outline-offset: 0px; + } + + &:active:hover { + outline: none; + outline-offset: 0px; + } + } + + .btn-normal { + background: $button-primary-bg; + border-color: $border-primary; + color: $white-color; + font-weight: 600; + + &:hover { + background: $white-color; + border-color: $button-primary-bg; + color: $button-primary-bg; + } + + &:active:hover { + background: $white-color; + border-color: $button-primary-bg; + color: $button-primary-bg; + } + + &:active:focus { + background: $white-color; + border-color: $button-primary-bg; + color: $button-primary-bg; + } + } + + .btn-link { + color: $font-color; + } + + .dropdown-menu-large { + min-width: 250px; + left: -100px; + } + + .customer-name { + font-size: 16px; + font-weight: 600; + padding: 0px 10px; + color: $font-color; + } + + #account { + font-size: 14px; + + .select-icon { + top: 0px; + left: 0px; + padding-left: 5px; + } + + .welcome-content { + @extend .unselectable; + + display: table; + min-width: 150px; + cursor: pointer; + text-align: right; + + * { + display: table-cell; + vertical-align: middle; + } + } + + + .account-modal { + @extend .modal-dialog; + + top: 40px; + right: 10px; + z-index: 101; + height: max-content; + width: 290px !important; + position: absolute !important; + + .theme-btn { + padding: .5rem .9rem; + } + + .modal-footer { + justify-content: unset; + } + } + } + + > div:last-child { + height: 32px; + + * { + height: 100%; + } + } + + .locale-icon { + width: 20px; + display: inline-block; + + img { + width: 100%; + } + } + + .locale-switcher { + padding-left: 5px; + } + + .dropdown { + margin-right: 15px; + + .select-icon-container { + .select-icon { + right: -8px; + } + } + } +} + + +.dropdown-menu { + border-top: 3px solid $border-primary; + border-radius: 0px; + background: $white-color; + @include box-shadow(11px 10px 17px 0 rgba(0,0,0,0.21)); + + li { + a { + &:hover { + background: $button-primary-bg; + color: $white-color; + } + + &:focus { + background: $button-primary-bg; + color: $white-color; + } + + .dropdown-menu { + li { + a { + &:focus { + background: $button-primary-bg; + color: $white-color; + } + } + } + } + } + } +} + +.no-padding { + padding: 0px !important; +} + +.btn-normal { + background: $button-primary-bg; + border-color: $border-primary; + color: $white-color; + font-weight: 600; + @include border-radius(0px); + + &:hover { + background: $white-color; + border-color: $button-primary-bg; + color: $button-primary-bg; + } + + &:active:hover { + background: $white-color; + border-color: $button-primary-bg; + color: $button-primary-bg; + } + + &:active:focus { + background: $white-color; + border-color: $button-primary-bg; + color: $button-primary-bg; + } +} + +.btn-secondary { + background: $white-color; + border-color: $white-color; + color: $button-primary-bg; + + &:hover { + background: $button-primary-bg; + border-color: $button-primary-bg; + } + &:focus { + background: $button-primary-bg; + border-color: $button-primary-bg; + } + &:active:hover { + background: $button-primary-bg; + border-color: $button-primary-bg; + } + &:active:focus { + background: $button-primary-bg; + border-color: $button-primary-bg; + } +} + +.btn-danger { + background: $button-danger; + border-color: $border-danger; + color: $white-color; + + &:hover { + background: $button-danger; + border-color: $border-danger; + } + &:focus { + background: $button-danger; + border-color: $border-danger; + } + &:active:hover { + background: $button-danger; + border-color: $border-danger; + } + &:active:focus { + background: $button-danger; + border-color: $border-danger; + } +} + +header { + .logo { + height: 50px; + padding-left: 10px; + } + + #search-form { + height: 40px; + margin: 5px 0px; + background: $white-color; + padding: 4px 1px 0px 0px; + + * { + height: 100%; + } + + .btn-group { + max-width: 550px; + + .selectdiv { + width: 170px; + + .select-icon { + top: 9px; + right: 8px; + z-index: 10; + font-size: 18px; + } + } + + select { + width: 100%; + height: 100%; + cursor: pointer; + border-radius: 2px 0px 0px 2px; + border: 1px solid $theme-color; + border-right: 0; + font-family:"Source Sans Pro", sans-serif; + + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + + select::-ms-expand { + display: none; + } + } + + input { + @include border-radius(0px); + + width: 380px; + height: 100%; + font-size: 14px; + padding: 0 10px; + line-height: 20px; + letter-spacing: 0; + border: 1px solid $theme-color; + border-left: 1px solid $border-common; + } + + .btn { + &:hover { + text-decoration: none; + } + + &:focus { + outline: none; + outline-offset: 0px; + } + + &:active:hover { + outline: none; + outline-offset: 0px; + } + } + + #header-search-icon { + min-width: 40px; + border-radius: 0px 2px 2px 0px; + background-color: $theme-color; + + i { + color: $btn-text-color; + } + } + } + + .mini-cart-container { + height: 50px; + padding: 5px 22px; + + #mini-cart { + .mini-cart-content { + width: 75px; + font-size: 16px; + font-weight: 600; + text-align: right; + letter-spacing: 0; + position: relative; + color: $font-color; + display: inline-block; + + .material-icons { + left: 0px; + top: 0px; + font-size: 26px; + position: absolute; + } + } + } + } + + .dropdown-menu-large { + min-width: 280px; + left: -180px; + + .dropdown-content { + width: 100%; + max-height: 300px; + overflow-y: auto; + + .item { + display: flex; + padding: 10px; + + .item-image { + position: relative; + + .material-icons { + position: absolute; + left: -6px; + top: -6px; + font-size: 16px; + cursor: pointer; + } + + .thumbnail { + width: 75px; + height: 75px; + margin: 0px; + border-radius: 0px; + border: 1px solid $border-common; + } + } + + .item-name { + font-weight: 600; + font-size: 18px; + color: $font-color; + letter-spacing: 0; + } + + .item-details { + padding: 0px 10px; + height: auto; + + .item-options { + font-family: $font-family-pro; + font-size: 13px; + color: $font-color; + letter-spacing: 0; + } + + .item-qty-price { + padding: 5px 0px; + display: inline-block; + + .item-qty { + font-size: 16px; + color: $font-color; + letter-spacing: 0; + text-align: left; + } + .item-price { + font-weight: 600; + font-size: 16px; + color: $font-color; + letter-spacing: 0; + text-align: right; + } + } + } + } + } + .dropdown-header { + padding: 10px 10px 5px; + border-top: 1px solid $border-common; + + .sub-total-text { + font-weight: 600; + font-size: 16px; + color: $font-color; + letter-spacing: 0; + } + + .cart-sub-total { + font-weight: 700; + font-size: 16px; + color: $font-color; + letter-spacing: 0; + text-align: right; + } + } + .dropdown-footer { + padding: 10px 10px 0px 10px; + border-top: 1px solid $border-common; + font-weight: 700; + font-size: 16px; + color: $font-color; + letter-spacing: 0; + + .cart-link { + text-align: left; + a { + vertical-align: middle; + } + } + + .checkout-link { + text-align: right; + } + } + } +} + +#nav-menu { + margin: 0; + -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.24); + box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.24); + background-color: #FFFFFF; + + .navbar { + margin: 0px; + font-family: SourceSansPro-Semibold; + font-size: 16px; + color: rgba(0,0,0,0.83); + letter-spacing: 0; + cursor: pointer; + min-height: 40px; + position: relative; + + .navbar-header { + width: 100%; + display: inline-block; + + .main-category { + width: 100%; + overflow: hidden; + position: relative; + display: inline-block; + padding: 5px 5px 5px 35px; + + .material-icons{ + position: absolute; + left: 0; + top: 2px; + font-size: 28px; + } + } + } + + .category-dropdown { + position: absolute; + top: 40px; + background: #FFF; + left: 0; + width: 100%; + height: 525px; + + li.category-list { + width: 100%; + display: inline-block; + background: #FFF; + position: relative; + + a { + padding: 10px 0px; + position: relative; + font-weight: 600; + font-size: 14px; + color: rgba(0,0,0,0.83); + letter-spacing: 0; + font-weight: 600; + display: block; + + .material-icons { + position: absolute; + right: 0; + top: 8px; + } + + &:hover { + color: #28557B; + text-decoration: none; + background-color: $light-background; + } + } + + .child-container { + position: absolute; + top: 0; + background-color: #CCC; + left: 283px; + width: 250px; + height: 350px; + } + } + } + } + + .secondary-navbar { + background-color: #4D7EA8; + min-height: 40px; + padding: 5px; + vertical-align: middle; + text-align: left; + margin: 0; + list-style: none; + height: auto; + display: inline-block; + width: 100%; + + li { + float: left; + + a { + display: block; + cursor: pointer; + font-size: 16px; + font-weight: 600; + letter-spacing: 0; + position: relative; + color: $white-color; + text-decoration: none; + padding: 5px 20px 5px 5px; + } + } + } +} + +.viewed-products .viewed-products-listing { + border: 1px solid white; + background-color: #f6f6f6; +} + +.viewed-products .viewed-products-listing .product-image { + display: inline-block; +} + +.viewed-products .viewed-products-listing .product-description { + display: inline-block; +} + +.viewed-products .viewed-products-listing .product-description div { + padding-top: 2px; +} + +.customer-reviews .first-row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.customer-reviews .second-row { + width: 100%; + display: inline-block; +} + +.customer-reviews .second-row .reviews-listing { + background: #ffffff; + padding-right: 10px; + -webkit-box-shadow: 0 4px 17px 0 rgba(0, 0, 0, 0.11); + box-shadow: 0 4px 17px 0 rgba(0, 0, 0, 0.11); +} + +.customer-reviews .second-row .review-grid { + display: grid; + width: 345px; + height: 262px; + padding-top: 40px; + padding-left: 10px; + padding-right: 10px; +} + +.categories-grid-customizable .category-grid { + padding-right: 5px; + padding-left: 5px; + padding-bottom: 10px; +} + +.categories-grid-customizable .category-grid .category-image { + border: 1px solid red; +} + +.categories-grid-customizable .category-grid .category-details { + border: 1px solid blue; +} + +.categories-grid-customizable .category-grid .category-details h3 { + color: #ffffff; + text-align: center; +} + +.categories-grid-customizable .category-grid .category-details li { + color: #ffffff; + text-align: center; + list-style-type: none; +} + +.product-policy { + padding: 30px 0px 50px 0px; + border: 1px solid maroon; + text-align: center; +} + +.popular-products { + height: auto; + width: 100%; + padding-right: 10px; +} + +.popular-products .second-row .popular-products-listing { + border: 1px solid red; +} + +.popular-products .second-row .popular-products-listing .product-buttons .add-to-cart-button .btn-primary { + border: #26a37c !important; + border-radius: 0px; +} + +.popular-products .second-row .popular-products-listing .product-buttons .add-to-cart-button .addtocart { + text-transform: uppercase; + background-color: #26a37c; +} + +.customer-name { + display: table-cell; + height: 54px; + width: 56px; + text-align: center; + vertical-align: middle; + border-radius: 50%; + background: #21a179; + color: #fff; + padding: 16px; + font: 18px "josefin sans", arial; +} + +.spacing { + margin: 5px 0; +} + +i.within-circle { + display: inline-block; + border-radius: 50%; + box-shadow: 0px 0px 2px #888; + padding: 12px; + margin: 15px 0px 15px 0px; + width: 50px; + height: 50px; +} + +.center_div { + margin: 0 auto; + width: 80%/* value of your choice which suits your alignment */ +} + +.form-style { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 0; +} + +.label-style { + display: inline-block !important; + max-width: 100% !important; + margin-bottom: 5px !important; + font-weight: 100 !important; + font-size: 16px !important; +} + +.btn-white { + color: white; + height: 36px; + width: 133px; +} + +.w3-card-2 { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + float: right; + height: 36px; + width: 133px; +} + +.w3-card-login { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + float: right; + height: 36px; + width: 71px; +} + +.btn-new-customer-login { + color: #26A37C !important; + font-size: 16px; + padding: 11px; + text-decoration: none !important; +} + +.btn-dark-green { + color: #fff; + background-color: #26A37C; + border-color: #26A37C; + height: 36px; + border-radius: 0px !important; +} + +.login-text { + height: 65px; + width: 575px; + border: 1px #E5E5E5; + margin: 0 auto; +} diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/UI.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/UI.scss new file mode 100644 index 000000000..0a2a4e6eb --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/UI.scss @@ -0,0 +1,95 @@ +.qty-btn { + height: 36px; + display: inline-block; + + > * { + height: 36px; + padding: 0px 10px; + border: 1px solid $border-common; + vertical-align: top; + line-height: 3.5rem; + display: inline-block; + } + + > *:not(:first-child) { + border-left: none; + position: relative; + } + + > *:not(:nth-child(2)) { + @extend .cursor-pointer; + } + + > *:nth-child(2) { + left: -4px; + } + + > *:nth-child(3) { + left: -7px; + } +} + +.btn-add-to-cart { + padding: 3px 14px !important; + border-radius: 0px !important; + color: $white-color !important; + border-color: $theme-color !important; + background-color: $theme-color !important; + + &.large { + padding: 12px 18px; + } + + .rango-cart-1 { + padding-right: 5px; + } +} + +.accordian { + .accordian-header { + i.rango-arrow { + float: right; + font-size: 24px; + } + + i.rango-arrow::before { + content: "\E908"; + } + } + + &.active { + .accordian-header { + i.rango-arrow::before { + content: "\E906"; + } + } + } +} + +.accordian { + .accordian-header { + width: 100%; + font-size: 18px; + cursor: pointer; + color: #3a3a3a; + margin-top: -1px; + padding-bottom: 20px; + display: inline-block; + } + + .accordian-content { + width: 100%; + display: none; + padding-bottom: 10px; + } + + &.active { + .accordian-header { + padding-bottom: 10px; + } + + .accordian-content { + display: inline-block; + } + } +} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/app.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/app.scss new file mode 100644 index 000000000..eaa948584 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/app.scss @@ -0,0 +1,2103 @@ +.review-page-container { + padding: 20px; + position: relative; + + > div:first-child { + top: 40px; + position: sticky; + height: max-content; + } + + .category-breadcrumb { + margin-bottom: 30px; + } + + h2 { + font-size: 24px; + font-weight: 600; + } + + h3 { + font-size: 20px; + font-weight: 600; + } + + h4 { + font-size: 16px; + font-weight: 600; + } + + .customer-reviews { + > div { + &.row { + padding-bottom: 30px; + } + } + } + + .submit-btn { + font-weight: 600; + + button { + padding: 10px 15px; + } + } +} + +.customer-rating { + .rating-container { + padding: 30px 0; + } + + a { + color: $link-color; + } + + a:hover { + text-decoration: none; + } + + .col-lg-6:first-child { + border-right: 1px solid $border-common; + } + + .rating-bar { + top: 12px; + padding: 0px; + height: 5px; + position: relative; + background-color: $light-background; + + > div { + width: 0px; + height: 100%; + background-color: $black-color; + } + } + + .theme-btn { + &.light { + margin-top: 10px; + } + } +} + +.review-form { + width: 80%; + + > div { + padding-top: 30px; + + label { + font-size: 14px; + font-weight: 500; + display: block; + } + + input, + textarea { + width: 100%; + resize: none; + font-size: 16px; + padding: 5px 16px; + border-radius: 1px; + border: 1px solid $border-common; + } + } +} + +.filters-container { + margin: 20px 0; + + .toolbar-wrapper { + > div { + margin: 0 20px 0 0; + display: inline-block; + + label { + font-weight: 500; + margin-right: 10px; + } + + select { + cursor: pointer; + padding: 6px 16px; + color: $font-color; + background-color: white; + } + } + + > div:not(:first-child) { + vertical-align: super; + } + + .limiter::after { + margin-left: 10px; + content: 'per page'; + } + } +} + +.view-mode { + margin-bottom: 20px; + + .rango-view-grid-container { + width: 36px; + height: 36px; + cursor: pointer; + color: $font-color; + padding: 6px 0 0 5px; + display: inline-block; + + &.active { + color: white; + background-color: $theme-color; + } + } + + .rango-view-list-container { + width: 36px; + height: 36px; + cursor: pointer; + color: $font-color; + padding: 6px 0 0 5px; + display: inline-block; + + &.active { + color: white; + background-color: $theme-color; + } + } +} + +.modal-container { + background: #ffffff; + top: 100px; + width: 600px; + max-width: 80%; + left: 50%; + 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) + ); + animation: fade-in-white 0.3s ease-in-out; + animation: jelly 0.5s ease-in-out; + @include border-radius(5px); + overflow-y: auto; + max-height: 80%; + + .modal-header { + padding: 20px; + + h3 { + display: inline-block; + font-size: 20px; + color: $font-color; + margin: 0; + } + + .icon { + float: right; + cursor: pointer; + } + } + + .modal-body { + padding: 20px; + + .control-group .control { + width: 100%; + } + } +} + +.product-card-new { + // width: 19rem; + border: none !important; + margin: 0 5px 10px 10px; + + .product-image-container { + height: 225px; + position: relative; + + img { + width: 100%; + height: 100%; + } + } + + .card-current-price { + font-size: 18px; + } + + .product-rating { + @extend .text-nowrap; + + .stars { + display: inline-block; + } + + span { + font-size: 14px; + vertical-align: middle; + } + + .material-icons { + font-size: 16px; + } + } + + .card-body { + > div:last-child { + margin-top: 10px; + } + + .product-name, + .product-rating { + width: 15rem; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + + .product-price { + .sticker { + display: block; + } + } + + .cart-wish-wrap { + .wishlist-icon { + height: 38px; + display: table; + text-align: right; + + > i { + display: table-cell; + vertical-align: middle; + } + } + } +} + +.quick-view-btn-container { + left: -12px; + width: 100%; + bottom: 10px; + display: none; + position: absolute; + + span { + left: 32%; + top: -26px; + z-index: 1; + font-size: 16px; + color: #FFFFFF; + position: absolute; + } + + button { + left: 30%; + top: -36px; + border: none; + color: white; + font-size: 16px; + padding: 5px 10px 7px 24px; + position: absolute; + opacity: 0.8; + background-color: #0D2438; + } +} + +.product-card-new:hover { + #quick-view-btn-container { + // display: block; + } +} + +.quantity { + @extend .btn-group; + + width: 100%; + padding-bottom: 10px; + font-size: 16px !important; + + label { + float: left; + padding: 5px 15px 10px 0; + } + + button, + input { + @extend .btn; + + height: 35px; + border-radius: 0px; + vertical-align: top; + padding: 0 6px !important; + font-size: 24px !important; + font-weight: 600 !important; + color: $dark-color !important; + background-color: $white-color; + border: 1px solid $border-common !important; + } + + button:nth-of-type(1) { + border-right: 0px !important; + } + + input { + max-width: 40px; + cursor: default; + font-size: 16px !important; + border-left: 0px !important; + border-right: 0px !important; + text-align: center; + } + + button:hover { + background-color: #f5f5f5 !important; + } + + button:nth-last-of-type(1) { + border-radius: 0px; + border-left: 0px !important; + } + + button:active, + button:focus, + input:active, + input:focus { + outline: none !important; + box-shadow: none !important; + } +} + +.form-container { + .container { + width: 65%; + margin: 0 auto; + padding-top: 30px; + + .heading { + width: 100%; + margin-bottom: 35px; + display: inline-block; + + h2 { + line-height: 4rem; + display: inline-block; + } + + .btn-new-customer { + float: right; + font-size: 16px; + } + } + + .body { + font-size: 16px; + padding: 35px 55px; + margin-bottom: 60px; + border: 1px solid $border-common; + + .form-header { + margin-bottom: 20px; + } + + form { + > div { + padding-bottom: 20px; + + input { + border: 1px solid $border-dark; + } + } + } + } + } +} + +.container-right { + > .recently-viewed { + padding-top: 20px; + } +} + +.rango-star { + cursor: default; +} + +.customer-options{ + top: 40px; + float: right; + padding: 20px; + height: 150px; + overflow-y: scroll; + width: 200px !important; + + + .customer-session { + label { + font-size: 18px; + color: $light-grey-clr; + text-transform: uppercase; + } + } + + li { + padding: 3px 0; + height: unset !important; + } + + a { + font-size: 16px; + } +} + +.cart-btn-collection { + button[type=button].btn-secondary { + border: none; + font-size: 16px; + color: $dark-color; + background-color: $light-color; + + :hover { + color: $dark-color !important; + background-color: $light-color !important; + } + + :focus, + :active { + outline: none; + box-shadow: none; + } + + #cart-count { + left: -20px; + top: -15px; + padding: 4px; + min-width: 20px; + border-radius: 50%; + position: relative; + background: #21A179; + } + } +} + +.mini-cart-container { + #mini-cart { + outline: none; + box-shadow: none; + text-decoration: unset; + + .badge { + @include border-radius(50%); + + top: -7px; + left: -13px; + padding: 4px; + min-width: 20px; + position: relative; + background: $button-primary-bg; + } + + .cart-text { + top: 0px; + left: -14px; + position: relative; + } + } +} + +.dropdown-icon-custom::after { + top: -5px; + color: black; + font-size: 16px; + position: relative; + display: inline-block; + margin-left: 1rem; + vertical-align: middle; + content: ""; + border-top: .3em solid; + border-right: .3em solid transparent; + border-bottom: 0; + border-left: .3em solid transparent; +} + +#cart-modal-content { + top: 44px; + z-index: 100; + width: 350px; + left: -265px; + position: absolute; + + .close { + top: 12px; + right: 15px; + padding: 0px; + position: relative; + } + + .mini-cart-container { + height: 100%; + font-size: 14px; + max-height: 200px; + overflow-y: scroll; + padding: 10px 15px 0 20px; + } + + .small-card-container { + margin: 0; + width: 100%; + padding: 0; + + .product-image-container { + margin: 10px 10px 10px 0px; + border: 1px solid $border-light; + } + + input { + width: 30px; + text-align: center; + font-weight: 500; + border: 1px solid $border-light; + } + + .card-total-price { + float: right; + } + + .rango-close { + top: -10px; + left: -10px; + padding: 3px 4px 3px 3px; + font-size: 10px; + max-height: 17px; + line-height: 1.3rem; + text-align: center; + position: absolute; + border-radius: 50%; + color: $light-color; + background: $dark-color; + } + } + + .small-card-container:hover { + box-shadow: none; + } + + .modal-footer { + padding-right: 15px; + } +} + +.cart-details { + padding: 40px 20px; + + h1 { + margin-bottom: 30px; + } + + .cart-details-header { + h2 { + margin-bottom: 20px; + } + + .cart-header { + max-height: 45px; + margin-bottom: 20px; + padding-bottom: 20px !important; + border-bottom: 2px solid $border-general; + + > h3 { + font-size: 16px; + font-weight: 600; + } + } + } + + .cart-content { + padding: 0; + + .product-quantity { + .quantity { + label { + display: none !important; + } + } + } + + .cart-item-list { + > .row { + margin-bottom: 20px; + } + + > .row:last-child { + padding-bottom: 20px; + border-bottom: 2px solid $border-general; + } + + .product-image-container { + padding: 0; + max-width: 110px; + max-height: 110px; + } + } + + .product-details-content { + padding-left: 20px; + + .row { + font-size: 16px; + + .card-current-price { + font-size: 18px; + } + } + + > .row:not(:last-child) { + margin-bottom: 10px; + } + } + } + + .continue-shopping-btn { + @extend .theme-btn; + + max-width: 156px; + margin-top: 20px; + margin-left: 15px; + } + + .coupon-container { + margin-top: 20px; + + .control-error { + padding: 10px 0; + } + } +} + +.account-content { + .sidebar { + height: 100%; + + .customer-sidebar { + border-right: 1px solid $border-general; + } + + .customer-sidebar { + .account-details { + text-align: center; + padding: 25px 20px; + + .customer-name { + width: 60px; + height: 60px; + margin: 0 auto; + font-size: 24px; + margin-bottom: 5px; + display: inline-block; + } + + .customer-name-text { + color: $font-color; + } + + .customer-email { + color: $light-grey-clr; + } + } + + .navigation { + width: 100%; + + li { + width: 100%; + + &:hover, + &.active { + color: $light-link-color; + background-color: $border-light; + } + + i { + &.icon { + @extend .rango-default; + + font-size: 18px; + padding-right: 5px; + + &.profile::before { + content: "\E995"; + } + + &.address::before { + content: "\e949"; + } + + &.reviews::before { + content: "\e97d"; + } + + &.wishlist::before { + content: "\e93e"; + } + + &.orders::before { + content: "\e931"; + } + + &.downloadables::before { + content: "\e926"; + } + } + } + + a { + padding: 10px 15px; + } + } + + li:last-child { + margin-bottom: 0; + } + } + } + } + + .account-layout { + color: $font-color; + padding: 15px 20px; + padding-bottom: 60px; + + &.right { + padding-left: $sidebar-width + 20px !important; + } + + .account-head { + margin-bottom: 20px; + } + + .account-heading { + font-size: 24px; + font-weight: 600; + } + + .account-table-content { + > .row, + .control-group { + margin-bottom: 30px; + } + + label { + font-weight: 500; + } + + input, + select { + width: 100%; + resize: none; + font-size: 16px; + padding: 5px 16px; + border-radius: 1px; + background: $btn-text-color; + border: 1px solid $border-common; + } + + input:active, + input:focus, + select:focus, + select:active { + border-color: $theme-color; + } + + .address-holder { + margin-top: 30px; + + > div { + margin: 5px 0; + padding-left: 0; + } + + .card { + height: 100%; + + ul { + li { + display: inline-block; + } + } + } + } + + .account-items-list { + margin-bottom: 40px; + } + + #datagrid-filters { + margin-bottom: 20px; + + > * { + 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; + } + } + + .filter-tag { + font-size: 18px; + font-weight: 600; + } + + .dropdown-filters { + .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; + } + } + } + } + } + } + } + } + } + + .account-items-list { + &.wishlist-container { + width: 100%; + margin: 0 auto; + + .product-card-new { + width: 19rem; + } + } + } + + .max-sm-img-dimention { + max-width: 110px; + max-height: 110px; + + img { + width: 100%; + height: 100%; + } + } + + .reviews-container { + > .row { + margin-bottom: 40px; + } + } + + .bottom-toolbar { + .pagination { + margin: 0; + + a:not([href]) { + &.next, + &.previous { + cursor: not-allowed; + color: $light-grey-clr !important; + } + } + + .page-item { + @extend .theme-btn; + @extend .light; + @extend .unset; + @extend .fs16; + + border: none !important; + box-shadow: unset !important; + -webkit-box-shadow: unset !important; + + &.active { + border: 1px solid $theme-color; + color: $theme-color !important; + } + + &.next, + &.previous { + .angle-right-icon, + .angle-left-icon { + @extend .rango-default; + + margin: 0; + font-size: 24px; + background: unset; + text-align: center; + } + } + + &.next { + .angle-right-icon::before { + content: "\E908"; + } + } + + &.previous { + .angle-left-icon::before { + content: "\E907"; + } + } + } + } + } + + .sale-container { + font-size: 16px; + + .tabs { + ul { + font-weight: 600; + font-size: 20px; + list-style-type: none; + + li { + cursor: pointer; + padding: 10px 15px; + display: inline-block; + border-bottom: 2px solid transparent; + + &.active { + cursor: default; + border-bottom: 2px solid $theme-color; + } + } + } + } + + .tabs-content { + .sale-section { + padding: 20px 0 10px 0; + border-bottom: 1px solid $border-common; + + .section-title { + font-size: 18px; + font-weight: 600; + padding-bottom: 10px; + color: $light-grey-clr; + } + + .section-content { + label + span { + font-weight: 600; + color: $light-grey-clr; + } + + .totals { + width: 100%; + display: inline-block; + + .sale-summary { + float: right; + + tbody { + tr { + td:first-child { + width: 200px; + } + } + } + } + } + + .table { + table { + width: 100%; + } + } + } + } + } + + .order-box-container { + padding: 10px 0; + + .box { + width: calc(25% - 5px); + vertical-align: top; + display: inline-block; + + .box-title { + font-size: 18px; + padding: 10px 0; + font-weight: 600; + color: $light-grey-clr; + } + } + } + } + } + + .select-icon { + left: 95%; + top: -28px; + font-size: 22px; + position: relative; + } +} + +.alert { + right: 15px !important; + top: 50px !important; + z-index: 100 !important; + font-size: 16px !important; + position: fixed !important; + max-width: 400px !important; + min-height: 45px !important; + max-height: 100px !important; + + &.alert-dismissible { + .close { + font-size: 23px; + padding: .3rem 1.25rem; + } + } +} + +.wishlist-icon { + vertical-align: middle; + + i { + color: $black-color; + } + + i:hover::before { + // content: "\E93D"; + } +} + +.checkout-process { + padding: 40px 20px; + + .col-7 { + > div { + width: 100%; + } + } + + h1 { + font-weight: 600; + margin-bottom: 30px; + } + + .scrollable { + padding-top: 25px; + } + + .order-summary-container { + .theme-btn { + display: none; + } + + &.bottom { + h3 { + display: none; + } + } + } + + input[type=radio] { + transform: scale(1.3); + -ms-transform: scale(1.3); + -webkit-transform: scale(1.3); + } + + .styled-select { + cursor: pointer; + + + .select-icon { + top: 55%; + left: 92%; + font-size: 20px; + position: absolute; + } + } + + .coupon-container { + input { + max-width: 200px; + } + + button { + margin: 20px 0; + } + + .applied-coupon-details { + font-size: 16px; + margin-bottom: 10px; + } + + .applied-coupon-details label:nth-of-type(1) { + color: $theme-color; + } + + .rango-close { + cursor: pointer; + margin-left: 5px; + } + } +} + +.address-container { + .address-holder { + margin-top: 15px; + + > div { + margin: 5px 0; + padding-left: 0; + } + + .card { + height: 100%; + + h5 { + font-size: 14px; + } + + ul { + li { + display: inline-block; + } + } + } + } +} + +.custom-form { + .form-field { + padding: 0; + margin-bottom: 30px; + } + + label { + font-weight: 500; + } + + input[type=text], + input[type=password], + input[type=search], + select { + width: 100%; + resize: none; + font-size: 16px; + padding: 5px 16px; + border-radius: 1px; + background: $btn-text-color; + border: 1px solid $border-common; + } + + input:active, + input:focus, + select:focus, + select:active { + border-color: $theme-color; + } +} + +.shipping-form, +.payment-form, +.review-checkout-conainer { + h3 { + margin-bottom: 30px; + } + + .shipping-methods, + .payment-methods { + > .row { + margin-bottom: 20px; + } + } + + .address-summary { + li { + display: inline-block; + } + } + + .cart-item-list { + padding: 20px 0; + border-bottom: 1px solid $border-general; + + h4 { + padding-bottom: 20px; + border-bottom: 1px solid $border-general; + margin-bottom: 20px !important; + } + + > .row:first-child { + margin-top: 50px; + } + + > .row { + margin-bottom: 20px; + } + } + + .cart-details { + padding: 40px 0; + } +} + +.order-summary-container { + padding-top: 25px; + height: max-content; + max-width: 500px !important; + + > div { + width: 100%; + } + + .order-summary { + padding: 25px 30px; + border: 1px solid $border-general; + + > h3 { + margin-bottom: 20px; + } + + > .row:not(:last-child) { + margin-bottom: 10px; + } + + #grand-total-detail { + margin-top: 15px; + padding-top: 15px; + margin-bottom: 25px; + border-top: 1px solid $border-general; + } + } +} + +.order-success-content { + padding: 40px 20px; + font-size: 16px; +} + +.search-result-status { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +#address-section { + .form-header { + h3 { + margin-bottom: 20px; + } + } +} + +.attached-products-wrapper { + margin-top: 20px; +} + +#related-products-carousel { + .product-card-new:first-child { + margin-left: 0px !important; + } +} + +.product-price { + span:nth-child(1), + .special-price { + font-size: 20px; + font-weight: 600; + } + + .price-label { + margin-right: 6px; + } + + .sticker { + top: 8px; + left: 8px; + border: none; + color: white; + display: none; + font-size: 14px; + font-weight: 600; + padding: 2px 10px; + position: absolute; + border-radius: 12px; + + &.sale { + background-color: $theme-color; + } + } + + .regular-price { + font-weight: 500; + margin-right: 10px; + text-decoration: line-through; + } + + span { + &.price-label { + font-size: 16px; + } + + &.final-price { + font-size: 24px; + } + } +} + +#app { + min-height: 65vh; + position: relative; +} +.main-container-wrapper { + .sticky-header { + top: 0px; + z-index: 100; + position: sticky; + background: white; + + &.header-shadow { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + } + } +} + + +.search-container { + padding: 30px 20px; + + .lg-card-container { + &.list-card { + margin: 0 15px; + } + } + + :first-child { + margin-top: 0px; + } +} + +.method-sticker { + font-size: 13px; + padding: 4px 8px; + margin-right: 3px; + margin-bottom: 3px; + text-align: center; + border-radius: 1px; + display: inline-block; + color: $light2-black; + background-color: $light1-black; +} + +.sidebar { + z-index: 1000000; + width: $sidebar-width; + + .category-content { + // margin-bottom: 10px; + + .category-title { + top: -1px; + font-weight: 600; + position: relative; + } + + .rango-arrow-right { + top: 4px; + float: right; + position: relative; + } + + .category-icon { + width: 25px; + height: 20px; + padding-right: 5px; + display: inline-block; + + img { + width: 100%; + height: 100%; + vertical-align: text-top; + } + } + } + + li:hover { + > a { + > span { + color: $light-link-color; + } + } + } + + .sub-categories { + display: none; + + .category { + padding: 5px 0 4px 15px; + + + .nested { + color: $font-color; + + li { + a { + padding-top: 0; + + .category-title { + font-weight: 500; + padding-left: 28px; + } + } + } + } + + .category-title { + vertical-align: top; + } + } + } +} + +.category-list-container { + z-index: 10; + padding: 0px !important; + background: $white-color; + position: absolute !important; + box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); + + .category { + @extend .cursor-pointer; + + width: 100%; + line-height: 2.5rem; + display: inline-block; + + span { + top: -4px; + position: relative; + } + } + + li { + a { + padding: 7px 0 5px 15px; + } + + &:hover { + > a { + background: $border-light; + } + } + } + + .sub-categories { + top: 0px; + left: 100%; + z-index: 100; + padding-top: 10px; + position: absolute; + background: $light-color; + border-left: 1px solid $border-common; + box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); + + li:nth-last-of-type(1) { + margin-bottom: 10px; + } + } +} + +#sidebar-level-0 { + display: none; + z-index: 100000; + border-top: 1px solid $border-common; +} + +.grouped-product-container { + .grouped-product-list { + padding: 15px 0; + border-top: solid 1px rgba(162, 162, 162, 0.2); + + ul { + li { + width: 100%; + font-size: 18px; + margin-bottom: 10px; + display: inline-block; + + &:last-child { + margin-bottom: 0; + } + + &:first-child { + span { + font-weight: 600; + + &:last-child { + float: right; + width: 50px; + text-align: left; + } + } + } + + .name { + font-size: 16px; + vertical-align: middle; + display: inline-block; + } + + .qty { + float: right; + + .control-group { + height: 45px; + width: auto; + border-top: 0; + padding-top: 0; + margin-bottom: 0; + max-width: initial; + text-align: center; + + label { + display: none; + } + + .control { + width: 60px; + text-align: center; + line-height: 38px; + } + + > * { + height: 100%; + } + } + } + } + } + } +} + +.bundle-options-wrapper { + .bundle-option-list { + padding: 15px 0; + border-top: solid 1px rgba(162, 162, 162, 0.2); + + h3 { + font-size: 16px; + margin: 0; + color: #242424; + } + + .bundle-option-item { + border-bottom: solid 1px rgba(162, 162, 162, 0.2); + padding: 15px 0; + width: 100%; + display: inline-block; + + &:last-child { + border-bottom: 0; + padding-bottom: 0; + } + + .control-group { + margin-bottom: 0; + color: #5E5E5E; + + label { + color: #242424; + } + + .control { + color: #5E5E5E; + } + } + + .quantity { + border-top: 0; + padding-bottom: 0; + + &.has-error { + button { + border-color: #FC6868; + color: #FC6868; + } + } + } + + .control-error { + float: left; + width: 100%; + } + + &.has-error { + button { + border-color: #FC6868; + color: #FC6868; + } + } + } + } + + .bundle-summary { + padding: 15px 0; + border-top: solid 1px rgba(162, 162, 162, 0.2); + + h3 { + font-size: 16px; + margin: 0; + color: #242424; + } + + .quantity { + border-top: 0; + } + + .bundle-price { + font-weight: 600; + font-size: 24px; + color: #FF6472; + margin-top: 10px; + } + + ul.bundle-items { + li { + margin-bottom: 20px; + + &:last-child { + margin-bottom: 0; + } + + .selected-products { + color: #5E5E5E; + } + } + } + } +} + +.category-container, +.search-container { + .grid-card { + width: 22rem; + } +} + +.downloadable-container { + .sample-list { + padding: 5px 0; + + h3 { + font-size: 16px; + margin-top: 0; + } + + ul { + li { + margin-bottom: 5px; + + &:last-child { + margin-bottom: 0; + } + } + } + } + + .link-list { + padding: 5px 0; + + h3 { + font-size: 16px; + margin-top: 0; + } + + ul { + li { + margin-bottom: 15px; + + &:last-child { + margin-bottom: 0; + } + + .checkbox { + input[type=checkbox] { + width: 15px !important; + height: 15px !important; + margin-left: -24px; + } + } + + a { + float: right; + margin-top: 3px; + } + } + } + } +} + +.category-container { + min-height: 670px; + margin-left: 15px; + padding: 40px 15px !important; + + .hero-image { + height: 100%; + max-width: 500px; + max-height: 400px; + display: inline-block; + + img { + width: 100%; + height: 100%; + } + } +} + +.vue-slider { + .vue-slider-rail { + background-color: #ccc; + } + + .vue-slider-dot-handle { + width: 100%; + height: 100%; + border-radius: 50%; + background-color: $light-color; + box-shadow: 0.5px 0.5px 2px 1px rgba(0,0,0,.32); + } + + .vue-slider-dot-tooltip-inner { + border-color: $theme-color !important; + background-color: $theme-color !important; + } + + .vue-slider-dot-tooltip-text { + display: block; + font-size: 14px; + min-width: 20px; + padding: 2px 5px; + text-align: center; + border-radius: 5px; + white-space: nowrap; + color: $light-color; + border-color: $theme-color !important; + background-color: $theme-color !important; + } + + .vue-slider-dot-tooltip-text::before { + content: ""; + position: absolute; + bottom: -10px; + left: 50%; + width: 0; + height: 0; + border: 5px solid transparent; + border: 6px solid transparent\0; + border-top-color: inherit; + transform: translate(-50%); + } + + .vue-slider-process { + background-color: $theme-color !important; + } +} + +.full-content-wrapper { + > .container-fluid { + padding: 0 !important; + margin-bottom: 60px !important; + + > .row { + padding: 0 15px !important; + } + } + + p, + div { + > .container-fluid { + padding: 0 !important; + margin-bottom: 60px !important; + + > .row { + padding: 0 15px !important; + } + } + } +} + +.slides-container { + .VueCarousel-pagination { + bottom: 10px; + position: absolute; + + button:focus, + button:active { + outline: none; + box-shadow: none; + } + + .VueCarousel-dot { + padding: 5px !important; + } + } + + .VueCarousel-dot--active { + background-color: $theme-color !important; + } + + .VueCarousel { + .VueCarousel-inner { + padding-top: 0; + } + + .VueCarousel-slide:not(:nth-of-type(1)) { + img { + display: none; + } + } + } +} + + .filter-attributes-item { + margin-bottom: 10px; + border-bottom: 1px solid #CCCCCC; + &.active { + .filter-attributes-content { + display: block; + } + } + + .filter-input { + margin: 10px 15px 13px -4px; + + input[type=text] { + text-align: center; + border: 1px solid $theme-color; + width: 30%; + background-color: white; + } + } + + input[type=checkbox] + span{ + margin-left: 10px !important; + } + } + + .filter-attributes-content { + display: none ; + margin-left: 7px; + } + + +.layered-filter-wrapper { + @extend .scrollable; + + max-height: 670px; + margin-bottom: 42px; + padding: 42px 10px 0 10px; + + .recently-viewed { + margin-top: 20px; + + h2 { + font-size: 18px; + } + } +} + +.selective-div { + -webkit-appearance: none; +} + +.select-icon-margin { + margin-top: 10px; + margin-left: 96px; + +} +.down-icon-position { + position: absolute; +} + +.select-icon-show-margin { + margin-left: 35px; + margin-top: 10px; +} + +.down-arrow-margin { + margin-left: 75px; + margin-top: 8px; +} + +.vc-header { + z-index: 10; + margin: 0 !important; + padding: 0 !important; + box-shadow: 0 1px 3px rgba(0,0,0,0.16), 0 1px 3px rgba(0,0,0,0.23); +} + +.new-products-recent { + top: -44px; + position: relative; +} + +.recetly-viewed-products-wrapper { + padding: 2px; +} + +.category-page-wrapper { + @extend .remove-padding-margin; +} + +.bottom-toolbar { + .pagination { + .page-item { + padding: 0 10px; + } + + a { + color: unset !important; + text-decoration: none !important; + + i { + top: 2px; + font-size: 18px; + position: relative; + } + } + + .angle-left-icon, + .angle-right-icon { + @include rango-default; + + background: unset; + } + .angle-right-icon::before { + content: "\E908"; + } + .angle-left-icon::before { + content: "\E907"; + } + } +} + +.carousel-products { + + .recently-viewed { + top: -40px; + position: relative; + } + + &.with-recent-viewed { + .btn-add-to-cart { + @extend .small-padding; + } + } +} diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/footer.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/footer.scss new file mode 100644 index 000000000..6b29ce83a --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/footer.scss @@ -0,0 +1,202 @@ +.footer { + width: 100%; + background-color: #ffffff; + display: inline-block; + + .footer-content { + .newsletter-subscription { + color: white; + padding: 10px 130px; + background-color: #4d7ea8; + + .newsletter-wrapper { + input.subscribe-field { + width: 300px; + border: none; + height: 38px; + font-size: 18px; + max-width: 250px; + padding: 10px 20px; + color: rgba(0,0,0,0.83); + } + + button.subscribe-btn { + left: -2px; + height: 38px; + font-size: 18px; + max-width: 110px; + line-height: 10px; + position: relative; + } + + .social-icons { + height: 100%; + padding: 20px 0; + color: $light-color; + + i { + margin: 0; + cursor: pointer; + } + + .within-circle { + background: #4d7ea8; + margin-right: 2px; + border: 1px solid rgba(255, 255, 255, 0.52); + } + + .within-circle:hover { + opacity: 0.5; + } + + img { + background: #4d7ea8; + border: 1px solid rgba(255, 255, 255, 0.52); + padding-left: 15px; + padding-right: 15px; + } + } + + .subscribe-newsletter { + text-align: right; + padding: 25px 0 30px 0; + } + } + } + + > .row { + padding: 60px 130px; + background: #30383F; + + .logo { + width: 150px; + height: 35px; + } + + .footer-ct-content { + > div { + margin: 0; + padding: 0; + font-size: 14px; + line-height: 2.5rem; + + ul { + margin-bottom: 0px; + + li { + margin-bottom: 5px; + + a { + color: rgba(255,255,255,0.83); + } + } + } + } + } + + .footer-rt-content { + padding-right: 0px; + + .row { + > div { + width: 100%; + display: block; + } + + .bg-image { + width: 42px; + height: 30px; + display: inline-block; + background-position: left; + } + + .bg-image:not(:last-child) { + margin-right: 3px; + } + + .cash { + background-image: url('../images/static/cash.png'); + } + .cheque { + width: 57px !important; + background-image: url('../images/static/cheque.png'); + } + .visa { + background-image: url('../images/static/visa.png'); + } + .master-card { + background-image: url('../images/static/master-card.png'); + } + .paypal { + background-image: url('../images/static/paypal.png'); + } + .discover { + background-image: url('../images/static/discover.png'); + } + } + + .row:not(:last-child) { + padding-bottom: 20px; + } + + h3 { + font-size: 14px; + color: rgba(255,255,255,0.52); + } + } + } + + .footer-statics { + .software-description { + padding-left: 0px; + + p { + @extend .clr-dark; + + font-size: 14px; + } + } + } + } + + .top-brands { + padding: 30px 130px; + + .top-brands-body { + ul { + width: 85%; + display: inline-block; + + li { + margin-left: 0; + font-size: 16px; + padding: 15px 0 0 0; + display: inline-block; + } + } + } + } + + .footer-copy-right { + width: 100%; + height: 60px; + font-size: 16px; + line-height: 6rem; + text-align: center; + background: #30383F;; + color: rgba(255,255,255,0.83); + + p { + padding: 0px 20px; + } + + a { + color: unset; + } + + a:hover { + color: $link-color; + } + } + +} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/home.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/home.scss new file mode 100644 index 000000000..285e23bf4 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/home.scss @@ -0,0 +1,660 @@ + +/* @author Shubham Mehrotra */ +body { + display: none; + overflow-x: hidden; + scroll-behavior: smooth; + + .container-margin { + margin: auto 20px; + } +} + +.root-category-menu { + border-bottom: solid 1px #d8e6ed; +} + +.angle-right-icon { + width: 22px; + height: 20px; + float: right; + margin-right: 10px; + background-image: url("../images/Icon-Arrow-Right.svg"); +} + +.card-product-image-container { + height: 300px; + min-height: 100px; + max-height: 300px; + + img { + width: 100%; + height: 100%; + } + + .background-image-group { + @extend .full-back-size; + + width: 100%; + height: 100%; + background-position: center; + background-repeat: no-repeat; + } +} + + +.hide-text { + white-space: nowrap; + width: 100%; + display: inline-block; + text-overflow: ellipsis; + overflow: hidden !important; +} + +.card-bottom-container { + margin-top: 12px; +} + +.card-actual-price { + text-decoration: line-through; +} + +.card-discount { + color: rgba(38, 163, 124, 0.83); +} + +.no-border-shadow { + border: none !important; + box-shadow: none !important; + -webkit-box-shadow: none !important; +} + +.card-bottom-container .rango-heart { + float: right; + margin-top: 8px; + cursor: pointer; + font-size: 20px; +} + +header #search-form > *:focus { + outline: none; + box-shadow: none; +} + +.disable-active:active, +.disable-active:focus { + outline: none; + box-shadow: none; +} + +.container-margin > .container-fluid { + margin-bottom: 60px; +} + +.v-mr-20 { + margin-right: 2rem; +} + +.popular-product-categories .active { + color: #4D7EA8; + padding: 0 10px 5px 10px; + display: inline-block; + border-bottom: 2px solid; +} + +.popular-product-categories .switch-buttons { + top: -3px; + position: relative; +} + +.align-vertical-top { + vertical-align: top; +} + +.card-sale-btn { + top: 5px; +} + +.star-rating > * { + font-size: 14px; +} + +/* advertisements */ +.advertisement-four-container { + .offers-ct-panel { + > .row { + padding: 0 10px; + } + + a:first-child { + padding-bottom: 15px !important; + } + + .offers-ct-top { + height: 180px; + } + + .offers-ct-bottom { + height: 220px; + } + } + + > .row:first-child { + padding: 0 10px !important; + } + + .col-4:nth-child(2) { + padding-left: 10px; + padding-right: 10px; + } + + img { + width: 100%; + height: 100%; + max-height: 425px; + } + + img:nth-of-type(1), + img:last-child { + padding: 0; + } +} + +.advertisement-two-container { + img { + width: 100%; + } +} + +.advertisement-three-container { + img { + height: 100%; + } + + .top-container, + .bottom-container { + img { + height: 225px; + } + } + + .bottom-container { + padding-top: 15px; + } +} +/* advertisements */ + +.recetly-viewed-items { + padding-left: 10px !important; + padding: 0px !important; +} + +/* product policy section */ +.product-policy-container { + .card { + border: none; + padding: 20px 10px; + background: $white-color; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); + + .policy { + display: table; + padding: 0 10px; + + .left { + margin-right: 10px; + display: inline-block; + } + + .right { + display: table-cell; + vertical-align: middle; + } + } + } + + .product-policy-wrapper:nth-of-type(1) { + padding-left: 0px; + } + .product-policy-wrapper:nth-last-of-type(1) { + padding-right: 0px; + } +} +/* product policy section */ + +/* category with custom option */ + +.category-with-custom-options { + + img { + width: 100%; + max-width: 100%; + height: 100%; + max-height: 100%; + } + + .row:nth-child(1) { + margin-bottom: 0px; + + .category-image { + height: 350px; + } + + > div { + padding: 0; + background-repeat: no-repeat; + + &:first-child() { + max-height: 345px; + } + + &:nth-child(3) { + max-height: 345px; + } + } + } + + .row:nth-child(2) { + .category-image { + height: 350px; + } + + > div { + padding: 0; + background-repeat: no-repeat; + + &:nth-child(2) { + max-height: 345px; + } + + &:nth-child(4) { + max-height: 345px; + } + } + } + + .categories-collection { + width: 100%; + height: 100%; + display: table; + min-height: 310px; + max-height: 345px; + padding-left: 36px; + background:#2B2B2B; + + h2 { + color: $white-color; + } + + li { + color: rgba(255,255,255,0.83); + } + + .category-text-content { + height: 100%; + display: table-cell; + vertical-align: middle; + } + } +} + +/* category with custom option */ + +/* hot & popular categories */ + +.hot-categories-container { + .hot-category-wrapper { + padding: 0 10px 0 0; + + .card { + height: 100%; + padding: 20px; + border: none; + // box-shadow: 0 6px 14px 0 rgba(0, 0, 0, 0.14); + // -webkit-box-shadow: 0 6px 14px 0 rgba(0, 0, 0, 0.14); + } + + .velocity-divide-page { + .left { + width: 30px; + height: 30px; + margin-left: 10px; + + img { + width: 100%; + height: 100%; + } + } + + .right { + padding-left: 50px !important; + } + } + } + + .hot-category-wrapper:nth-last-child(2) { + padding: 0 0 0 0px; + } + + .hot-category-wrapper:last-child { + padding: 0 0 0 10px; + } +} + +.hot-categories-container, +.popular-categories-container { + ul { + line-height: 2.5rem; + } + + li { + font-size: 16px; + } +} + +.popular-categories-container { + .popular-category-wrapper { + padding: 0 8px; + + .card { + height: 100%; + border: none; + // box-shadow: 0 6px 14px 0 rgba(0, 0, 0, 0.14); + // -webkit-box-shadow: 0 6px 14px 0 rgba(0, 0, 0, 0.14); + + .category-image { + height: 180px; + + img { + width: 100%; + height: 100%; + } + } + } + + .card-image { + height: 180px; + background-size: 100% 100%; + background-image: url('../images/man.png'); + } + + .card-description { + padding: 10px 20px; + } + } + + .popular-category-wrapper:first-child { + padding-left: 0; + } + + .popular-category-wrapper:nth-last-child(2) { + padding-right: 0px; + } + + .popular-category-wrapper:last-child { + padding-left: 16px; + padding-right: 0px; + } +} + +/* hot & popular categories */ + +/* Customer Reviews */ +.reviews-container { + .review-wrapper:nth-of-type(1) { + padding: 0 8px 0 0; + } + .review-wrapper { + padding: 0 8px; + } + .review-wrapper:nth-last-of-type(2) { + padding: 0 0 0 8px; + } + .review-wrapper:nth-last-of-type(1) { + padding: 0 0 0 16px; + } + + .card { + border: none; + height: 100%; + padding: 20px; + padding-left: 15px; + padding-right: 15px; + box-shadow: 0 4px 17px 0 rgba(0,0,0,0.11); + + .customer-info { + > div { + padding: 0; + display: inline-block; + } + + > div:first-child() { + width: 60px; + margin-right: 10px; + } + + > div:last-child() { + width: calc(100% - 75px); + } + } + + .review-info { + height: 100%; + padding: 20px 15px; + box-shadow: 0 4px 17px 0 rgba(0,0,0,0.11); + + > div:not(:last-child) { + margin-bottom: 10px; + } + + .star-ratings { + margin-bottom: 5px !important; + } + } + } + + .product-info { + display: inline-block; + } +} +/* Customer Reviews */ + +/* sidebar */ +.main-content-wrapper { + @extend .fs14; + + margin: 0; + margin-bottom: 60px; + display: inline-block; + + > .row { + &.disabled { + cursor: not-allowed; + } + } + + .main-category { + padding: 8px 15px; + border-top: 1px solid $border-common; + } + + .content-list { + margin: 0; + width: 100%; + height: 42px; + text-align: left; + list-style: none; + position: relative; + vertical-align: top; + display: inline-block; + + ul { + width: 100%; + height: 100%; + display: inline-flex; + background-color: $link-color; + + li { + a { + display: block; + cursor: pointer; + font-size: 16px; + font-weight: 600; + padding: 8px 15px; + letter-spacing: 0; + position: relative; + color: $white-color; + text-decoration: none; + } + } + + li:hover { + background-color: #42719a; + } + } + } +} + +.velocity-divide-page { + position: relative; + + .left { + z-index: 1; + width: $sidebar-width; + position: absolute; + } + + .right { + width: 100%; + padding-left: $sidebar-width !important; + } +} + +.container-right { + width: 100%; + display: inline-block; + + >:first-child() { + width: 100%; + } +} + +.home-base { + margin-bottom: 60px; +} +/* sidebar */ + +.broken-image { + width: 320px; + height: 160px; + background-image: url('../images/static/broken-clock.png'); +} + +.velocity-icon { + width: 150px; + height: 150px; + background-image: url('../images/static/v-icon.png'); +} + +.error-page { + padding-top: 30vh; +} + +.custom-circle { + width: 56px; + height: 54px; + padding: 14px; + font-size: 20px; + color: #21a179; + border-radius: 50%; + text-align: center; + background: white; + display: inline-block; + vertical-align: middle; + border: 2px solid #21a179; + font: 18px "josefin sans", arial; +} + +body::after { + /* dark overlay layer - visible when we fire .cd-quick-view */ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(71, 55, 78, 0.8); + opacity: 0; + transition: opacity .3s 0s, visibility 0s .3s; +} + +.cd-quick-view { + top: 50px; + left: 22%; + width: 734px; + z-index: 11; + padding: 40px; + display: block; + position: fixed; + max-width: 900px; + max-height: 1000px; + background-color: #fff; + // transition: box-shadow .3s; + // -moz-transition: box-shadow .3s; + // -webkit-transition: box-shadow .3s; + box-shadow: 0 0 30px rgba(0,0,0,.2); + + transform: translateZ(0); + backface-visibility: hidden; + will-change: left, top, width; + -webkit-backface-visibility: hidden; + + .cd-slider li.selected img { + width: 317px; + height: 397px; + display: inline-block !important; + } + + .cd-slider img { + display: none; + } + + .close-btn { + top: -25px; + right: -15px; + position: absolute; + } + + .action-buttons { + padding-top: 10px; + margin-left: 118px; + + > span { + font-size: 24px; + margin-left: 24px; + } + } +} + +.container { + max-width: 1300px !important; +} + +.remove-padding-margin { + width: 100% !important; + margin: 0px !important; + padding: 0px !important; +} + +.demo { + border: 1px solid red; +} + +.quick-addtocart-btn { + margin-top: 306px; + margin-left: -82px; +} + +.model-display-block { + display:block; +} + diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/media.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/media.scss new file mode 100644 index 000000000..7d5c2dff2 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/media.scss @@ -0,0 +1,871 @@ +.vc-small-screen { + display: none !important; +} + +@media only screen and (max-width: 1100px) { + .footer { + .footer-content { + .newsletter-subscription { + .newsletter-wrapper { + .social-icons { + width: 100%; + padding: 5px 0; + text-align: center !important; + } + + .subscribe-newsletter { + width: 100%; + padding: 10px 0; + text-align: center; + } + } + } + + .footer-statics { + > div:not(:last-child) { + margin-bottom: 30px; + } + } + } + } +} + +@media only screen and (max-width: 992px) { + +} + +@media only screen and (max-width: 768px) { + .modal-container { + left: 10%; + max-width: 80%; + margin-left: 0px; + } + + .footer .footer-list-container { + padding-left: 0px !important; + } + .footer .currency { + display: block !important; + } +} + +@media only screen and (max-width: 992px) { + $header-height: 50px; + + body { + &.open-hamburger { + color: #7f7f7f; + opacity: 0.8; + overflow: hidden; + } + } + + .main-container-wrapper { + // position: relative; + } + + .vc-small-screen { + display: block !important; + } + + .main-content-wrapper { + z-index: 100; + margin-bottom: 25px; + background-color: $white-color; + + .vc-header { + top: 0; + margin: 0; + padding: 0; + width: 100%; + height: $header-height; + position: fixed; + background-color: $white-color; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + + + div { + margin-top: $header-height; + } + + > div { + display: none; + } + + > div.vc-small-screen { + display: block; + + img { + width: 100%; + height: 100%; + max-height: $header-height; + } + + .hamburger-wrapper { + display: inline-block; + height: $header-height; + + .hamburger { + top: 12px; + font-size: 24px; + position: relative; + } + } + + .right-vc-header { + display: table; + text-align: right; + height: $header-height; + + > a { + display: table-cell; + vertical-align: middle; + } + + .badge-wrapper { + top: -2px; + left: -7px; + position: relative; + + .badge { + z-index: 10; + border-radius: 50%; + position: absolute; + background: $theme-color; + } + } + } + } + } + } + + #top { + display: none; + } + + .product-card-new { + // max-width: 16rem; + + &.grid-card { + .product-image-container { + height: 165px; + } + + .card-body { + .product-name { + width: 13rem; + } + + .product-rating { + display: none; + } + + .cart-wish-wrap { + .add-to-cart-btn { + padding: 0; + display: table; + + .btn-add-to-cart { + .small-padding { + &.btn-add-to-cart { + padding: 3px 14px !important; + } + } + } + } + + .wishlist-icon { + padding: 0; + max-width: 25px; + } + } + } + } + } + + .advertisement-four-container { + .offers-ct-panel { + padding: 8px 0; + + a:first-child { + padding-bottom: 10px !important; + } + } + } + + .advertisement-three-container { + .top-container, + .bottom-container { + img { + padding: 0px; + height: unset; + } + } + + .second-panel { + padding-top: 10px; + } + } + + .advertisement-two-container { + a:nth-of-type(2) { + padding: 15px 0 0 0; + } + } + + .category-with-custom-options { + display: none; + + &.vc-small-screen { + display: block; + + .smart-category-container { + .col-12 { + padding: 0; + } + } + + .smart-category-container:not(:first-child) { + padding-top: 20px; + } + } + } + + .footer { + .footer-content { + .newsletter-subscription { + padding: 10px 20px; + + .newsletter-wrapper { + margin: 0; + padding: 0; + + input.subscribe-field { + width: 200px; + } + + .subscribe-newsletter { + text-align: left; + + .subscriber-form-div { + text-align: center; + } + } + } + } + + .footer-statics { + padding: 30px 50px; + } + + .footer-copy-right { + font-size: 14px; + } + } + } + + .popular-categories-container { + .popular-category-wrapper { + padding: 0px; + + .card { + .category-image { + height: 100%; + } + } + + &:last-child { + padding-left: 0; + } + } + } + + .slides-container { + .VueCarousel { + .VueCarousel-pagination { + button { + width: 5px !important; + height: 5px !important; + } + + .VueCarousel-dot { + padding: 2px !important; + } + } + } + } + + .account-content { + .sidebar { + display: none; + } + + .account-layout { + padding: 0; + + &.right { + padding-right: 20px !important; + padding-left: 20px !important; + } + + .account-items-list { + &.wishlist-container { + .product-card-new { + width: calc(50% - 5px); + } + } + } + + .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; + } + } + } + } + } + + .sale-container { + .tabs-content { + .totals { + .sale-summary { + width: 100%; + font-size: 17px; + + tbody { + tr { + td { + width: 50% !important; + + &:last-child { + text-align: right; + } + } + } + } + } + } + } + + .order-box-container { + .box { + width: 100%; + margin-bottom: 20px; + + .box-title { + padding-bottom: 0; + } + } + } + } + + .table { + table { + thead { + display: none; + } + + tr { + margin-bottom: 20px; + border: 1px solid $border-common; + + td { + width: 100%; + display: block; + border-top: none; + + &:before { + content: attr(data-value); + font-size: 15px; + font-weight: 600; + display: inline-block; + width: 120px; + } + + .action { + display: inline-block; + } + } + } + } + } + } + } + + .mini-cart-container { + display: none; + } + + header { + .vc-small-screen { + .searchbar { + padding-left: 20px !important; + padding-right: 20px !important; + } + + #search-form { + width: 100%; + + .selectdiv { + display: none; + + + div { + input { + width: calc(100% - 40px); + border: 1px solid $theme-color; + } + } + } + } + } + } + + .carousel-products { + &.vc-full-screen { + display: none; + } + + &.vc-small-screen { + display: block !important; + } + } + + .reviews-container { + .review-wrapper, + .review-wrapper:nth-of-type(1), + .review-wrapper:nth-last-of-type(1), + .review-wrapper:nth-last-of-type(2) { + padding: 0px; + } + + .review-wrapper:not(:last-child) { + margin-bottom: 10px; + } + } + + .product-policy-wrapper { + padding: 0px !important; + } + + .product-policy-wrapper:not(:last-child) { + margin-bottom: 10px; + } + + .main-product-image { + display: none; + } + + .product-detail { + #product-form { + .form-container { + .left { + top: 0px; + padding: 0px; + position: relative; + margin-bottom: 20px; + } + + .right { + padding: 0px; + } + } + } + + .customer-rating { + > .row { + > div { + margin-bottom: 30px; + } + } + } + } + + .review-page-container { + > div { + padding: 0; + } + + > div:not(:last-child) { + position: relative; + margin-bottom: 60px; + } + } + + .customer-rating { + > .row { + > div:not(:last-child) { + margin-bottom: 20px; + } + } + } + + .auth-content { + &.form-container { + > .container { + margin: 0; + width: 100%; + + > div:first-child { + padding: 0; + + .body { + padding: 20px; + } + } + } + } + } + + .category-page-wrapper { + .layered-filter-wrapper { + display: none; + } + + .category-container { + margin: 0; + margin-top: 20px; + padding-left: 0px !important; + padding-right: 0px !important; + + > div { + padding: 0 10px; + + &:first-child { + padding: 0 10px !important; + } + } + + .filters-container { + left: 0px; + top: 40px; + padding: 0; + width: 100%; + z-index: 9; + position: fixed; + padding-bottom: 10px; + background-color: $white-color; + box-shadow: 0 2px 4px 0 rgba(0,0,0,0.21); + + .toolbar-wrapper { + > div.col-4 { + margin: 0; + padding: 0; + display: table; + text-align: center; + + * { + display: table-cell; + vertical-align: middle; + } + + a { + text-align: center; + display: inline-block; + } + + span { + left: 5px; + position: relative; + } + } + } + } + } + } + + .nav-container { + top: 0px; + left: 0px; + width: 75%; + opacity: 1; + z-index: 9999; + height: 100vh; + position: fixed; + font-size: 16px; + overflow-y: scroll; + box-shadow: 0 2px 8px 0; + background-color: $white-color; + + .wrapper { + position: relative; + + .category-title { + width: 100%; + display: table; + padding-left: 10px; + display: none; + margin : 13px 0px 13px 0px; + + > i { + font-size: 26px; + display: table-cell; + vertical-align: middle; + } + + span { + font-size: 20px; + display: table-cell; + vertical-align: top; + + i { + float: left !important; + margin: 2px 2px 0px 0px !important; + } + } + } + + .greeting { + top: 0; + width: 100%; + display: table; + position: sticky; + color: $black-color; + background-color: $white-color; + border-bottom: 1px solid $border-common; + + > i { + font-size: 26px; + display: table-cell; + vertical-align: middle; + } + + span { + font-size: 20px; + display: table-cell; + vertical-align: top; + } + } + + ul { + font-weight: 600; + color: $black-color; + border-top: 1px solid $border-common; + + li { + font-size: 16px; + + a { + padding: 10px 0px 10px 20px; + } + + &:hover { + background-color: $border-light; + } + + .category-logo, + .language-logo-wrapper { + width: 18px; + height: 18px; + margin-right: 5px; + display: inline-block; + } + + .rango-arrow-right { + float: right; + padding-right: 15px; + } + + .nested-category { + border-top: unset; + + li:last-child { + padding-bottom: 0; + } + } + } + + &:nth-of-type(1) { + border-top: unset; + } + } + + .vc-customer-options, + .category-wrapper { + li { + font-size: 14px; + + i { + &.icon { + @include rango-default; + + font-size: 18px; + padding-right: 5px; + + &.profile::before { + content: "\E995"; + } + + &.address::before { + content: "\e949"; + } + + &.reviews::before { + content: "\e97d"; + } + + &.wishlist::before { + content: "\e93e"; + } + + &.orders::before { + content: "\e931"; + } + + &.downloadables::before { + content: "\e926"; + } + } + } + } + } + } + + .drawer-section { + padding: 15px; + } + + .header { + &.drawer-section { + width: 100%; + display: table; + + > * { + display: table-cell; + vertical-align: middle; + } + + i { + width: 25px; + padding-right: 10px; + } + } + } + + .layered-filter-wrapper { + width: 100%; + display: block; + padding-top: 0; + margin-bottom: 0; + } + } + + .category-container, + .search-container { + .grid-card { + width: 45%; + } + + .grid-card:nth-child(odd) { + float: left; + } + + .grid-card:nth-child(even) { + float: right; + } + } + + .cart-details { + &.offset-1 { + margin-left: 0; + padding-left: 0; + padding-right: 0; + } + + .order-summary-container { + &.offset-1 { + margin-left: 0; + padding-left: 0; + padding-right: 0; + } + } + + h1, + .cart-details-header { + padding: 0; + } + + h1 { + margin-bottom: 20px; + } + + .cart-header { + display: none; + } + + .cart-item-list { + > div { + margin: 0; + padding: 0; + } + } + + .product-price { + span:nth-child(1), + .special-price { + font-size: 18px; + } + } + + .actions { + margin-top: 7px !important; + } + } + + .checkout-process { + margin-left: 0 !important; + padding-left: 0 !important; + padding-right: 0 !important; + + h1, + > div { + padding: 0; + } + + .accordian-header { + h3 { + margin-bottom: 0 !important; + } + } + + .billing-address { + margin-bottom: 20px; + } + } + + .address-holder { + > div { + padding-right: 0; + padding-bottom: 15px; + } + } + + .wishlist-container { + @include remove-padding-margin; + + .product-card-new { + margin-left: 0; + } + } +} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/product-view.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/product-view.scss new file mode 100644 index 000000000..3473a36ac --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/product-view.scss @@ -0,0 +1,340 @@ +.product-detail { + padding-top: 20px; + margin-bottom: 20px; + padding-left: 0 !important; + padding-right: 0 !important; + + .magnifier { + > img { + height: 450px; + } + } + + img { + width: 100%; + height: 100%; + } + + .right { + @extend .fs16; + + > div { + @extend .mb20; + + border-bottom: 1px solid $border-common; + + &.attributes { + .attribute { + margin-bottom: 20px; + + &:last-child { + margin-bottom: 30px; + } + } + } + } + + > div:not(:first-child) { + @extend .ml0; + } + + .category-breadcrumb { + margin-left: 0; + padding: 0 15px; + } + + .reviews { + vertical-align: top; + + > div { + display: inline-block; + } + } + + .info { + @extend .mb15; + margin-left: 0px; + + > h2, div { + padding-left: 0px; + } + + > * { + margin-bottom: 10px; + } + + h2 { + @extend .fw7; + @extend .fs24; + } + + .price { + @extend .fw6; + @extend .fs20; + + .card-current-price { + @extend .fs30; + } + } + + .availability { + button { + border: none; + color: white; + font-weight: 600; + cursor: default; + padding: 2px 11px; + background: $button-danger; + + &.active { + background: $link-color; + } + } + } + } + + .options { + > * { + @extend .mb20; + } + + label { + @extend .display-block; + } + + .quantity { + > label { + @extend .mr15; + @extend .display-inbl; + } + } + + .box { + width: 32px; + height: 32px; + display: inline-block; + background-color: $border-common; + } + + .buttons { + *:not(:last-child) { + @extend .mr15; + } + } + } + + h3 { + @extend .fw6; + @extend .fs18; + @extend .no-padding; + + margin-bottom: 0px; + } + + h4 { + @extend .fw6; + } + + .row { + &.reviews { + .reviews-text { + line-height: 3rem; + } + } + } + + .customer-reviews { + .row { + @extend .mb30; + } + } + + .add-to-cart-btn { + padding: 0px; + max-width: 130px; + + button { + text-transform: uppercase; + padding: 9px 15px !important; + + span { + top: 0; + font-size: 16px; + } + } + } + + .product-price { + .sticker { + display: none; + } + } + } + + .thumb-list { + left: 15px; + z-index: 99; + padding: 0px; + margin-top: 10px; + position: relative; + + .arrow { + height: 100%; + z-index: 1001; + opacity: 0.50; + cursor: pointer; + position: absolute; + background: $border-dark; + + &.left { + left: 0px; + line-height: 10em; + } + + &.right { + right: 0px; + line-height: 13rem; + } + } + + .thumb-frame { + padding: 1px; + border: 1px solid transparent; + + &.active { + border: 1px solid $theme-color; + } + + > .bg-image { + width: 100%; + height: 110px; + background-size: 100% 100%; + background-position-y: center; + } + } + } + + .wishlist-icon { + height: 46px; + display: table; + padding-left: 10px; + + i { + display: table-cell; + vertical-align: middle; + } + } + + .layouter, + #product-form { + height: 100%; + } + + #product-form { + .form-container { + height: 100%; + position: relative; + + .left { + top: 60px; + padding: 0px; + position: sticky; + + .product-image-group { + > div { + margin: 0; + padding: 0; + } + } + } + + .right { + .swatch-container { + margin-top: 10px; + display: inline-block; + + .swatch { + display: inline-block; + margin-right: 5px; + min-width: 40px; + height: 40px; + + span { + min-width: 38px; + height: 38px; + float: left; + border: 1px solid #C7C7C7; + border-radius: 3px; + line-height: 36px; + text-align: center; + cursor: pointer; + padding: 0 10px; + } + + img { + width: 38px; + height: 38px; + border: 1px solid #C7C7C7; + border-radius: 3px; + cursor: pointer; + background: rgb(242, 242, 242); + } + + input:checked + span, input:checked + img { + border: 1px solid #242424; + } + + input { + display: none; + } + } + + .no-options { + color: rgb(251, 57, 73); + } + } + } + } + } + + .accordian { + &.active { + .accordian-header { + padding-bottom: 0px; + } + } + } + + .full-description { + font-size: 14px; + } + + .full-specifications { + tr { + td:first-child() { + width: 100px; + } + } + } + + select[disabled=disabled] { + cursor: not-allowed; + border-color: $border-dark; + background-color: $border-dark; + } +} + +.store-meta-images { + margin-top: 20px; + + img { + width: 100%; + height: 100%; + max-height: 300px; + } +} + +.related-products { + margin-bottom: 60px; +} + diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/rtl.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/rtl.scss new file mode 100644 index 000000000..31ff1bda7 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/rtl.scss @@ -0,0 +1,109 @@ +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; + } + } + } + + .locale-icon { + ~ .select-icon-container { + right: 20px; + } + } + } + } +} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/shared.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/shared.scss new file mode 100644 index 000000000..671d109e7 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/shared.scss @@ -0,0 +1,856 @@ +.ltr { + direction: ltr; +} +.rtl { + direction: rtl; +} + +.padding-15 { + padding: 15px; +} + +.padding-10 { + padding: 15px; +} + +.fw5 { + font-weight: 500; +} +.fw6 { + font-weight: 600; +} +.fw7 { + font-weight: 700; +} + +.fs13 { + font-size: 13px !important; +} +.fs14 { + font-size: 14px; +} +.fs15 { + font-size: 15px; +} +.fs16 { + font-size: 16px; +} +.fs16i { + font-size: 16px !important; +} +.fs17 { + font-size: 17px; +} +.fs18 { + font-size: 18px; +} +.fs19 { + font-size: 19px; +} +.fs20 { + font-size: 20px; +} +.fs24 { + font-size: 24px; +} +.fs30 { + font-size: 30px; +} +.fs40 { + font-size: 40px; +} + +.pt0 { + padding-top: 0px !important; +} +.pt10 { + padding-top: 10px !important; +} +.pt15 { + padding-top: 15px !important; +} +.pt20 { + padding-top: 20px !important; +} +.pl0 { + padding-left: 0px !important; +} +.pl5 { + padding-left: 5px !important; +} +.pl15 { + padding-left: 15px !important; +} +.pl10 { + padding-left: 10px !important; +} +.pl20 { + padding-left: 20px !important; +} +.pl30 { + padding-left: 30px !important; +} +.pl40 { + padding-left: 40px !important; +} +.pr0 { + padding-right: 0px !important; +} +.pr5 { + padding-right: 5px !important; +} +.pr15 { + padding-right: 15px !important; +} +.pr40 { + padding-right: 40px !important; +} +.pb0 { + padding-bottom: 0px !important; +} +.pb10 { + padding-bottom: 10px !important; +} +.pb15 { + padding-bottom: 15px !important; +} +.pb30 { + padding-bottom: 30px !important; +} +.mt5 { + margin-top: 5px !important; +} +.mt10 { + margin-top: 10px; +} +.mt15 { + margin-top: 15px; +} +.mr5 { + margin-right: 5px; +} +.mr7 { + margin-right: 7px; +} +.mr10 { + margin-right: 10px; +} +.mr15 { + margin-right: 15px; +} +.mr20 { + margin-right: 20px; +} +.mb5 { + margin-bottom: 5px !important; +} +.mb10 { + margin-bottom: 10px !important; +} +.mb15 { + margin-bottom: 15px; +} +.mb20 { + margin-bottom: 20px; +} +.mb25 { + margin-bottom: 25px; +} +.mb30 { + margin-bottom: 30px; +} +.ml0 { + margin-left: 0px !important; +} +.ml5 { + margin-left: 5px; +} +.ml0 { + margin-left: 0px; +} +.ml10 { + margin-left: 10px !important; +} +.ml15 { + margin-left: 15px !important; +} +.ml30 { + margin-left: 30px !important; +} +.body-blur { + filter: blur(4px); + -webkit-filter: blur(4px); +} + +.no-margin { + margin: 0px !important; +} + +.no-padding { + padding: 0px !important; +} + +.flex-wrap { + flex-wrap: nowrap; +} + +.cursor-pointer { + cursor: pointer; +} +.cursor-not-allowed { + cursor: not-allowed; +} +.cursor-default { + cursor: default; +} + +.grey { + color: rgb(158, 158, 158); +} +.clr-light { + color: rgba(0,0,0,0.53); +} +.clr-dark { + color: rgba(255,255,255,0.52); +} +.font-clr { + color: $font-color; +} + +.display-inbl { + display: inline-block !important; +} +.display-block { + display: block !important; +} + +.align-vertical-top { + vertical-align: top; +} +.align-vertical-middle { + vertical-align: middle; +} + +.full-width { + width: 100%; + display: block; +} + +.full-image { + width: 100%; + height: 100%; +} + +.full-back-size { + background-size: 100% 100% !important; +} + +.max-width-100 { + max-width: 100% !important; +} + +.no-border { + border: none !important; +} + +.back-pos-rt { + background-position: right; +} + +.theme-btn { + border: none; + cursor: pointer; + font-weight: 600; + padding: 10px 20px; + vertical-align: top; + border: 1px solid transparent; + color: $light-color !important; + background-color: $theme-color !important; + + &:hover, + &:focus { + outline: none; + box-shadow: none; + border: 1px solid $theme-dark-color; + background-color: $theme-color !important; + } + + &.light { + color: $theme-color !important; + background-color: $light-color !important; + box-shadow: 0 1px 0 0 #CFCFCF; + border: 1px solid rgba(0,0,0,0.12); + + &:hover, + &:focus { + outline: none; + box-shadow: none; + border: 1px solid $theme-dark-color; + background-color: #f5f5f5 !important; + } + } +} + +.theme-btn:hover, +.btn-add-to-cart:hover { + border-color: $theme-dark-color !important; + background-color: $theme-dark-color !important; + + &.light { + border: 1px solid rgba(0,0,0,0.12) !important; + } +} + +.norm-btn { + border: 1px solid $border-common; + font-size: 14px; + padding: 9px 20px; + border-radius: 2px; + vertical-align: top; + color: $dark-color !important; + background-color: $light-color !important; +} + +.sale-btn { + z-index: 10; + border: none; + color: white; + font-size: 14px; + padding: 3px 10px; + position: absolute; + border-radius: 12px; + background-color: $theme-color; +} + +.bg-image { + width: 100%; + background-size: contain; + background-repeat: no-repeat; + background-position: top; + +} + +.material-icons { + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ + + /* Rules below not implemented in browsers yet */ + -o-user-select: none; + user-select: none; +} + +.unselectable { + * { + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ + + /* Rules below not implemented in browsers yet */ + -o-user-select: none; + user-select: none; + } +} + +.card-arrow-container { + .card-arrow { + z-index: 10; + width: 20px; + height: 20px; + display: block; + position: absolute; + background-color: #2B2B2B; + transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -webkit-box-shadow: 0 0 0 1px rgba(39, 44, 48, 0.05), 0 2px 7px 1px rgba(39, 44, 48, 0.16); + box-shadow: 0 0 0 1px rgba(39, 44, 48, 0.05), 0 2px 7px 1px rgba(39, 44, 48, 0.16); + } + + .card-arrow-tp { + left: 50%; + top: -10px; + } + + .card-arrow-rt { + top: 50%; + right: -10px; + } + + .card-arrow-bt { + left: 50%; + top: calc(100% - 10px); + } + + .card-arrow-lt { + top: 50%; + left: -7px; + } +} + +.lg-card-container { + cursor: pointer; + + a { + color: $font-color; + text-decoration: none; + } + + #quick-view-btn-container { + :hover { + color: $white-color !important; + } + } + + .background-image-group { + background-size: contain !important; + } + + &.grid-card, + &.list-card { + .card-current-price { + font-size: 18px; + } + + .product-rating { + .stars { + display: inline-block; + } + + span { + vertical-align: middle; + } + } + + .product-information { + > div:not(:last-child) { + margin-bottom: 5px; + } + } + + img { + width: 100%; + height: 100%; + } + } + + &.list-card { + margin-left: 0px; + padding-left: 0px; + + .background-image-group { + height: 100%; + } + + .product-image { + float: left; + width: 30%; + height: 270px; + max-width: 200px; + max-height: 200px; + background: #f2f2f2; + } + + .product-information { + width: 70%; + float: right; + padding-left: 20px; + } + + .product-rating { + .stars { + display: inline-block; + } + + span { + vertical-align: top; + } + } + + .product-information { + height: 200px; + display: table; + + > div { + display: table-cell; + vertical-align: middle; + } + } + + .product-price { + .sticker { + display: block; + } + } + + .wishlist-icon { + height: 40px; + display: table; + + i { + display: table-cell; + vertical-align: middle; + } + } + + .add-to-cart-btn { + max-width: 150px; + } + } + + &.grid-card { + padding: 15px; + + .product-image { + max-height: 350px; + max-width: 280px; + margin-bottom: 10px; + background: #f2f2f2; + + img { + display: block; + height: 100%; + } + } + } + + &.list-card:not(:first-child) { + margin-top: 20px; + } +} + +.small-padding { + padding: 3px 4px !important; +} + +.medium-padding { + padding: 3px 10px !important; +} + +.general-container { + cursor: pointer; +} + +.lg-card-container { + > .product-card { + border: none; + } +} +.product-card-new:hover, +.lg-card-container:hover, +.general-container:hover { + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} + +.lg-card-container:hover { + .quick-view-btn-container { + display: block; + } +} + +.text-nowrap { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + color: #555555; +} + +.small-card-container { + cursor: pointer; + margin-bottom: 10px; + margin-left: 0 !important; + margin-right: 0 !important; + + .material-icons { + font-size: 16px; + } + + .product-image-container { + padding: 0; + display: inline-block; + } + + .product-image { + @extend .bg-image; + + height: 100%; + background-position: center; + } + + .card-body { + width: 50%; + display: inline-block; + padding: 10px 0 !important; + + .product-name { + width: 17rem; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + + .sticker, + .regular-price { + display: none; + } +} + +.small-card-container:hover { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} + +.text-down-3 { + top: 3px; + position: relative; +} +.text-down-4 { + top: 4px; + position: relative; +} +.text-down-6 { + top: 6px; + position: relative; +} +.text-up-1 { + top: -1px; + position: relative; +} +.text-up-4 { + top: -4px; + position: relative; +} +.text-up-14 { + top: -14px; + position: relative; +} + +ul.circle-list { + padding-top: 10px; + text-align: center; + + li.circle { + width: 10px; + height: 10px; + cursor: pointer; + border-radius: 50%; + display: inline-block; + border: 1px solid #D8D8D8; + + &.fill { + background: #D8D8D8; + } + } + + li.circle:not(:last-child) { + margin-right: 6px; + } +} + +.hide { + display: none; +} + +.category-breadcrumb { + font-size: 16px; +} + +.link-color { + color: $link-color; +} + +a { + &.unset { + color: unset !important; + text-decoration: none !important; + } + + &.remove-decoration { + text-decoration: none; + } + + &.remove-decoration:hover, + &.remove-decoration:active, + &.remove-decoration:focus { + text-decoration: none; + } +} + +.dropdown-icon::after { + display: inline-block; + margin-left: 1rem; + vertical-align: middle; + content: ""; + border-top: .3em solid; + border-right: .3em solid transparent; + border-bottom: 0; + border-left: .3em solid transparent; +} + +input:focus, +select:focus, +.disable-box-shadow, +.disable-box-shadow:focus, +.disable-box-shadow:active { + outline: none !important; + box-shadow: none !important; + -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0); + -moz-box-shadow: 0 5px 15px rgba(0,0,0,0); + -o-box-shadow: 0 5px 15px rgba(0,0,0,0); + box-shadow: 0 5px 15px rgba(0,0,0,0); +} + +.control-error { + color: $color-danger; +} + +a { + &.default { + color: $font-color !important; + text-decoration: none !important; + } +} + +.VueCarousel { + width: 100%; + cursor: pointer; + + .VueCarousel-inner { + padding-top: 5px; + } + + .VueCarousel-slide:nth-of-type(1) { + .product-card-new { + margin-left: 5px; + } + } +} + +.navigation-hide { + .VueCarousel-navigation { + display: none; + } +} + +.pagination-hide { + .VueCarousel-pagination { + display: none; + } +} + +.scrollable { + max-height: 100vh; + overflow-y: scroll; + scrollbar-width: none; + -ms-overflow-style: none; +} + +.scrollable::-webkit-scrollbar { + width: 0 !important +} + +button[disabled] { + opacity: 0.50; + cursor: not-allowed; +} + +.max-sm-img-dimention { + max-width: 110px; + max-height: 110px; + + img { + width: 100%; + height: 100%; + } +} + +.max-width { + width: 1440px !important; + margin: 0 auto !important; +} + +.styled-select { + appearance:none; + -moz-appearance:none; /* Firefox */ + -webkit-appearance:none; /* Safari and Chrome */ + + + .select-icon-container { + position: relative; + + .select-icon { + top: -24px; + left: unset; + right: 10px; + font-size: 16px; + position: absolute; + } + } +} + +.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; + font-size: 16px; + position: relative; +} + +.normal-text { + color: $light1-black; +} +.normal-white-text { + color: $font-color-light; +} + +.display-table { + display: table; + + .cell { + display: table-cell; + vertical-align: middle; + } +} + +.rango-default { + speak: none; + line-height: 1; + font-style: normal; + font-weight: normal; + text-transform: none; + font-variant: normal; + -webkit-font-smoothing: antialiased; + font-family: 'Webkul Rango' !important; +} + +.quick-view-name { + font-size: 24px; +} + +.quick-view-price { + font-size: 30px; +} + +.description-text { + font-size: 14px; +} + +.max-height-350 { + max-height: 350px; +} + +.border-normal { + border: $border-normal; +} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/icons.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/icons.scss new file mode 100644 index 000000000..2a7dbfcc4 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/icons.scss @@ -0,0 +1,19 @@ +.velocity-icon { + width: 60px; + height: 55px; + display: inline-block; + background-size: cover; + background-image: url("../images/Icon-Velocity.svg"); +} + +.router-link-active, +.active { + .velocity-icon { + background-image: url("../images/Icon-Velocity-Active.svg"); + } + + &.velocity-icon { + background-image: url("../images/Icon-Velocity-Active.svg"); + } +} + diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/rango.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/rango.scss new file mode 100644 index 000000000..11bb31290 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/rango.scss @@ -0,0 +1,682 @@ + + +.velocity-icon { + width: 60px; + height: 55px; + display: inline-block; + background-size: cover; + background-image: url("../images/Icon-Velocity.svg"); +} + +.router-link-active .velocity-icon, .active .velocity-icon { + background-image: url("../images/Icon-Velocity-Active.svg"); +} + +.router-link-active.velocity-icon, .active.velocity-icon { + background-image: url("../images/Icon-Velocity-Active.svg"); +} + +@font-face { + font-family: 'Webkul Rango'; + src: url("../fonts/font-rango/rango.eot?o0evyv"); + src: url("../fonts/font-rango/rango.eot?o0evyv#iefix") format("embedded-opentype"), url("../fonts/font-rango/rango.ttf?o0evyv") format("truetype"), url("../fonts/font-rango/rango.woff?o0evyv") format("woff"), url("../fonts/font-rango/rango.svg?o0evyv#rango") format("svg"); + font-weight: normal; + font-style: normal; +} + +.wk-icon { + font-size: 20px; + font-weight: 400; + text-align: center; + color: #0041ff; +} + +[class^="rango-"], [class*=" rango-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'Webkul Rango' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.rango-activity:before { + content: "\E900"; +} + +.rango-announcement:before { + content: "\E901"; +} + +.rango-arrow-circle-down:before { + content: "\E902"; +} + +.rango-arrow-circle-left:before { + content: "\E903"; +} + +.rango-arrow-circle-right:before { + content: "\E904"; +} + +.rango-arrow-circle-up:before { + content: "\E905"; +} + +.rango-arrow-down:before { + content: "\E906"; +} + +.rango-arrow-left:before { + content: "\E907"; +} + +.rango-arrow-right:before { + content: "\E908"; +} + +.rango-arrow-up:before { + content: "\E909"; +} + +.rango-auction:before { + content: "\E90A"; +} + +.rango-baby:before { + content: "\E90B"; +} + +.rango-bag:before { + content: "\E90C"; +} + +.rango-ball-2:before { + content: "\E90D"; +} + +.rango-bar-code:before { + content: "\E90E"; +} + +.rango-batch:before { + content: "\E90F"; +} + +.rango-book:before { + content: "\E910"; +} + +.rango-calender:before { + content: "\E911"; +} + +.rango-camera:before { + content: "\E912"; +} + +.rango-car:before { + content: "\E913"; +} + +.rango-card:before { + content: "\E914"; +} + +.rango-cart-1:before { + content: "\E915"; +} + +.rango-cart-2:before { + content: "\E916"; +} + +.rango-cart-3:before { + content: "\E917"; +} + +.rango-circel-1:before { + content: "\E918"; +} + +.rango-circel:before { + content: "\E919"; +} + +.rango-circle-1:before { + content: "\E91A"; +} + +.rango-circle-2:before { + content: "\E91B"; +} + +.rango-circle-check:before { + content: "\E91C"; +} + +.rango-clear:before { + content: "\E91D"; +} + +.rango-close-2:before { + content: "\E91E"; +} + +.rango-close:before { + content: "\E91F"; +} + +.rango-cloth:before { + content: "\E920"; +} + +.rango-coin:before { + content: "\E921"; +} + +.rango-copy:before { + content: "\E922"; +} + +.rango-currency:before { + content: "\E923"; +} + +.rango-delete:before { + content: "\E924"; +} + +.rango-donwload-1:before { + content: "\E925"; +} + +.rango-download-1:before { + content: "\E926"; +} + +.rango-edit-pencil:before { + content: "\E927"; +} + +.rango-ellipse:before { + content: "\E928"; +} + +.rango-envelop:before { + content: "\E929"; +} + +.rango-exchange:before { + content: "\E92A"; +} + +.rango-exchnage:before { + content: "\E92B"; +} + +.rango-expend-collaps:before { + content: "\E92C"; +} + +.rango-expend:before { + content: "\E92D"; +} + +.rango-eye-hide:before { + content: "\E92E"; +} + +.rango-eye-visible:before { + content: "\E92F"; +} + +.rango-facebook:before { + content: "\E930"; +} + +.rango-file:before { + content: "\E931"; +} + +.rango-filter:before { + content: "\E932"; +} + +.rango-flag:before { + content: "\E933"; +} + +.rango-folder:before { + content: "\E934"; +} + +.rango-food:before { + content: "\E935"; +} + +.rango-furniture:before { + content: "\E936"; +} + +.rango-gift:before { + content: "\E937"; +} + +.rango-globe:before { + content: "\E938"; +} + +.rango-google-plus:before { + content: "\E939"; +} + +.rango-gps:before { + content: "\E93A"; +} + +.rango-graph-1:before { + content: "\E93B"; +} + +.rango-graph:before { + content: "\E93C"; +} + +.rango-heart-fill:before { + content: "\E93D"; +} + +.rango-heart:before { + content: "\E93E"; +} + +.rango-hold-cart:before { + content: "\E93F"; +} + +.rango-home:before { + content: "\E940"; +} + +.rango-info:before { + content: "\E941"; +} + +.rango-instagram:before { + content: "\E942"; +} + +.rango-language-1:before { + content: "\E943"; +} + +.rango-language:before { + content: "\E944"; +} + +.rango-laptop:before { + content: "\E945"; +} + +.rango-limit:before { + content: "\E946"; +} + +.rango-linked-in:before { + content: "\E947"; +} + +.rango-lipstick:before { + content: "\E948"; +} + +.rango-location:before { + content: "\E949"; +} + +.rango-lock-1:before { + content: "\E94A"; +} + +.rango-lock-2:before { + content: "\E94B"; +} + +.rango-map:before { + content: "\E94C"; +} + +.rango-message-1:before { + content: "\E94D"; +} + +.rango-message:before { + content: "\E94E"; +} + +.rango-minus:before { + content: "\E94F"; +} + +.rango-mobile:before { + content: "\E950"; +} + +.rango-more:before { + content: "\E951"; +} + +.rango-neckless:before { + content: "\E952"; +} + +.rango-next:before { + content: "\E953"; +} + +.rango-notification:before { + content: "\E954"; +} + +.rango-num-pad:before { + content: "\E955"; +} + +.rango-percentage:before { + content: "\E956"; +} + +.rango-phone:before { + content: "\E957"; +} + +.rango-picture:before { + content: "\E958"; +} + +.rango-pintrest:before { + content: "\E959"; +} + +.rango-play:before { + content: "\E95A"; +} + +.rango-plus:before { + content: "\E95B"; +} + +.rango-pos:before { + content: "\E95C"; +} + +.rango-power:before { + content: "\E95D"; +} + +.rango-previous:before { + content: "\E95E"; +} + +.rango-printer:before { + content: "\E95F"; +} + +.rango-product-add:before { + content: "\E960"; +} + +.rango-product-retrun:before { + content: "\E961"; +} + +.rango-product:before { + content: "\E962"; +} + +.rango-produt-group:before { + content: "\E963"; +} + +.rango-push:before { + content: "\E964"; +} + +.rango-quotation:before { + content: "\E965"; +} + +.rango-refresh:before { + content: "\E966"; +} + +.rango-refrigrator:before { + content: "\E967"; +} + +.rango-return-credit:before { + content: "\E968"; +} + +.rango-return:before { + content: "\E969"; +} + +.rango-search:before { + content: "\E96A"; +} + +.rango-security:before { + content: "\E96B"; +} + +.rango-setting-cog:before { + content: "\E96C"; +} + +.rango-setting-reset:before { + content: "\E96D"; +} + +.rango-share-1:before { + content: "\E96E"; +} + +.rango-share-2:before { + content: "\E96F"; +} + +.rango-shoes:before { + content: "\E970"; +} + +.rango-shop:before { + content: "\E971"; +} + +.rango-sign-in:before { + content: "\E972"; +} + +.rango-sign-out:before { + content: "\E973"; +} + +.rango-sort-1:before { + content: "\E974"; +} + +.rango-sort-2:before { + content: "\E975"; +} + +.rango-square-1:before { + content: "\E976"; +} + +.rango-square-3:before { + content: "\E977"; +} + +.rango-square-4:before { + content: "\E978"; +} + +.rango-square-tick-fill:before { + content: "\E979"; +} + +.rango-square:before { + content: "\E97B"; +} + +.rango-star-fill:before { + content: "\E97C"; +} + +.rango-star:before { + content: "\E97D"; +} + +.rango-stat-down:before { + content: "\E97E"; +} + +.rango-stat-up:before { + content: "\E97F"; +} + +.rango-support-head:before { + content: "\E980"; +} + +.rango-t-shirt:before { + content: "\E981"; +} + +.rango-table:before { + content: "\E982"; +} + +.rango-tag-1:before { + content: "\E983"; +} + +.rango-tag-2:before { + content: "\E984"; +} + +.rango-tag-3:before { + content: "\E985"; +} + +.rango-tag-4:before { + content: "\E986"; +} + +.rango-tick-2:before { + content: "\E987"; +} + +.rango-tick-square:before { + content: "\E988"; +} + +.rango-tick:before { + content: "\E989"; +} + +.rango-toggle:before { + content: "\E98A"; +} + +.rango-trophy:before { + content: "\E98B"; +} + +.rango-twitter:before { + content: "\E98C"; +} + +.rango-upload-2:before { + content: "\E98D"; +} + +.rango-upload:before { + content: "\E98E"; +} + +.rango-user-add:before { + content: "\E98F"; +} + +.rango-user-cash:before { + content: "\E990"; +} + +.rango-user-group:before { + content: "\E991"; +} + +.rango-user-info:before { + content: "\E992"; +} + +.rango-user-owner:before { + content: "\E993"; +} + +.rango-user-shop:before { + content: "\E994"; +} + +.rango-user:before { + content: "\E995"; +} + +.rango-van-ship:before { + content: "\E996"; +} + +.rango-video-camera:before { + content: "\E997"; +} + +.rango-video:before { + content: "\E998"; +} + +.rango-view-grid:before { + content: "\E999"; +} + +.rango-view-list:before { + content: "\E99A"; +} + +.rango-wifi-on:before { + content: "\E99B"; +} + +.rango-wifi:before { + content: "\E99C"; +} + +.rango-youtube:before { + content: "\E99D"; +} + +.rango-zoom-minus:before { + content: "\E99E"; +} + +.rango-zoom-plus:before { + content: "\E99F"; +} diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/static/material-icons.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/static/material-icons.scss new file mode 100644 index 000000000..e1ac68a9c --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/static/material-icons.scss @@ -0,0 +1,115 @@ +/* fallback */ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2'); + } + /* fallback */ + @font-face { + font-family: 'Material Icons Outlined'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconsoutlined/v14/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format('woff2'); + } + /* fallback */ + @font-face { + font-family: 'Material Icons Round'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconsround/v14/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmP.woff2) format('woff2'); + } + /* fallback */ + @font-face { + font-family: 'Material Icons Sharp'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconssharp/v15/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvR.woff2) format('woff2'); + } + /* fallback */ + @font-face { + font-family: 'Material Icons Two Tone'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/materialiconstwotone/v13/hESh6WRmNCxEqUmNyh3JDeGxjVVyMg4tHGctNCu0.woff2) format('woff2'); + } + + .material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + } + + .material-icons-outlined { + font-family: 'Material Icons Outlined'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + } + + .material-icons-round { + font-family: 'Material Icons Round'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + } + + .material-icons-sharp { + font-family: 'Material Icons Sharp'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + } + + .material-icons-two-tone { + font-family: 'Material Icons Two Tone'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + } \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/lang/ar/app.php b/packages/Webkul/Velocity/src/Resources/lang/ar/app.php new file mode 100644 index 000000000..2792d4c2d --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/lang/ar/app.php @@ -0,0 +1,39 @@ + [ + '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' => 'طرق الشحن', + ], +] + +?> \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/lang/en/app.php b/packages/Webkul/Velocity/src/Resources/lang/en/app.php new file mode 100644 index 000000000..10c46e586 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/lang/en/app.php @@ -0,0 +1,269 @@ + [ + 'system' => [ + 'velocity' => [ + 'extension_name' => 'Velocity Theme', + 'settings' => 'Settings', + 'general' => 'General', + 'category' => 'Category', + 'error-module-inactive' => 'Warning: Velocity theme status is inactive', + ], + + 'settings' => [ + 'channels'=> [ + 'subscription_bar' => 'Subscription bar content' + ], + ], + + 'general' => [ + 'status' => 'Status', + 'active' => 'Active', + 'inactive' => 'Inactive', + ], + 'category' => [ + 'icon-status' => 'Category Icon Status', + 'active' => 'Active', + 'inactive' => 'Inactive', + 'right' => 'Right', + 'left' => 'Left', + 'image-status' => 'Category Image Status', + 'image-height' => 'Image\'s Height [in Pixel]', + 'image-width' => 'Image\'s Width [in Pixel]', + 'image-alignment' => 'Image Alignment', + 'show-tooltip' => 'Show Category\'s Tooltip', + 'sub-category-show' => 'Show Sub Category', + 'all' => 'All', + 'custom' => 'Custom', + 'num-sub-category' => 'Number Of Sub Category', + ] + ], + 'layouts' => [ + 'velocity' => 'Velocity', + 'header-content' => 'Header Content', + 'cms-pages' => 'CMS Pages', + 'meta-data' => 'Meta Data', + 'category-menu' => 'Category Menu', + ], + 'contents' => [ + 'title' => 'Content Pages List', + 'add-title' => 'Add Content', + 'btn-add-content' => 'Add New Content', + 'save-btn-title' => 'Save Content', + 'active' => 'Active', + 'inactive' => 'Inactive', + 'select' => '-- Select --', + 'self' => 'Self', + 'new-tab' => 'New Tab', + 'autocomplete' => '[Autocomplete]', + 'search-hint' => 'Search product here...', + 'no-result-found' => 'No record found.', + 'mass-delete-success' => 'Success: Selected conent(s) deleted successfully.', + 'tab' => [ + 'page' => 'Page Setting', + 'content' => 'Content Setting', + 'meta_content' => 'Meta Data', + ], + 'page' => [ + 'title' => 'Title', + 'position' => 'Position', + 'status' => 'Status', + ], + 'content' => [ + 'content-type' => 'Content Type', + 'custom-title' => 'Custom Title', + 'custom-heading' => 'Custom Heading', + 'page-link' => 'Page Link [e.g. http://example.com/../../]', + 'link-target' => 'Page Link Target', + 'catalog-type' => 'Product Catalog Type', + 'custom-product' => 'Store Products', + 'static-description' => 'Content Description', + ], + 'datagrid' => [ + 'id' => 'Content Id', + 'title' => 'Title', + 'position' => 'Position', + 'status' => 'Status', + 'content-type' => 'Content Type', + ] + ], + 'meta-data' => [ + 'title' => 'Velocity meta data', + 'home-page-content' => 'Home Page Content', + 'footer-left-content' => 'Footer Left Content', + 'subscription-content' => 'Subscription bar Content', + 'activate-slider' => 'Activate Slider', + 'sidebar-categories' => 'Sidebar Categories', + 'footer-left-raw-content' => '

We love to craft softwares and solve the real world problems with the binaries. We are highly committed to our goals. We invest our resources to create world class easy to use softwares and applications for the enterprise business with the top notch, on the edge technology expertise.

', + 'footer-middle-content' => 'Footer Middle Content', + 'update-meta-data' => 'Update Meta Data', + 'advertisement-four' => 'Advertisement Four Images', + 'advertisement-three' => 'Advertisement Three Images', + 'advertisement-two' => 'Advertisement Two Images', + 'advertisement-one' => 'Advertisement One Images', + 'product-view-image' => 'Product View Image', + 'footer' => 'Footer', + 'product-policy' => 'Product Policy', + 'slider-path' => 'Slider Path', + 'category-logo' => 'Category logo', + ], + 'category' => [ + 'title' => 'Category Menu List', + 'add-title' => 'Add Menu Content', + 'edit-title' => 'Edit Menu Content', + 'btn-add-category' => 'Add Category Content', + 'save-btn-title' => 'Save Menu', + 'datagrid' => [ + 'category-id' => 'Category Id', + 'category-name' => 'Category Name', + 'category-icon' => 'Category Icon', + 'category-status' => 'Status', + ], + 'tab' => [ + 'general' => 'General', + ], + 'select' => '-- Select --', + 'select-category' => 'Choose Category', + 'icon-class' => 'Icon Class', + 'tooltip-content' => 'Tooltip Content', + 'status' => 'Status', + 'active' => 'Active', + 'inactive' => 'Inactive', + 'mass-delete-success' => 'Success: Selected categories menu deleted successfully.', + ], + 'general' => [ + 'locale_logo' => 'Locale Logo', + ], + ], + + 'home' => [ + 'page-title' => 'Velocity-Home', + 'add-to-cart' => 'Add To Cart', + 'hot-categories' => 'Hot Categories', + 'popular-categories' => 'Popular Categories', + 'payment-methods' => 'Payment Methods', + 'shipping-methods' => 'Shipping Methods', + ], + + 'header' => [ + 'title' => 'Account', + 'welcome-message' => 'Welcome, :customer_name', + 'dropdown-text' => 'Manage Cart, Orders & Wishlist', + 'sign-in' => 'Sign In', + 'sign-up' => 'Sign Up', + 'account' => 'Account', + 'cart' => 'Cart', + 'profile' => 'Profile', + 'wishlist' => 'Wishlist', + 'cart' => 'Cart', + 'guest' => 'Guest', + 'logout' => 'Logout', + 'search-text' => 'Search products here', + 'all-categories' => 'All Categories' + ], + + 'menu-navbar' => [ + 'text-category' => 'Shop by Category', + 'text-more' => 'More', + ], + + 'minicart' => [ + 'view-cart' => 'View Cart', + 'checkout' => 'Checkout', + 'cart' => 'Cart', + ], + + 'checkout' => [ + 'checkout' => 'Checkout', + 'qty' => 'Qty', + 'cart' => [ + 'cart-subtotal' => 'Cart Subtotal', + 'view-cart' => 'View Cart', + 'cart-summary' => 'Cart Summary', + ], + 'proceed' => 'Proceed to checkout', + 'sub-total' => 'Sub Total', + 'items' => 'Items', + 'qty' => 'Qty', + 'subtotal' => 'Subtotal', + ], + + 'customer' => [ + 'login-form' => [ + 'customer-login' => 'Customer Login', + 'registered-user' => 'Registered User', + 'form-login-text' => 'If you have an account, sign in with your email address.', + 'sign-up' => 'Sign up', + 'new-customer' => 'New Customer', + 'your-email-address' => 'Your email address', + ], + 'signup-form' => [ + 'user-registration' => 'User Registration', + 'login' => 'Login', + 'become-user' => 'Become User', + 'form-sginup-text' => 'If you are new to our store, we glab to have you as member.', + ], + 'forget-password' => [ + 'recover-password' => 'Recover Password', + 'recover-password-text' => 'If you forgot your password, recover it by entering your email address.', + 'forgot-password' => 'Forgot Password', + 'login' => 'Login', + + ] + ], + + 'error' => [ + 'page-lost-short' => 'Page lost content', + 'page-lost-description' => "The page you're looking for isn't available. Try to search again or use the Go Back button below.", + 'go-to-home' => 'Go to home' + ], + + 'products' => [ + 'short-description' => 'Short Descriptions', + 'more-infomation' => 'More Information', + 'details' => 'Details', + 'customer-rating' => 'Customer Rating', + 'reviews' => 'Reviews', + 'view-all-reviews' => 'View All Reviews', + 'write-your-review' => 'Write Your Review', + 'quick-view' => 'Quick View', + 'recently-viewed' => 'Recently Viewed Products', + 'review-by' => 'Review by', + 'be-first-review' => 'Be the first to write a review', + 'submit-review' => 'Submit Review', + ], + + 'shop' => [ + 'gender' => [ + 'male' => 'Male', + 'female' => 'Female', + 'other' => 'Other', + ], + 'general' => [ + 'update' => 'Update', + 'enter-current-password' => 'Enter your current password', + 'new-password' => 'New password', + 'confirm-new-password' => 'Confirm new password', + 'top-brands' => 'Top Brands', + 'filter' => 'Filter', + 'view' => 'View', + 'addresses' => 'Addresses', + 'reviews' => 'Reviews', + 'orders' => 'Orders', + 'downloadables' => 'Downloadable Products', + ], + 'wishlist' => [ + 'add-wishlist-text' => 'Add product to wishlist', + 'remove-wishlist-text' => 'Remove product from wishlist' + ] + ], + + 'responsive' => [ + 'header' => [ + 'greeting' => 'Welcome, :customer !', + ] + ], +] + +?> diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/category/create.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/category/create.blade.php new file mode 100644 index 000000000..46807121c --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/category/create.blade.php @@ -0,0 +1,98 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('velocity::app.admin.category.add-title') }} +@stop + +@section('content') +
+ +
+ + + +
+ @csrf() + + {!! view_render_event('bagisto.admin.category.create_form_accordian.general.before') !!} + + +
+ + {!! view_render_event('bagisto.admin.category.create_form_accordian.general.content.before') !!} + +
+ + + + + @{{ errors.first('category_id') }} +
+ +
+ + + + + @{{ errors.first('icon') }} +
+ +
+ + + + + @{{ errors.first('tooltip') }} +
+ +
+ + + @{{ errors.first('status') }} +
+ + {!! view_render_event('bagisto.admin.category.create_form_accordian.general.content.after') !!} + +
+
+ + {!! view_render_event('bagisto.admin.category.create_form_accordian.general.after') !!} + +
+ +
+
+@stop + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/category/edit.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/category/edit.blade.php new file mode 100644 index 000000000..fe085eafe --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/category/edit.blade.php @@ -0,0 +1,99 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('velocity::app.admin.category.edit-title') }} +@stop + +@section('content') +
+ +
+ + + +
+ @csrf() + + + {!! view_render_event('bagisto.admin.category.edit_form_accordian.general.before', ['velocityCategory' => $velocityCategory]) !!} + + +
+ + {!! view_render_event('bagisto.admin.category.edit_form_accordian.general.content.before', ['velocityCategory' => $velocityCategory]) !!} + +
+ + + + + @{{ errors.first('category_id') }} +
+ +
+ + + + + @{{ errors.first('icon') }} +
+ +
+ + + + + @{{ errors.first('tooltip') }} +
+ +
+ + + @{{ errors.first('status') }} +
+ + {!! view_render_event('bagisto.admin.category.edit_form_accordian.general.content.after', ['velocityCategory' => $velocityCategory]) !!} + +
+
+ + {!! view_render_event('bagisto.admin.category.edit_form_accordian.general.after', ['velocityCategory' => $velocityCategory]) !!} + +
+ +
+
+@stop + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/category/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/category/index.blade.php new file mode 100644 index 000000000..59eb7d213 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/category/index.blade.php @@ -0,0 +1,25 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('velocity::app.admin.category.title') }} +@stop + +@section('content') +
+ + +
+ @inject('velocity_category', 'Webkul\Velocity\DataGrids\CategoryDataGrid') + {!! $velocity_category->render() !!} +
+
+@stop \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/catelog/categories/category-icon.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/catelog/categories/category-icon.blade.php new file mode 100644 index 000000000..f8760ddee --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/catelog/categories/category-icon.blade.php @@ -0,0 +1,18 @@ +
+ + + @if (isset($category) && $category->category_icon_path) + category_icon_path }}"' + :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"> + + @else + + + @endif +
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/edit-product.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/edit-product.blade.php new file mode 100644 index 000000000..a46597e09 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/edit-product.blade.php @@ -0,0 +1,186 @@ +{!! view_render_event('bagisto.admin.content.edit_form_accordian.content.product.before') !!} + + + +{!! view_render_event('bagisto.admin.content.edit_form_accordian.content.product.after') !!} +@push('scripts') + + + + + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/link.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/link.blade.php new file mode 100644 index 000000000..9a97d5784 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/link.blade.php @@ -0,0 +1,24 @@ + +{!! view_render_event('bagisto.admin.content.create_form_accordian.content.link.before') !!} + +
+ + + + @{{ errors.first('page_link') }} +
+ +
+ + + +
+ +{!! view_render_event('bagisto.admin.content.create_form_accordian.content.link.after') !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/product.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/product.blade.php new file mode 100644 index 000000000..d59d3cabd --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/product.blade.php @@ -0,0 +1,181 @@ +{!! view_render_event('bagisto.admin.content.create_form_accordian.content.product.before') !!} + + + +{!! view_render_event('bagisto.admin.content.create_form_accordian.content.product.after') !!} +@push('scripts') + + + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/static.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/static.blade.php new file mode 100644 index 000000000..d44eae558 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/content/content-type/static.blade.php @@ -0,0 +1,11 @@ +{!! view_render_event('bagisto.admin.content.create_form_accordian.content.static.before') !!} + +
+ + + + + @{{ errors.first('description') }} +
+ +{!! view_render_event('bagisto.admin.content.create_form_accordian.content.static.after') !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/content/create.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/content/create.blade.php new file mode 100644 index 000000000..e060609e1 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/content/create.blade.php @@ -0,0 +1,181 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('velocity::app.admin.contents.add-title') }} +@stop + +@section('content') +
+ +
+ + + +
+ @csrf() + + + + {!! view_render_event('bagisto.admin.content.create_form_accordian.page.before') !!} + + +
+ + {!! view_render_event('bagisto.admin.content.create_form_accordian.page.controls.before') !!} + +
+ + + @{{ errors.first('title') }} +
+ +
+ + + @{{ errors.first('position') }} +
+ +
+ + + @{{ errors.first('status') }} +
+ + {!! view_render_event('bagisto.admin.content.create_form_accordian.page.controls.after') !!} + +
+
+ + {!! view_render_event('bagisto.admin.content.create_form_accordian.page.after') !!} + + {!! view_render_event('bagisto.admin.content.create_form_accordian.content.before') !!} + + +
+ + {!! view_render_event('bagisto.admin.content.create_form_accordian.content.controls.before') !!} + + + + {!! view_render_event('bagisto.admin.content.create_form_accordian.content.controls.after') !!} + +
+
+ + {!! view_render_event('bagisto.admin.content.create_form_accordian.content.after') !!} + +
+ +
+
+@stop + +@push('scripts') + + + + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/content/edit.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/content/edit.blade.php new file mode 100644 index 000000000..1ebec0039 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/content/edit.blade.php @@ -0,0 +1,331 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('velocity::app.admin.contents.add-title') }} +@stop + +@section('content') +
+ get('locale') ?: app()->getLocale(); ?> + +
+ + + +
+ @csrf() + + + + + {!! view_render_event('bagisto.admin.content.edit_form_accordian.page.before', ['content' => $content]) !!} + + +
+ + {!! view_render_event('bagisto.admin.content.edit_form_accordian.page.controls.before', ['content' => $content]) !!} + +
+ + + + @{{ errors.first('{!!$locale!!}[title]') }} +
+ +
+ + + @{{ errors.first('position') }} +
+ +
+ + + @{{ errors.first('status') }} +
+ + {!! view_render_event('bagisto.admin.content.edit_form_accordian.page.controls.after', ['content' => $content]) !!} + +
+
+ + {!! view_render_event('bagisto.admin.content.edit_form_accordian.page.after', ['content' => $content]) !!} + + {!! view_render_event('bagisto.admin.content.edit_form_accordian.content.before', ['content' => $content]) !!} + + +
+ + {!! view_render_event('bagisto.admin.content.edit_form_accordian.content.controls.before', ['content' => $content]) !!} + + + + {!! view_render_event('bagisto.admin.content.edit_form_accordian.content.controls.after', ['content' => $content]) !!} + +
+
+ + {!! view_render_event('bagisto.admin.content.edit_form_accordian.content.after', ['content' => $content]) !!} + +
+ +
+
+@stop + + +@push('scripts') + + + + + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/content/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/content/index.blade.php new file mode 100644 index 000000000..294e6d149 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/content/index.blade.php @@ -0,0 +1,25 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('velocity::app.admin.contents.title') }} +@stop + +@section('content') +
+ + +
+ @inject('velocity_contents', 'Webkul\Velocity\DataGrids\ContentDataGrid') + {!! $velocity_contents->render() !!} +
+
+@stop \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/layouts/style.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/layouts/style.blade.php new file mode 100644 index 000000000..5a909678b --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/layouts/style.blade.php @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php new file mode 100644 index 000000000..b3504d3c5 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php @@ -0,0 +1,212 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('velocity::app.admin.meta-data.title') }} +@stop + +@section('content') +
+ + +
+ + @csrf + + +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+
+ + +
+
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+
+
+ + +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+
+ + +
+
+@stop + +@push('scripts') + + + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/settings/locales/locale-logo.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/settings/locales/locale-logo.blade.php new file mode 100644 index 000000000..78be54c84 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/settings/locales/locale-logo.blade.php @@ -0,0 +1,17 @@ +
+ + @if (isset($locale) && $locale->locale_image) + locale_image }}"' + :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"> + + @else + + + @endif +
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/settings/sliders/velocity-slider.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/settings/sliders/velocity-slider.blade.php new file mode 100644 index 000000000..38e8bedb4 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/admin/settings/sliders/velocity-slider.blade.php @@ -0,0 +1,9 @@ +
+ + + +
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/UI/particals.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/UI/particals.blade.php new file mode 100644 index 000000000..2023c8d02 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/UI/particals.blade.php @@ -0,0 +1,735 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/UI/product-quick-view.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/UI/product-quick-view.blade.php new file mode 100644 index 000000000..022e2c0d0 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/UI/product-quick-view.blade.php @@ -0,0 +1,147 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') +@inject ('reviewHelper', 'Webkul\Product\Helpers\Review') + +@php + $productBaseImage = $productImageHelper->getProductBaseImage($product); + $productPrice = $product->getTypeInstance()->getProductPrices(); + $totalReviews = $product->reviews; + $avgRatings = ceil($reviewHelper->getAverageRating($product)); + + // @TODO + // foreach ($totalReviews as $review) { + // $productReview = $review; + // } +@endphp + + + + + +@push('scripts') + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/coupon.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/coupon.blade.php new file mode 100644 index 000000000..c5f74ade1 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/coupon.blade.php @@ -0,0 +1,118 @@ +@if ($cart) + + + +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/index.blade.php new file mode 100644 index 000000000..e1d7ee7cc --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/index.blade.php @@ -0,0 +1,257 @@ +@inject ('reviewHelper', 'Webkul\Product\Helpers\Review') +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.checkout.cart.title') }} +@stop + +@section('content-wrapper') + +@endsection + +@push('scripts') + @include('shop::checkout.cart.coupon') + + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/mini-cart.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/mini-cart.blade.php new file mode 100644 index 000000000..fd26696d3 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/mini-cart.blade.php @@ -0,0 +1,108 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + +@php + $cart = cart()->getCart(); +@endphp + +
+ @if ($cart) + @php + Cart::collectTotals(); + $items = $cart->items; + @endphp + + + @else + + @endif +
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage.blade.php new file mode 100644 index 000000000..945170381 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage.blade.php @@ -0,0 +1,610 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.checkout.onepage.title') }} +@stop + +@section('content-wrapper') + +@endsection + +@push('scripts') + @include('shop::checkout.cart.coupon') + + + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/customer-info.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/customer-info.blade.php new file mode 100644 index 000000000..38ce3cfe5 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/customer-info.blade.php @@ -0,0 +1,219 @@ +
+
+ +
+

+ 1. {{ __('shop::app.checkout.onepage.billing-address') }} +

+ + + {{ __('shop::app.checkout.onepage.new-address') }} + + + +
+ +
+
+
+
+
+ +
+ + + + +
+ +
+
+ @{{ allAddress.first_name }} @{{ allAddress.last_name }}, +
+ +
    +
  • @{{ addresses.address1 }},
  • +
  • @{{ addresses.city }},
  • +
  • @{{ addresses.state }},
  • +
  • @{{ addresses.country }} @{{ addresses.postcode }}
  • +
  • + {{ __('shop::app.customer.account.address.index.contact') }} : @{{ addresses.phone }} +
  • +
+
+
+
+
+
+ +
+ +
+ + + @{{ errors.first('address-form.billing[address_id]') }} + +
+ + @if ($cart->haveStockableItems()) +
+ + + + + {{ __('shop::app.checkout.onepage.use_for_shipping') }} + + +
+ @endif +
+
+
+ +
+ +
+

+ 1. {{ __('shop::app.checkout.onepage.billing-address') }} +

+ + @auth('customer') + @if(count(auth('customer')->user()->addresses)) + + + {{ __('shop::app.checkout.onepage.back') }} + + @endif + @endauth + + +
+ +
+ @include('shop::checkout.onepage.customer-new-form', [ + 'billing' => true + ]) +
+
+
+ + @if ($cart->haveStockableItems()) +
+ + +
+

+ {{ __('shop::app.checkout.onepage.shipping-address') }} +

+ + + {{ __('shop::app.checkout.onepage.new-address') }} + + +
+ +
+
+ +
+
+ +
+ + + +
+ +
+
+ @{{ allAddress.first_name }} @{{ allAddress.last_name }}, +
+ +
    +
  • @{{ addresses.address1 }},
  • +
  • @{{ addresses.city }},
  • +
  • @{{ addresses.state }},
  • +
  • @{{ addresses.country }} @{{ addresses.postcode }}
  • +
  • + {{ __('shop::app.customer.account.address.index.contact') }} : @{{ addresses.phone }} +
  • +
+
+
+
+
+ +
+ +
+ + @{{ errors.first('address-form.shipping[address_id]') }} + +
+
+
+
+ +
+ + +
+

+ {{ __('shop::app.checkout.onepage.shipping-address') }} +

+ + @auth('customer') + @if(count(auth('customer')->user()->addresses)) + + + {{ __('shop::app.checkout.onepage.back') }} + + @endif + @endauth + +
+ +
+ @include('shop::checkout.onepage.customer-new-form', [ + 'shipping' => true + ]) +
+
+
+ @endif +
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/customer-new-form.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/customer-new-form.blade.php new file mode 100644 index 000000000..71009b2d9 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/customer-new-form.blade.php @@ -0,0 +1,496 @@ +@php + $isCustomer = auth()->guard('customer')->check(); +@endphp + + @if (isset($shipping) && $shipping) +
+ + + + + + @{{ errors.first('address-form.shipping[first_name]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.shipping[last_name]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.shipping[email]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.shipping[address1][]') }} + +
+ + @if ( + core()->getConfigData('customer.settings.address.street_lines') + && core()->getConfigData('customer.settings.address.street_lines') > 1 + ) +
+ @for ($i = 1; $i < core()->getConfigData('customer.settings.address.street_lines'); $i++) + + @endfor +
+ @endif + +
+ + + + + + @{{ errors.first('address-form.shipping[city]') }} + +
+ +
+ + + + + + + @{{ errors.first('address-form.shipping[country]') }} + +
+ + +
+ + + + + + + + + + @{{ errors.first('address-form.shipping[state]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.shipping[postcode]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.shipping[phone]') }} + +
+ + @auth('customer') +
+ + + + + {{ __('shop::app.checkout.onepage.save_as_address') }} + + +
+ @endauth + + @elseif (isset($billing) && $billing) +
+ + + + + + @{{ errors.first('address-form.billing[email]') }} + +
+ + {{-- for customer login checkout --}} + @if (! $isCustomer) + @include('shop::checkout.onepage.customer-checkout') + @endif + +
+ + + + + + @{{ errors.first('address-form.billing[first_name]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.billing[last_name]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.billing[address1][]') }} + +
+ + @if ( + core()->getConfigData('customer.settings.address.street_lines') + && core()->getConfigData('customer.settings.address.street_lines') > 1 + ) +
+ @for ($i = 1; $i < core()->getConfigData('customer.settings.address.street_lines'); $i++) + + @endfor +
+ @endif + +
+ + + + + + @{{ errors.first('address-form.billing[city]') }} + +
+ +
+ + + + + + + @{{ errors.first('address-form.billing[country]') }} + +
+ +
+ + + + + + + + + @{{ errors.first('address-form.billing[state]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.billing[postcode]') }} + +
+ +
+ + + + + + @{{ errors.first('address-form.billing[phone]') }} + +
+ + @if ($cart->haveStockableItems()) +
+ + + + + {{ __('shop::app.checkout.onepage.use_for_shipping') }} + + +
+ @endif + + @auth('customer') +
+ + + + + {{ __('shop::app.checkout.onepage.save_as_address') }} + + +
+ @php + @endphp + @endauth + @endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/payment.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/payment.blade.php new file mode 100755 index 000000000..084653e5c --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/payment.blade.php @@ -0,0 +1,56 @@ +
+
+ +
+

+ 3. {{ __('shop::app.checkout.onepage.payment-methods') }} +

+ +
+ +
+ @foreach ($paymentMethods as $payment) + + {!! view_render_event('bagisto.shop.checkout.payment-method.before', ['payment' => $payment]) !!} + +
+
+ +
+ +
+
+ + {{ $payment['method_title'] }} + +
+ +
+ {{ __($payment['description']) }} +
+
+
+ + {!! view_render_event('bagisto.shop.checkout.payment-method.after', ['payment' => $payment]) !!} + + @endforeach + + + @{{ errors.first('payment-form.payment[method]') }} + +
+
+
+
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/review.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/review.blade.php new file mode 100755 index 000000000..886593796 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/review.blade.php @@ -0,0 +1,172 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + +
+ +
+

+ 4. {{ __('shop::app.checkout.onepage.summary') }} +

+ +
+ +
+
+ @if ($billingAddress = $cart->billing_address) +
+
+ {{ __('shop::app.checkout.onepage.billing-address') }} +
+ +
+
    +
  • + {{ $billingAddress->name }} +

  • +
  • + {{ $billingAddress->address1 }},
    {{ $billingAddress->state }} +

  • +
  • + {{ core()->country_name($billingAddress->country) }} {{ $billingAddress->postcode }} +

  • + +
  • + {{ __('shop::app.checkout.onepage.contact') }} : {{ $billingAddress->phone }} +
  • +
+
+
+ @endif + + @if ($cart->haveStockableItems() && $shippingAddress = $cart->shipping_address) +
+
+ {{ __('shop::app.checkout.onepage.shipping-address') }} +
+ +
+
    +
  • + {{ $shippingAddress->name }} +

  • +
  • + {{ $shippingAddress->address1 }},
    {{ $shippingAddress->state }} +

  • +
  • + {{ core()->country_name($shippingAddress->country) }} {{ $shippingAddress->postcode }} +

  • + +
  • + {{ __('shop::app.checkout.onepage.contact') }} : {{ $shippingAddress->phone }} +
  • +
+
+
+ @endif + +
+ +
+

{{ __('velocity::app.checkout.items') }}

+ + @foreach ($cart->items as $item) + @php + $productBaseImage = $item->product->getTypeInstance()->getBaseImage($item); + @endphp + +
+
+ +
+ +
+ + {!! view_render_event('bagisto.shop.checkout.name.before', ['item' => $item]) !!} + +
+ {{ $item->product->name }} +
+ + {!! view_render_event('bagisto.shop.checkout.name.after', ['item' => $item]) !!} + +
+ {!! view_render_event('bagisto.shop.checkout.price.before', ['item' => $item]) !!} + + {{ core()->currency($item->base_price) }} + + {!! view_render_event('bagisto.shop.checkout.price.after', ['item' => $item]) !!} + + + + {!! view_render_event('bagisto.shop.checkout.quantity.before', ['item' => $item]) !!} + + {{ $item->quantity }} ({{ __('shop::app.checkout.onepage.quantity') }}) + + {!! view_render_event('bagisto.shop.checkout.quantity.after', ['item' => $item]) !!} +
+ +
+ {{ core()->currency($item->base_total) }} +
+ + {!! view_render_event('bagisto.shop.checkout.options.before', ['item' => $item]) !!} + + @if (isset($item->additional['attributes'])) +
+ + @foreach ($item->additional['attributes'] as $attribute) + {{ $attribute['attribute_name'] }} : {{ $attribute['option_label'] }}
+ @endforeach + +
+ @endif + + {!! view_render_event('bagisto.shop.checkout.options.after', ['item' => $item]) !!} +
+
+ @endforeach +
+ +
+
+ @if ($cart->haveStockableItems()) +
+
+ +
+ +
+

+ {{ core()->currency($cart->selected_shipping_rate->base_price) }} +

+ +
+ {{ $cart->selected_shipping_rate->method_title }} +
+
+
+ @endif + +
+
+ +
+ +
+

+ {{ core()->getConfigData('sales.paymentmethods.' . $cart->payment->method . '.title') }} +

+ + {{ __('shop::app.customer.account.order.view.payment-method') }} +
+
+ + +
+ +
+ +
+
+
+
+
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/shipping.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/shipping.blade.php new file mode 100755 index 000000000..7e6e26a05 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/onepage/shipping.blade.php @@ -0,0 +1,60 @@ +
+
+ +
+

+ 2. {{ __('shop::app.checkout.onepage.shipping-method') }} +

+ +
+ +
+ + @foreach ($shippingRateGroups as $rateGroup) + + {!! view_render_event('bagisto.shop.checkout.shipping-method.before', ['rateGroup' => $rateGroup]) !!} + @foreach ($rateGroup['rates'] as $rate) +
+
+ +
+ +
+
+ {{ core()->currency($rate->base_price) }} +
+ +
+ {{ $rate->method_title }} - {{ __($rate->method_description) }} +
+
+
+ + @endforeach + + {!! view_render_event('bagisto.shop.checkout.shipping-method.after', ['rateGroup' => $rateGroup]) !!} + + @endforeach + + + + @{{ errors.first('shipping-form.shipping_method') }} + +
+
+
+
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/success.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/success.blade.php new file mode 100755 index 000000000..d67def693 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/success.blade.php @@ -0,0 +1,32 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.checkout.success.title') }} +@stop + +@section('content-wrapper') +
+
+

{{ __('shop::app.checkout.success.thanks') }}

+ +

+ {{ __('shop::app.checkout.success.order-id-info', ['order_id' => $order->increment_id]) }} +

+ +

+ {{ __('shop::app.checkout.success.info') }} +

+ + {{ view_render_event('bagisto.shop.checkout.continue-shopping.before', ['order' => $order]) }} + + + + {{ view_render_event('bagisto.shop.checkout.continue-shopping.after', ['order' => $order]) }} + +
+
+@endsection diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/total/summary.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/total/summary.blade.php new file mode 100644 index 000000000..0a43803e5 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/total/summary.blade.php @@ -0,0 +1,52 @@ +
+

{{ __('velocity::app.checkout.cart.cart-summary') }}

+ +
+ {{ __('velocity::app.checkout.sub-total') }} + {{ core()->currency($cart->base_sub_total) }} +
+ + @if ($cart->selected_shipping_rate) +
+ {{ __('shop::app.checkout.total.delivery-charges') }} + {{ core()->currency($cart->selected_shipping_rate->base_price) }} +
+ @endif + + @if ($cart->base_tax_total) +
+ {{ __('shop::app.checkout.total.tax') }} + {{ core()->currency($cart->base_tax_total) }} +
+ @endif + + @if ( + $cart->base_discount_amount + && $cart->base_discount_amount > 0 + ) +
+ + {{ __('shop::app.checkout.total.disc-amount') }} + + {{ core()->currency($cart->base_discount_amount) }} + +
+ @endif + +
+ {{ __('shop::app.checkout.total.grand-total') }} + + {{ core()->currency($cart->base_grand_total) }} + +
+ + +
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/cms/page.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/cms/page.blade.php new file mode 100644 index 000000000..088b3a453 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/cms/page.blade.php @@ -0,0 +1,25 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ $page->page_title }} +@endsection + +@section('head') + @isset($page->meta_title) + + @endisset + + @isset($page->meta_description) + + @endisset + + @isset($page->meta_keywords) + + @endisset +@endsection + +@section('content-wrapper') +
+ {!! DbView::make($page)->field('html_content')->render() !!} +
+@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/country-state.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/country-state.blade.php new file mode 100755 index 000000000..14b999c66 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/country-state.blade.php @@ -0,0 +1,78 @@ + + +@push('scripts') + + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/create.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/create.blade.php new file mode 100644 index 000000000..30947ef8b --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/create.blade.php @@ -0,0 +1,70 @@ +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.address.create.page-title') }} +@endsection + +@section('page-detail-wrapper') + + + {!! view_render_event('bagisto.shop.customers.account.address.create.before') !!} + +
+ + + +
+ + {!! view_render_event('bagisto.shop.customers.account.address.create.after') !!} +@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/edit.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/edit.blade.php new file mode 100644 index 000000000..51b3adc1d --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/edit.blade.php @@ -0,0 +1,73 @@ +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.address.edit.page-title') }} +@endsection + +@section('page-detail-wrapper') + + + {!! view_render_event('bagisto.shop.customers.account.address.edit.before', ['address' => $address]) !!} + +
+ + + +
+ + {!! view_render_event('bagisto.shop.customers.account.address.edit.after', ['address' => $address]) !!} +@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/index.blade.php new file mode 100644 index 000000000..01b63f236 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/address/index.blade.php @@ -0,0 +1,79 @@ +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.address.index.page-title') }} +@endsection + +@section('page-detail-wrapper') + + + {!! view_render_event('bagisto.shop.customers.account.address.list.before', ['addresses' => $addresses]) !!} + + + + {!! view_render_event('bagisto.shop.customers.account.address.list.after', ['addresses' => $addresses]) !!} +@endsection + +@push('scripts') + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/downloadable_products/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/downloadable_products/index.blade.php new file mode 100644 index 000000000..659886d1e --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/downloadable_products/index.blade.php @@ -0,0 +1,28 @@ +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.downloadable_products.title') }} +@endsection + +@section('page-detail-wrapper') + + + {!! view_render_event('bagisto.shop.customers.account.downloadable_products.list.before') !!} + + + + {!! view_render_event('bagisto.shop.customers.account.downloadable_products.list.after') !!} +@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/index.blade.php new file mode 100644 index 000000000..7ac37a044 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/index.blade.php @@ -0,0 +1,13 @@ +@extends('shop::layouts.master') + +@section('content-wrapper') + +@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/orders/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/orders/index.blade.php new file mode 100644 index 000000000..e283ab63b --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/orders/index.blade.php @@ -0,0 +1,31 @@ +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.order.index.page-title') }} +@endsection + +@section('page-detail-wrapper') + + + {!! view_render_event('bagisto.shop.customers.account.orders.list.before') !!} + + + + {!! view_render_event('bagisto.shop.customers.account.orders.list.after') !!} +@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/orders/view.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/orders/view.blade.php new file mode 100644 index 000000000..b9b66ac43 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/orders/view.blade.php @@ -0,0 +1,509 @@ +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.order.view.page-tile', ['order_id' => $order->increment_id]) }} +@endsection + +@push('css') + +@endpush + +@section('page-detail-wrapper') + +@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/partials/sidemenu.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/partials/sidemenu.blade.php new file mode 100644 index 000000000..9f5f8a6bb --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/partials/sidemenu.blade.php @@ -0,0 +1,32 @@ +
+ + + @foreach ($menu->items as $menuItem) + + @endforeach +
+ +@push('css') + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/profile/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/profile/index.blade.php new file mode 100644 index 000000000..0ca834fb3 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/profile/index.blade.php @@ -0,0 +1,159 @@ +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.profile.index.title') }} +@endsection + +@section('page-detail-wrapper') + + + {!! view_render_event('bagisto.shop.customers.account.profile.view.before', ['customer' => $customer]) !!} + + + + {!! view_render_event('bagisto.shop.customers.account.profile.view.after', ['customer' => $customer]) !!} +@endsection diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/reviews/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/reviews/index.blade.php new file mode 100644 index 000000000..852af56d2 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/reviews/index.blade.php @@ -0,0 +1,119 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.review.index.page-title') }} +@endsection + +@section('page-detail-wrapper') +
+ + + + + + + + + @if (count($reviews) > 1) + + @endif +
+ + {!! view_render_event('bagisto.shop.customers.account.reviews.list.before', ['reviews' => $reviews]) !!} + +
+ @if (! $reviews->isEmpty()) + @foreach ($reviews as $review) +
+
+ @php + $image = $productImageHelper->getProductBaseImage($review->product); + @endphp + + + + + +
+ + + + +

{{ $review->title }}

+ +

{{ $review->comment }}

+
+
+ + {{--
+ + + +
--}} +
+ @endforeach + +
+ {{ $reviews->links() }} +
+ {{-- --}} + @else +
+ {{ __('customer::app.reviews.empty') }} +
+ @endif + +
+ + {!! view_render_event('bagisto.shop.customers.account.reviews.list.after', ['reviews' => $reviews]) !!} +@endsection + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/wishlist/wishlist.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/wishlist/wishlist.blade.php new file mode 100644 index 000000000..1f0f06e7a --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/account/wishlist/wishlist.blade.php @@ -0,0 +1,53 @@ +@inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar') + +@extends('shop::customers.account.index') + +@section('page_title') + {{ __('shop::app.customer.account.wishlist.page-title') }} +@endsection + +@section('page-detail-wrapper') + + + {!! view_render_event('bagisto.shop.customers.account.wishlist.list.before', ['wishlist' => $items]) !!} + + + + {!! view_render_event('bagisto.shop.customers.account.wishlist.list.after', ['wishlist' => $items]) !!} +@endsection diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/session/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/session/index.blade.php new file mode 100755 index 000000000..70d01b421 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/session/index.blade.php @@ -0,0 +1,105 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.customer.login-form.page-title') }} +@endsection + +@section('content-wrapper') +
+ + {!! view_render_event('bagisto.shop.customers.login.before') !!} + +
+
+
+

+ {{ __('velocity::app.customer.login-form.customer-login')}} +

+ + + + +
+ +
+
+

+ {{ __('velocity::app.customer.login-form.registered-user')}} +

+ +

+ {{ __('velocity::app.customer.login-form.form-login-text')}} +

+
+ +
+ + {{ csrf_field() }} + + {!! view_render_event('bagisto.shop.customers.login_form_controls.before') !!} + +
+ + + + + + @{{ errors.first('email') }} + +
+ +
+ + + + + + @{{ errors.first('password') }} + + + + {{ __('shop::app.customer.login-form.forgot_pass') }} + + +
+ @if (Cookie::has('enable-resend')) + @if (Cookie::get('enable-resend') == true) + {{ __('shop::app.customer.login-form.resend-verification') }} + @endif + @endif +
+
+ + {!! view_render_event('bagisto.shop.customers.login_form_controls.after') !!} + + + +
+
+
+
+ + {!! view_render_event('bagisto.shop.customers.login.after') !!} +
+@endsection diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/forgot-password.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/forgot-password.blade.php new file mode 100755 index 000000000..c40c233fe --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/forgot-password.blade.php @@ -0,0 +1,71 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.customer.forgot-password.page_title') }} +@endsection + +@section('content-wrapper') +
+
+
+
+

+ {{ __('velocity::app.customer.forget-password.forgot-password')}} +

+ + + + +
+ +
+

+ {{ __('velocity::app.customer.forget-password.recover-password')}} +

+ +

+ {{ __('velocity::app.customer.forget-password.recover-password-text')}} +

+ + {!! view_render_event('bagisto.shop.customers.forget_password.before') !!} + +
+ + {{ csrf_field() }} + + {!! view_render_event('bagisto.shop.customers.forget_password_form_controls.before') !!} + +
+ + + + + + @{{ errors.first('email') }} + +
+ + {!! view_render_event('bagisto.shop.customers.forget_password_form_controls.after') !!} + + +
+ + {!! view_render_event('bagisto.shop.customers.forget_password.after') !!} +
+
+
+
+@endsection diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/index.blade.php new file mode 100755 index 000000000..5db14c627 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/index.blade.php @@ -0,0 +1,145 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.customer.signup-form.page-title') }} +@endsection + +@section('content-wrapper') +
+
+
+
+

+ {{ __('velocity::app.customer.signup-form.user-registration')}} +

+ + + + +
+ +
+

+ {{ __('velocity::app.customer.signup-form.become-user')}} +

+ +

+ {{ __('velocity::app.customer.signup-form.form-sginup-text')}} +

+ + {!! view_render_event('bagisto.shop.customers.signup.before') !!} + +
+ + {{ csrf_field() }} + + {!! view_render_event('bagisto.shop.customers.signup_form_controls.before') !!} + +
+ + + + + + @{{ errors.first('first_name') }} + +
+ +
+ + + + + + @{{ errors.first('last_name') }} + +
+ +
+ + + + + + @{{ errors.first('email') }} + +
+ +
+ + + + + + @{{ errors.first('password') }} + +
+ +
+ + + + + + @{{ errors.first('password_confirmation') }} + +
+ + {!! view_render_event('bagisto.shop.customers.signup_form_controls.after') !!} + + +
+ + {!! view_render_event('bagisto.shop.customers.signup.after') !!} +
+
+
+
+@endsection diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/reset-password.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/reset-password.blade.php new file mode 100755 index 000000000..a73ee5c4c --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/reset-password.blade.php @@ -0,0 +1,52 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.customer.reset-password.title') }} +@endsection + +@section('content-wrapper') + +
+ + {!! view_render_event('bagisto.shop.customers.reset_password.before') !!} + +
+ + {{ csrf_field() }} + + +
+ + {!! view_render_event('bagisto.shop.customers.reset_password.before') !!} +
+@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/errors/404.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/errors/404.blade.php new file mode 100644 index 000000000..456cb893d --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/errors/404.blade.php @@ -0,0 +1,54 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('admin::app.error.404.page-title') }} +@stop + +@section('body-header') +@endsection + +@section('full-content-wrapper') +
+
+
+ +
+ {{ __('velocity::app.error.page-lost-short') }} +
+ +

+ {{ __('velocity::app.error.page-lost-description') }} +

+
+ +
+
+ + @if ($logo = core()->getCurrentChannel()->logo_url) +
+ @else +
+ @endif +
+ + +
+ > +
+ + + {{ __('velocity::app.error.go-to-home') }} + +
+
+
+ +@endsection + +@section('footer') +@show diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-four.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-four.blade.php new file mode 100644 index 000000000..d7643a24b --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-four.blade.php @@ -0,0 +1,63 @@ +@php + $isRendered = false; + $advertisementFour = null; +@endphp + +@if ($velocityMetaData && $velocityMetaData->advertisement) + @php + $advertisement = json_decode($velocityMetaData->advertisement, true); + if (isset($advertisement[4])) { + $advertisementFour = $advertisement[4]; + } + @endphp + + @if ($advertisementFour) + @php + $isRendered = true; + @endphp + + + @endif +@endif + +@if (! $isRendered) + +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-one.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-one.blade.php new file mode 100644 index 000000000..ee81fb7ab --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-one.blade.php @@ -0,0 +1,73 @@ +@php + $isRendered = false; + $advertisementOne = null; +@endphp + +@if ($velocityMetaData && $velocityMetaData->advertisement) + @php + $advertisement = json_decode($velocityMetaData->advertisement, true); + if (isset($advertisement[1])) { + $advertisementOne = $advertisement[1]; + } + @endphp + + @if ($advertisementOne) + @php + $isRendered = true; + @endphp + + + @endif +@endif + +@if (! $isRendered) + +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-three.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-three.blade.php new file mode 100644 index 000000000..39e3174a1 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-three.blade.php @@ -0,0 +1,55 @@ +@php + $isRendered = false; + $advertisementThree = null; +@endphp + +@if ($velocityMetaData && $velocityMetaData->advertisement) + @php + $advertisement = json_decode($velocityMetaData->advertisement, true); + if (isset($advertisement[3])) { + $advertisementThree = $advertisement[3]; + } + @endphp + + @if ($advertisementThree) + @php + $isRendered = true; + @endphp + + + @endif +@endif + +@if (! $isRendered) + +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-two.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-two.blade.php new file mode 100644 index 000000000..2d3fa7001 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/advertisements/advertisement-two.blade.php @@ -0,0 +1,45 @@ +@php + $isRendered = false; + $advertisementTwo = null; +@endphp + +@if ($velocityMetaData && $velocityMetaData->advertisement) + @php + $advertisement = json_decode($velocityMetaData->advertisement, true); + if (isset($advertisement[2])) { + $advertisementTwo = $advertisement[2]; + } + @endphp + + @if ($advertisementTwo) + @php + $isRendered = true; + @endphp + + + @endif +@endif + +@if (! $isRendered) + +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/category-with-custom-option.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/category-with-custom-option.blade.php new file mode 100644 index 000000000..901effb87 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/category-with-custom-option.blade.php @@ -0,0 +1,164 @@ +@php + $category[0] = app('Webkul\Category\Repositories\CategoryRepository')->findByPath($category[0]); + $category[1] = app('Webkul\Category\Repositories\CategoryRepository')->findByPath($category[1]); + $category[2] = app('Webkul\Category\Repositories\CategoryRepository')->findByPath($category[2]); + $category[3] = app('Webkul\Category\Repositories\CategoryRepository')->findByPath($category[3]); +@endphp + +
+
+
+ +
+ +
+
+
+
+ +
+
+

+ + {{ $category[0]->name }} + +

+ +
+
+
+ +
+ +
+ +
+
+
+
+ +
+
+

+ + {{ $category[1]->name }} + +

+ +
+
+
+
+ +
+
+
+
+
+ +
+
+

+ + {{ $category[2]->name }} + +

+ +
+
+
+
+ +
+ +
+
+
+
+ +
+
+

+ + {{ $category[3]->name }} + +

+ +
+
+
+ +
+ +
+ +
+
+ +
+ @foreach ($category as $categoryItem) +
+
+ +
+ +
+
+
+
+ +
+
+

+ + {{ $categoryItem->name }} + +

+ +
+
+
+
+ @endforeach +
+ diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/category.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/category.blade.php new file mode 100644 index 000000000..61e29bdac --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/category.blade.php @@ -0,0 +1,94 @@ +@inject ('productRepository', 'Webkul\Product\Repositories\ProductRepository') + + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/customer-reviews.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/customer-reviews.blade.php new file mode 100644 index 000000000..0ff5542eb --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/customer-reviews.blade.php @@ -0,0 +1,82 @@ +@php + $reviews = app('Webkul\Velocity\Helpers\Helper')->getShopRecentReviews(4); + $reviewCount = count($reviews); +@endphp + +
+ @if ($reviewCount) + + +
+ @foreach ($reviews as $key => $review) +
+
+
+
+
+ + {{ strtoupper(substr( $review['name'], 0, 1 )) }} + +
+ +
+

+ {{ $review['name'] }} +

+ + +
+
+ +
+ +
+ +
+

{{ $review['comment'] }}

+
+
+
+
+ @endforeach +
+ @endif +
+ +@push('scripts') + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/featured-products.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/featured-products.blade.php new file mode 100644 index 000000000..5cda3d041 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/featured-products.blade.php @@ -0,0 +1,83 @@ +@php + $count = $velocityMetaData ? $velocityMetaData->featured_product_count : 10; +@endphp + + + +@push('scripts') + + + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/helper/product-large-cart-view.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/helper/product-large-cart-view.blade.php new file mode 100644 index 000000000..0da129418 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/helper/product-large-cart-view.blade.php @@ -0,0 +1,67 @@ +@foreach ($products as $product) +
+
+ + {{-- sale-button --}} + @if ($product['actual-price'] > $product['selling-price']) + + @endif + + {{-- product image --}} +
+
+
+
+ +
+ +
+ {{ $product['productName'] }} +
+ + + {{ $product['currency-icon'] }}{{ $product['selling-price'] }} + + + @if ($product['actual-price'] > $product['selling-price']) + + {{ $product['currency-icon'] }}{{ $product['actual-price'] }} + + + + {{ (($product['actual-price'] - $product['selling-price']) * 100) / $product['actual-price'] }}% + + @endif +
+
+ + @if ($product['review-count']) +
+ + + + + + {{ $product['review-count'] }} reviews +
+ @else +
+ Be the first to write a review +
+ @endif + +
+ + {{-- --}} + +
+ +
+
+
+@endforeach \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/helper/product-small-cart-view.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/helper/product-small-cart-view.blade.php new file mode 100644 index 000000000..6212c2895 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/helper/product-small-cart-view.blade.php @@ -0,0 +1,28 @@ + +@foreach ($products as $product) +
+ +
+
+
+ +
+
+ {{ $product['productName'] }} + + + {{ $product['currency-icon'] }}{{ $product['selling-price'] }} + + +
+ + + + + +
+
+ +
+
+@endforeach diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/hot-categories.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/hot-categories.blade.php new file mode 100644 index 000000000..b103cd87a --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/hot-categories.blade.php @@ -0,0 +1,42 @@ +
+ + + +
+ @foreach ($category as $slug) + @php + $categoryDetails = app('Webkul\Category\Repositories\CategoryRepository')->findByPath($slug); + @endphp + + @if ($categoryDetails) +
+
+
+
+ +
+ +
+

+ + {{ $categoryDetails->name }} + +

+ + +
+
+
+
+ @endif + @endforeach +
+
diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/index.blade.php new file mode 100644 index 000000000..d12f5a5fc --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/index.blade.php @@ -0,0 +1,66 @@ +@extends('shop::layouts.master') + +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') +@inject ('productRatingHelper', 'Webkul\Product\Helpers\Review') + +@php + $channel = core()->getCurrentChannel(); + + $homeSEO = $channel->home_seo; + + if (isset($homeSEO)) { + $homeSEO = json_decode($channel->home_seo); + + $metaTitle = $homeSEO->meta_title; + + $metaDescription = $homeSEO->meta_description; + + $metaKeywords = $homeSEO->meta_keywords; + } +@endphp + +@section('page_title') + {{ isset($metaTitle) ? $metaTitle : "" }} +@endsection + +@section('head') + + @if (isset($homeSEO)) + @isset($metaTitle) + + @endisset + + @isset($metaDescription) + + @endisset + + @isset($metaKeywords) + + @endisset + @endif +@endsection + +@section('content-wrapper') + @include('shop::home.slider') +@endsection + +@section('full-content-wrapper') + +
+ {!! view_render_event('bagisto.shop.home.content.before') !!} + + @if ($velocityMetaData) + {!! DbView::make($velocityMetaData)->field('home_page_content')->render() !!} + @else + @include('shop::home.advertisements.advertisement-four') + @include('shop::home.featured-products') + @include('shop::home.advertisements.advertisement-three') + @include('shop::home.new-products') + @include('shop::home.advertisements.advertisement-two') + @endif + + {{ view_render_event('bagisto.shop.home.content.after') }} +
+ +@endsection + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/new-products.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/new-products.blade.php new file mode 100644 index 000000000..aebe88244 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/new-products.blade.php @@ -0,0 +1,146 @@ +@php + $count = $velocityMetaData ? $velocityMetaData->new_products_count : 10; +@endphp + + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/popular-categories.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/popular-categories.blade.php new file mode 100644 index 000000000..c603124e8 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/popular-categories.blade.php @@ -0,0 +1,36 @@ + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/product-policy.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/product-policy.blade.php new file mode 100644 index 000000000..d5bab81b0 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/product-policy.blade.php @@ -0,0 +1,5 @@ +
+
+ {!! $velocityMetaData->product_policy !!} +
+
diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/home/slider.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/home/slider.blade.php new file mode 100644 index 000000000..a1c4dfa7c --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/home/slider.blade.php @@ -0,0 +1,59 @@ +@php + $direction = core()->getCurrentLocale()->direction; +@endphp + + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/copy-right.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/copy-right.blade.php new file mode 100644 index 000000000..432017c80 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/copy-right.blade.php @@ -0,0 +1,9 @@ + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links.blade.php new file mode 100644 index 000000000..0dcdd540d --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links.blade.php @@ -0,0 +1,6 @@ + + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-left.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-left.blade.php new file mode 100644 index 000000000..fb8aad611 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-left.blade.php @@ -0,0 +1,22 @@ +
+ + + @if ($velocityMetaData) + {!! $velocityMetaData->footer_left_content !!} + @else + {!! __('velocity::app.admin.meta-data.footer-left-raw-content') !!} + @endif +
\ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-middle.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-middle.blade.php new file mode 100644 index 000000000..c16904468 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-middle.blade.php @@ -0,0 +1,24 @@ + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-right.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-right.blade.php new file mode 100644 index 000000000..1706a45d6 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-links/footer-right.blade.php @@ -0,0 +1,51 @@ +@php + $activeShippings = []; + $activePayments = []; + + $shippings = core()->getConfigData('sales.carriers'); + $payments = core()->getConfigData('sales.paymentmethods'); + + foreach($shippings as $ship) + { + if ($ship['active'] == "true") { + array_push($activeShippings, $ship['title']); + } + } + + foreach($payments as $payment) + { + if ($payment['active'] == "true") { + array_push($activePayments, $payment['title']); + } + } +@endphp + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-logo.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-logo.blade.php new file mode 100644 index 000000000..bb354c4b8 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/footer-logo.blade.php @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/index.blade.php new file mode 100644 index 000000000..416894aba --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/index.blade.php @@ -0,0 +1,15 @@ + + + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/newsletter-subscription.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/newsletter-subscription.blade.php new file mode 100644 index 000000000..1fcac22e7 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/newsletter-subscription.blade.php @@ -0,0 +1,36 @@ +@if ( + $velocityMetaData + && $velocityMetaData->subscription_bar_content + || core()->getConfigData('customer.settings.newsletter.subscription') +) + +@endif diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/top-brands.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/top-brands.blade.php new file mode 100644 index 000000000..650ed3cf0 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/footer/top-brands.blade.php @@ -0,0 +1,33 @@ +@php + $brandname = app('Webkul\Velocity\Helpers\Helper'); + $topBrandsCollection = $brandname->getBrandsWithCategories(); +@endphp + +@if (! empty($topBrandsCollection)) +
+
+ @if ($topBrandsCollection) +
+

{{ __('velocity::app.shop.general.top-brands') }}

+
+ +
    + @foreach($topBrandsCollection as $categoryName => $brandsCollection) +
  • + + + + @foreach ($brandsCollection as $brandIndex => $brand ) + {{$brand}} + @if ($brandIndex + 1 !== sizeof($brandsCollection)) + | + @endif + @endforeach + +
  • + @endforeach +
+ @endif +
+
+@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/header/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/header/index.blade.php new file mode 100644 index 000000000..d6ce06ced --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/header/index.blade.php @@ -0,0 +1,22 @@ + + +@push('scripts') + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/master.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/master.blade.php new file mode 100644 index 000000000..ea3afd3b7 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/master.blade.php @@ -0,0 +1,191 @@ + + + + + @yield('page_title') + + + + + + + + + + + + @if (core()->getCurrentLocale()->direction == 'rtl') + + + @endif + + @if ($favicon = core()->getCurrentChannel()->favicon_url) + + @else + + @endif + + + + + + + + @yield('head') + + @section('seo') + + @show + + @stack('css') + + {!! view_render_event('bagisto.shop.layout.head') !!} + + + + getCurrentLocale()->direction == 'rtl') class="rtl" @endif> + {!! view_render_event('bagisto.shop.layout.body.before') !!} + + @include('shop::UI.particals') + +
+ {{-- --}} + +
+ + @section('body-header') + @include('shop::layouts.top-nav.index') + @include('shop::layouts.header.index') + +
+ @php + $velocityContent = app('Webkul\Velocity\Repositories\ContentRepository')->getAllContents(); + @endphp + + + +
+
+ + + +
+ +
+ + {!! view_render_event('bagisto.shop.layout.content.before') !!} + + @yield('content-wrapper') + + {!! view_render_event('bagisto.shop.layout.content.after') !!} +
+ +
+
+
+
+ @show + +
+ + {!! view_render_event('bagisto.shop.layout.full-content.before') !!} + + @yield('full-content-wrapper') + + {!! view_render_event('bagisto.shop.layout.full-content.after') !!} + +
+
+
+ + + @section('footer') + {!! view_render_event('bagisto.shop.layout.footer.before') !!} + + @include('shop::layouts.footer.index') + + {!! view_render_event('bagisto.shop.layout.footer.after') !!} + @show + + {!! view_render_event('bagisto.shop.layout.body.after') !!} + + + + + + @stack('scripts') + + + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/style.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/style.blade.php new file mode 100644 index 000000000..4247d0f81 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/style.blade.php @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/index.blade.php new file mode 100644 index 000000000..39313bca4 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/index.blade.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/locale-currency.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/locale-currency.blade.php new file mode 100644 index 000000000..7150a06cd --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/locale-currency.blade.php @@ -0,0 +1,78 @@ +{!! view_render_event('bagisto.shop.layout.header.locale.before') !!} + +
+ +
+ +{!! view_render_event('bagisto.shop.layout.header.locale.after') !!} + +{!! view_render_event('bagisto.shop.layout.header.currency-item.before') !!} + + @if (core()->getCurrentChannel()->currencies->count() > 1) +
+ +
+ @endif + +{!! view_render_event('bagisto.shop.layout.header.currency-item.after') !!} diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/login-section.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/login-section.blade.php new file mode 100644 index 000000000..09dcaab86 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/layouts/top-nav/login-section.blade.php @@ -0,0 +1,118 @@ +{!! view_render_event('bagisto.shop.layout.header.account-item.before') !!} + +{!! view_render_event('bagisto.shop.layout.header.account-item.after') !!} + + + +@push('scripts') + +@endpush + diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/add-to-cart.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/add-to-cart.blade.php new file mode 100644 index 000000000..065dfd914 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/add-to-cart.blade.php @@ -0,0 +1,52 @@ +{!! view_render_event('bagisto.shop.products.add_to_cart.before', ['product' => $product]) !!} + +
+
+ @if (isset($form) && !$form) + + @else +
+ + @csrf + + + + +
+ @endif +
+ + @if (! (isset($showWishlist) && !$showWishlist)) + @include('shop::products.wishlist', [ + 'addClass' => $addWishlistClass ?? '' + ]) + @endif +
+ +{!! view_render_event('bagisto.shop.products.add_to_cart.after', ['product' => $product]) !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/index.blade.php new file mode 100755 index 000000000..4a4a63987 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/index.blade.php @@ -0,0 +1,127 @@ +@inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar') +@inject ('productRepository', 'Webkul\Product\Repositories\ProductRepository') + +@extends('shop::layouts.master') + +@section('page_title') + {{ $category->meta_title ?? $category->name }} +@stop + +@section('seo') + + +@stop + +@push('css') + +@endpush + +@php + $isDisplayMode = in_array( + $category->display_mode, [ + null, + 'products_only', + 'products_and_description' + ] + ); + + $products = $productRepository->getAll($category->id); +@endphp + +@section('content-wrapper') +
+ {!! view_render_event('bagisto.shop.productOrCategory.index.before', ['category' => $category]) !!} + + @if (in_array($category->display_mode, [null, 'products_only', 'products_and_description'])) + @include ('shop::products.list.layered-navigation') + @endif + +
+
+
+

{{ $category->name }}

+ + @if ($isDisplayMode && $products->count()) + @if ($category->description) +
+ {!! $category->description !!} +
+ @endif + @endif +
+ + {{--
+
+ @if (!is_null($category->image)) + + @endif +
+
--}} +
+ +
+ @include ('shop::products.list.toolbar') +
+ +
display_mode == 'description_only') + style="width: 100%" + @endif> + +
+ @if (!is_null($category->image)) + {{-- --}} + @endif +
+ + @if ($isDisplayMode) + @if ($products->count()) + @if ($toolbarHelper->getCurrentMode() == 'grid') +
+ @foreach ($products as $productFlat) + @include ('shop::products.list.card', ['product' => $productFlat]) + @endforeach +
+ @else +
+ @foreach ($products as $productFlat) + @include ('shop::products.list.card', [ + 'list' => true, + 'product' => $productFlat + ]) + @endforeach +
+ @endif + + {!! view_render_event('bagisto.shop.productOrCategory.index.pagination.before', ['category' => $category]) !!} + +
+ {{ $products->appends(request()->input())->links() }} +
+ + {!! view_render_event('bagisto.shop.productOrCategory.index.pagination.after', ['category' => $category]) !!} + + @else +
+

{{ __('shop::app.products.whoops') }}

+ +

+ {{ __('shop::app.products.empty') }} +

+
+ + @endif + @endif +
+
+ + {!! view_render_event('bagisto.shop.productOrCategory.index.after', ['category' => $category]) !!} +
+@stop \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/list/card.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/card.blade.php new file mode 100644 index 000000000..3dd24e1d4 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/card.blade.php @@ -0,0 +1,112 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') +@inject ('reviewHelper', 'Webkul\Product\Helpers\Review') +@inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar') +{{-- @include('shop::UI.product-quick-view') --}} + +@php + if (isset($checkmode) && $checkmode && $toolbarHelper->getCurrentMode() == "list") { + $list = true; + } +@endphp + +@php + $productBaseImage = $productImageHelper->getProductBaseImage($product); + $totalReviews = $reviewHelper->getTotalReviews($product); + $avgRatings = ceil($reviewHelper->getAverageRating($product)); +@endphp + +{!! view_render_event('bagisto.shop.products.list.card.before', ['product' => $product]) !!} + @if (isset($list) && $list) +
+ + +
+
+ + +
+ @include ('shop::products.price', ['product' => $product]) +
+ +
+ + {{ $totalReviews }} Ratings +
+ +
+ @include ('shop::products.add-to-cart', [ + 'product' => $product, + 'addToCartBtnClass' => 'medium-padding' + ]) +
+
+
+
+ @else +
+ + + {{ $product->name }} + + {{-- --}} + + +
+ + +
+ @include ('shop::products.price', ['product' => $product]) +
+ + @if ($totalReviews) +
+ + {{ $totalReviews }} Ratings +
+ @else +
+ {{ __('velocity::app.products.be-first-review') }} +
+ @endif + +
+ @include ('shop::products.add-to-cart', [ + 'product' => $product, + 'addWishlistClass' => 'col-lg-4 col-md-4 col-sm-12 offset-lg-4 pr0', + 'addToCartBtnClass' => $addToCartBtnClass ?? '' + ]) +
+
+
+ @endif + +{!! view_render_event('bagisto.shop.products.list.card.after', ['product' => $product]) !!} diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/list/layered-navigation.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/layered-navigation.blade.php new file mode 100644 index 000000000..6fdcc8cbe --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/layered-navigation.blade.php @@ -0,0 +1,267 @@ +@inject ('productRepository', 'Webkul\Product\Repositories\ProductRepository') +@inject ('attributeRepository', 'Webkul\Attribute\Repositories\AttributeRepository') +@inject ('productFlatRepository', 'Webkul\Product\Repositories\ProductFlatRepository') + +getAll($category->id); + + if (count($category->filterableAttributes) > 0 && count($products)) { + $filterAttributes = $category->filterableAttributes; + } else { + $categoryProductAttributes = $productFlatRepository->getCategoryProductAttribute($category->id); + + if ($categoryProductAttributes) { + foreach ($attributeRepository->getFilterAttributes() as $filterAttribute) { + if (in_array($filterAttribute->id, $categoryProductAttributes)) { + $filterAttributes[] = $filterAttribute; + } else if ($filterAttribute ['code'] == 'price') { + $filterAttributes[] = $filterAttribute; + } + } + + $filterAttributes = collect($filterAttributes); + } + } + } else { + $filterAttributes = $attributeRepository->getFilterAttributes(); + } +?> + +
+ + {!! view_render_event('bagisto.shop.products.list.layered-nagigation.before') !!} + + + + {!! view_render_event('bagisto.shop.products.list.layered-nagigation.after') !!} + +
+ +@push('scripts') + + + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/list/recently-viewed.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/recently-viewed.blade.php new file mode 100644 index 000000000..ded76f268 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/recently-viewed.blade.php @@ -0,0 +1,106 @@ +@inject ('velocityHelper', 'Webkul\Velocity\Helpers\Helper') +@inject ('productRatingHelper', 'Webkul\Product\Helpers\Review') +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + + + + +@push('scripts') + + + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/list/toolbar.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/toolbar.blade.php new file mode 100644 index 000000000..6ee29669f --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/list/toolbar.blade.php @@ -0,0 +1,169 @@ +@inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar') + +{!! view_render_event('bagisto.shop.products.list.toolbar.before') !!} + +{!! view_render_event('bagisto.shop.products.list.toolbar.after') !!} + +@push('scripts') + + + +@endpush diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/price.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/price.blade.php new file mode 100644 index 000000000..bed2c056d --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/price.blade.php @@ -0,0 +1,7 @@ +{!! view_render_event('bagisto.shop.products.price.before', ['product' => $product]) !!} + +
+ {!! $product->getTypeInstance()->getPriceHtml() !!} +
+ +{!! view_render_event('bagisto.shop.products.price.after', ['product' => $product]) !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/reviews/create.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/reviews/create.blade.php new file mode 100644 index 000000000..7d9883acd --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/reviews/create.blade.php @@ -0,0 +1,101 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.reviews.add-review-page-title') }} - {{ $product->name }} +@endsection + +@section('content-wrapper') + +
+
+ @include ('shop::products.view.small-view', ['product' => $product]) + +
+
+

+ {{ __('shop::app.reviews.write-review') }} +

+ +
+ + @csrf + +
+ + + + @{{ errors.first('rating') }} + +
+ +
+ + + + + @{{ errors.first('title') }} + +
+ + @if (core()->getConfigData('catalog.products.review.guest_review') && ! auth()->guard('customer')->user()) +
+ + + + @{{ errors.first('name') }} + +
+ @endif + +
+ + + + @{{ errors.first('comment') }} + +
+ +
+ +
+
+
+
+ @if ($showRecentlyViewed) + @include ('shop::products.list.recently-viewed', [ + 'addClass' => 'col-lg-3 col-md-12' + ]) + @endif +
+
+ +@endsection diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/reviews/index.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/reviews/index.blade.php new file mode 100644 index 000000000..4f002a904 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/reviews/index.blade.php @@ -0,0 +1,41 @@ +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.reviews.product-review-page-title') }} +@endsection + +@php + $ratings = [ + '', '', '', '' + ]; + + $ratings = [ + 10, 30, 20, 15, 25 + ]; + + $totalReviews = 25; + $totalRatings = array_sum($ratings); + +@endphp + +@push('css') + +@endpush + +@section('content-wrapper') +
+
+ @include ('shop::products.view.small-view', ['product' => $product]) + +
+

Rating and Reviews

+ + @include ('shop::products.view.reviews') +
+
+
+@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view.blade.php new file mode 100644 index 000000000..7dfc61562 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view.blade.php @@ -0,0 +1,251 @@ +@extends('shop::layouts.master') + +@inject ('reviewHelper', 'Webkul\Product\Helpers\Review') +@inject ('customHelper', 'Webkul\Velocity\Helpers\Helper') + +@php + $total = $reviewHelper->getTotalReviews($product); + + $avgRatings = $reviewHelper->getAverageRating($product); + $avgStarRating = ceil($avgRatings); +@endphp + +@section('page_title') + {{ trim($product->meta_title) != "" ? $product->meta_title : $product->name }} +@stop + +@section('seo') + meta_description : str_limit(strip_tags($product->description), 120, '') }}"/> + +@stop + +@push('css') + +@endpush + +@section('full-content-wrapper') + {!! view_render_event('bagisto.shop.products.view.before', ['product' => $product]) !!} +
+
+
+ +
+ @csrf() + + + + {{-- product-gallery --}} +
+ @include ('shop::products.view.gallery') +
+ + {{-- right-section --}} +
+ {{-- product-info-section --}} +
+

{{ $product->name }}

+ + @if ($total) +
+ + +
+ {{ $avgRatings }} Ratings and {{ $total }} Reviews +
+
+ @endif + + @include ('shop::products.view.stock', ['product' => $product]) + +
+ @include ('shop::products.price', ['product' => $product]) +
+ + @include ('shop::products.add-to-cart', [ + 'form' => false, + 'product' => $product, + 'showCartIcon' => false, + ]) +
+ + {!! view_render_event('bagisto.shop.products.view.short_description.before', ['product' => $product]) !!} + +
+

{{ __('velocity::app.products.short-description') }}

+ + {!! $product->short_description !!} +
+ + {!! view_render_event('bagisto.shop.products.view.short_description.after', ['product' => $product]) !!} + + + {!! view_render_event('bagisto.shop.products.view.quantity.before', ['product' => $product]) !!} + + @if ($product->getTypeInstance()->showQuantityBox()) + + @else + + @endif + + {!! view_render_event('bagisto.shop.products.view.quantity.after', ['product' => $product]) !!} + + @include ('shop::products.view.configurable-options') + + @include ('shop::products.view.downloadable') + + @include ('shop::products.view.grouped-products') + + @include ('shop::products.view.bundle-options') + + @include ('shop::products.view.attributes', [ + 'active' => true + ]) + + {{-- product long description --}} + @include ('shop::products.view.description') + + {{-- reviews count --}} + @include ('shop::products.view.reviews', ['accordian' => true]) +
+
+
+
+
+ + + +
+ @if( + isset($velocityMetaData['product_view_images']) + && $velocityMetaData['product_view_images'] + ) + @foreach (json_decode($velocityMetaData['product_view_images'], true) as $image) + @if ($image && $image !== '') + + @endif + @endforeach + @endif +
+
+ {!! view_render_event('bagisto.shop.products.view.after', ['product' => $product]) !!} +@endsection + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/attributes.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/attributes.blade.php new file mode 100644 index 000000000..404c208fc --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/attributes.blade.php @@ -0,0 +1,50 @@ +@inject ('productViewHelper', 'Webkul\Product\Helpers\View') + +{!! view_render_event('bagisto.shop.products.view.attributes.before', ['product' => $product]) !!} + @php + $customAttributeValues = $productViewHelper->getAdditionalData($product); + @endphp + + @if ($customAttributeValues && $customAttributeValues[0]['value']) + +
+

+ {{ __('velocity::app.products.more-infomation') }} +

+ +
+ +
+ + + @foreach ($customAttributeValues as $attribute) + + @if ($attribute['label']) + + @else + + @endif + + @if ($attribute['type'] == 'file' && $attribute['value']) + + @elseif ($attribute['type'] == 'image' && $attribute['value']) + + @else + + @endif + + @endforeach +
{{ $attribute['label'] }}{{ $attribute['admin_name'] }} + + + + + + + + {{ $attribute['value'] }}
+
+
+ @endif + +{!! view_render_event('bagisto.shop.products.view.attributes.after', ['product' => $product]) !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/bundle-options.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/bundle-options.blade.php new file mode 100644 index 000000000..b31c23654 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/bundle-options.blade.php @@ -0,0 +1,234 @@ +@if ($product->type == 'bundle') + + {!! view_render_event('bagisto.shop.products.view.bundle-options.before', ['product' => $product]) !!} + + + + {!! view_render_event('bagisto.shop.products.view.bundle-options.after', ['product' => $product]) !!} + + @push('scripts') + + + + + + @endpush +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/configurable-options.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/configurable-options.blade.php new file mode 100755 index 000000000..a077c60db --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/configurable-options.blade.php @@ -0,0 +1,338 @@ +@if (Webkul\Product\Helpers\ProductType::hasVariants($product->type)) + + @inject ('configurableOptionHelper', 'Webkul\Product\Helpers\ConfigurableOption') + @inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + + @php + $config = $configurableOptionHelper->getConfigurationConfig($product); + $galleryImages = $productImageHelper->getGalleryImages($product); + @endphp + + {!! view_render_event('bagisto.shop.products.view.configurable-options.before', ['product' => $product]) !!} + + + + {!! view_render_event('bagisto.shop.products.view.configurable-options.after', ['product' => $product]) !!} + + @push('scripts') + + + + @endpush +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/description.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/description.blade.php new file mode 100644 index 000000000..ab76a8a0b --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/description.blade.php @@ -0,0 +1,19 @@ +{!! view_render_event('bagisto.shop.products.view.description.before', ['product' => $product]) !!} + + +
+

+ {{ __('velocity::app.products.details') }} +

+ + +
+ +
+
+ {!! $product->description !!} +
+
+
+ +{!! view_render_event('bagisto.shop.products.view.description.after', ['product' => $product]) !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/downloadable.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/downloadable.blade.php new file mode 100644 index 000000000..ba76b7af4 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/downloadable.blade.php @@ -0,0 +1,64 @@ +@if ($product->type == 'downloadable') + {!! view_render_event('bagisto.shop.products.view.downloadable.before', ['product' => $product]) !!} + +
+ + @if ($product->downloadable_samples->count()) +
+

{{ __('shop::app.products.samples') }}

+ + +
+ @endif + + @if ($product->downloadable_links->count()) + + @endif +
+ + {!! view_render_event('bagisto.shop.products.view.downloadable.before', ['product' => $product]) !!} +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/gallery.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/gallery.blade.php new file mode 100644 index 000000000..5c6e81ca9 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/gallery.blade.php @@ -0,0 +1,154 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') +@inject ('wishListHelper', 'Webkul\Customer\Helpers\Wishlist') + +@php + $images = $productImageHelper->getGalleryImages($product); +@endphp + +{!! view_render_event('bagisto.shop.products.view.gallery.before', ['product' => $product]) !!} + +
+
+ + + + +
+ +
+ +
+ +
+ +{!! view_render_event('bagisto.shop.products.view.gallery.after', ['product' => $product]) !!} + + + +@push('scripts') + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/grouped-products.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/grouped-products.blade.php new file mode 100644 index 000000000..f825f71d9 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/grouped-products.blade.php @@ -0,0 +1,36 @@ +@if ($product->type == 'grouped') + {!! view_render_event('bagisto.shop.products.view.grouped_products.before', ['product' => $product]) !!} + +
+ @if ($product->grouped_products->count()) +
+
    +
  • + {{ __('shop::app.products.name') }} + {{ __('shop::app.products.qty') }} +
  • + @foreach ($product->grouped_products as $groupedProduct) +
  • + + {{ $groupedProduct->associated_product->name }} + + @include ('shop::products.price', ['product' => $groupedProduct->associated_product]) + + + + + + +
  • + @endforeach +
+
+ @endif +
+ + {!! view_render_event('bagisto.shop.products.view.grouped_products.before', ['product' => $product]) !!} +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/related-products.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/related-products.blade.php new file mode 100644 index 000000000..af9fd1759 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/related-products.blade.php @@ -0,0 +1,49 @@ +related_products()->get(); +?> + +@if ($relatedProducts->count()) + + + + + +@endif \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/reviews.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/reviews.blade.php new file mode 100644 index 000000000..155fbffd0 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/reviews.blade.php @@ -0,0 +1,198 @@ +@inject ('reviewHelper', 'Webkul\Product\Helpers\Review') +@inject ('customHelper', 'Webkul\Velocity\Helpers\Helper') + +@php + if (! isset($total)) { + $total = $reviewHelper->getTotalReviews($product); + + $avgRatings = $reviewHelper->getAverageRating($product); + $avgStarRating = ceil($avgRatings); + } + + $percentageRatings = $reviewHelper->getPercentageRating($product); + $countRatings = $customHelper->getCountRating($product); +@endphp + +{!! view_render_event('bagisto.shop.products.review.before', ['product' => $product]) !!} + + @if ($total) + @if (isset($accordian) && $accordian) + + {{-- customer ratings --}} +
+

+ {{ __('velocity::app.products.customer-rating') }} +

+ + +
+ +
+
+
+

{{ $avgRatings }} Star

+ + + + {{ $avgRatings }} Ratings and {{ $total }} Reviews + + @if (core()->getConfigData('catalog.products.review.guest_review') || auth()->guard('customer')->check()) + + + + @endif +
+ +
+ + @for ($i = 5; $i >= 1; $i--) + +
+ {{ $i }} Star + +
+
+
+ + {{ $countRatings[$i] }} +
+ @endfor + +
+
+
+
+ @else +
+
+
+

{{ $avgRatings }} Star

+ + + + {{ $avgRatings }} Ratings and {{ $total }} Reviews + + @if (core()->getConfigData('catalog.products.review.guest_review') || auth()->guard('customer')->check()) + + + + @endif +
+ +
+ + @for ($i = 5; $i >= 1; $i--) + +
+ {{ $i }} Star + +
+
+
+ + {{ $countRatings[$i] }} +
+ @endfor + +
+
+
+ @endif + + @if (isset($accordian) && $accordian) + + {{-- customer reviews --}} +
+

+ {{ __('velocity::app.products.reviews') }} +

+ + +
+ +
+ @foreach ($reviewHelper->getReviews($product)->paginate(10) as $review) +
+

{{ $review->title }}

+ + + +
+ {{ $review->comment }} +
+ +
+ {{ __('velocity::app.products.review-by') }} - + + + {{ $review->name }}, + + + {{ core()->formatDate($review->created_at, 'F d, Y') }} + +
+
+ @endforeach + + {{ __('velocity::app.products.view-all-reviews') }} +
+
+ @else +

+ {{ __('velocity::app.products.reviews') }} +

+ +
+ @foreach ($reviewHelper->getReviews($product)->paginate(10) as $review) +
+

{{ $review->title }}

+ + + +
+ {{ $review->comment }} +
+ +
+ @if ("{{ $review->name }}") + {{ __('velocity::app.products.review-by') }} - + + + @endif + + {{ core()->formatDate($review->created_at, 'F d, Y') }} + +
+
+ @endforeach +
+ @endif + + @else + @if (core()->getConfigData('catalog.products.review.guest_review') || auth()->guard('customer')->check()) + + @endif + @endif + +{!! view_render_event('bagisto.shop.products.review.after', ['product' => $product]) !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/small-view.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/small-view.blade.php new file mode 100644 index 000000000..6aa16e374 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/small-view.blade.php @@ -0,0 +1,15 @@ +@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') + +@php + $productBaseImage = $productImageHelper->getProductBaseImage($product); +@endphp + + \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/view/stock.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/stock.blade.php new file mode 100644 index 000000000..37796cc04 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/view/stock.blade.php @@ -0,0 +1,11 @@ +{!! view_render_event('bagisto.shop.products.view.stock.before', ['product' => $product]) !!} + +
+ +
+ +{!! view_render_event('bagisto.shop.products.view.stock.after', ['product' => $product]) !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/products/wishlist.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/products/wishlist.blade.php new file mode 100755 index 000000000..d8e3c88c9 --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/products/wishlist.blade.php @@ -0,0 +1,30 @@ +@inject ('wishListHelper', 'Webkul\Customer\Helpers\Wishlist') + +{!! view_render_event('bagisto.shop.products.wishlist.before') !!} + @auth('customer') + @php + $isWished = $wishListHelper->getWishlistProduct($product); + @endphp + + + + + + @endauth + + @guest('customer') + + + + @endauth +{!! view_render_event('bagisto.shop.products.wishlist.after') !!} \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/search/search.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/search/search.blade.php new file mode 100644 index 000000000..1cd26e67e --- /dev/null +++ b/packages/Webkul/Velocity/src/Resources/views/shop/search/search.blade.php @@ -0,0 +1,51 @@ +@inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar') + +@extends('shop::layouts.master') + +@section('page_title') + {{ __('shop::app.search.page-title') }} +@endsection + +@section('content-wrapper') +
+
+ @if ($results && $results->count()) +
+ @include ('shop::products.list.toolbar') +
+ @endif + + @if (! $results) +

{{ __('shop::app.search.no-results') }}

+ @else + @if ($results->isEmpty()) +

{{ __('shop::app.products.whoops') }}

+ {{ __('shop::app.search.no-results') }} + @else + @if ($results->total() == 1) +

+ {{ $results->total() }} {{ __('shop::app.search.found-result') }} +

+ @else +

+ {{ $results->total() }} {{ __('shop::app.search.found-results') }} +

+ @endif + + @foreach ($results as $productFlat) + @if ($toolbarHelper->getCurrentMode() == 'grid') + @include('shop::products.list.card', ['product' => $productFlat->product]) + @else + @include('shop::products.list.card', [ + 'list' => true, + 'product' => $productFlat->product + ]) + @endif + @endforeach + + @include('ui::datagrid.pagination') + @endif + @endif +
+
+@endsection \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Velocity.php b/packages/Webkul/Velocity/src/Velocity.php new file mode 100644 index 000000000..5ccab7246 --- /dev/null +++ b/packages/Webkul/Velocity/src/Velocity.php @@ -0,0 +1,55 @@ + 'Link CMS Page', + 'product' => 'Catalog Products', + 'static' => 'Static Content', + ]; + + /** + * Catalog Product Type + * + * @var mixed + */ + protected $catalog_type = [ + 'new' => 'New Arrival', + 'offer' => 'Offered Product [Special]', + 'popular' => 'Popular Products', + 'viewed' => 'Most Viewed', + 'rated' => 'Most Rated', + 'custom' => 'Custom Selection', + ]; + + protected $category; + + /** + * Create a new instance. + * + * @param Webkul\Category\Repositories\CategoryRepository $category + * @return void + */ + public function __construct( + Category $category + ) { + $this->category = $category; + } + + public function getContentType() { + return $this->content_type; + } + + public function getCatalogType() { + return $this->catalog_type; + } +} \ No newline at end of file diff --git a/packages/Webkul/Velocity/webpack.mix.js b/packages/Webkul/Velocity/webpack.mix.js new file mode 100644 index 000000000..d707857ff --- /dev/null +++ b/packages/Webkul/Velocity/webpack.mix.js @@ -0,0 +1,38 @@ +const { mix } = require("laravel-mix"); +require("laravel-mix-merge-manifest"); + +var publicPath = "../../../resources/themes/velocity/assets"; + +if (mix.inProduction()) { + publicPath = 'publishable/assets'; +} + +publicPath = 'publishable/assets'; + +mix.setPublicPath(publicPath).mergeManifest(); +mix.disableNotifications(); + +mix + .js( + __dirname + "/src/Resources/assets/js/app.js", + "js/velocity.js" + ) + + .sass( + __dirname + '/src/Resources/assets/sass/admin.scss', + __dirname + '/' + publicPath + '/css/velocity-admin.css' + ) + .sass( + __dirname + '/src/Resources/assets/sass/app.scss', + __dirname + '/' + publicPath + '/css/velocity.css', { + includePaths: ['node_modules/bootstrap-sass/assets/stylesheets/'], + } + ) + + .options({ + processCssUrls: false + }); + +if (mix.inProduction()) { + mix.version(); +} diff --git a/tests/functional/Customer/CustomerCest.php b/tests/functional/Customer/CustomerCest.php index b3c0f9256..873761be9 100644 --- a/tests/functional/Customer/CustomerCest.php +++ b/tests/functional/Customer/CustomerCest.php @@ -50,6 +50,8 @@ class CustomerCest $this->fields = [ 'company_name' => $faker->company, + 'first_name' => $faker->firstName, + 'last_name' => $faker->lastName, 'vat_id' => 'INVALIDVAT', 'address1[]' => $faker->streetAddress, 'country' => $faker->countryCode, @@ -113,6 +115,8 @@ class CustomerCest { $I->seeRecord(CustomerAddress::class, [ 'company_name' => $this->fields['company_name'], + 'first_name' => $this->fields['first_name'], + 'last_name' => $this->fields['last_name'], 'vat_id' => $this->fields['vat_id'], 'address1' => $this->fields['address1[]'], 'country' => $this->fields['country'],