7 Commits

4 changed files with 122 additions and 91 deletions

View File

@@ -1,5 +1,12 @@
$border-width: 1px; $border-width: 1px;
$border-color: $gray-300; $border-color: $gray-300;
$border-radius: .4rem; $border-radius: 0.4rem;
$border-radius-lg: .4rem; $border-radius-lg: 0.4rem;
$border-radius-sm: .4rem; $border-radius-sm: 0.4rem;
$card-border-color: $border-color;
$table-border-color: $border-color;
$input-border-color: $border-color;
$input-focus-border-color: $border-color;
$form-check-input-border: $border-color;

View File

@@ -1,28 +1,32 @@
// Header selector for interpolation // Header selector for interpolation
// Example usage: #{$headings} { ... } // Example usage: #{$headers} { ... }
$headings: "h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6"; $headers: "h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6";
// All text selector for interpolation
$text: "#{$headers}, p, span, a, li";
// Section Spacers. Just set the two variables below and it is fully responsive!
// $section-spacer-small applies on breakpoints lg and below, OR always if specified in the class with --small (ex. section-spacer--small).
// Section Spacers
$section-spacer: rem-calc(50px); $section-spacer: rem-calc(50px);
$section-spacer-small: rem-calc(25px); $section-spacer-small: rem-calc(25px);
.section-spacer-both { .section-spacer-both {
margin-top: $section-spacer; margin-top: $section-spacer-small;
margin-bottom: $section-spacer; margin-bottom: $section-spacer-small;
@include bs5-media-breakpoint-up(lg) { @include bs5-media-breakpoint-up(lg) {
margin-top: calc($section-spacer * 1.5); margin-top: $section-spacer;
margin-bottom: calc($section-spacer * 1.5); margin-bottom: $section-spacer;
} }
&--small { &--small {
margin-top: $section-spacer-small; margin-top: $section-spacer-small;
margin-bottom: $section-spacer-small; margin-bottom: $section-spacer-small;
@include bs5-media-breakpoint-up(lg) { @include bs5-media-breakpoint-up(lg) {
margin-top: calc($section-spacer-small * 2); margin-top: $section-spacer-small;
margin-bottom: calc($section-spacer-small * 2); margin-bottom: $section-spacer-small;
} }
} }
} }
.section-spacer { .section-spacer {
@extend .section-spacer-both; @extend .section-spacer-both;
margin-bottom: unset; margin-bottom: unset;
@@ -30,3 +34,10 @@ $section-spacer-small: rem-calc(25px);
margin-bottom: unset; margin-bottom: unset;
} }
} }
.section-spacer-bottom {
@extend .section-spacer-both;
margin-top: unset;
&--small {
margin-top: unset;
}
}

View File

@@ -1,82 +1,84 @@
import prestashop from 'prestashop'; import prestashop from "prestashop";
import $ from 'jquery'; import $ from "jquery";
prestashop.themeSelectors = { prestashop.themeSelectors = {
product: { product: {
tabs: '.tabs .nav-link', tabs: ".tabs .nav-link",
activeNavClass: 'js-product-nav-active', activeNavClass: "js-product-nav-active",
activeTabClass: 'js-product-tab-active', activeTabClass: "js-product-tab-active",
activeTabs: '.tabs .nav-link.active, .js-product-nav-active', activeTabs: ".tabs .nav-link.active, .js-product-nav-active",
imagesModal: '.js-product-images-modal', imagesModal: ".js-product-images-modal",
thumb: '.js-thumb', thumb: ".js-thumb",
thumbContainer: '.thumb-container, .js-thumb-container', thumbContainer: ".thumb-container, .js-thumb-container",
arrows: '.js-arrows', arrows: ".js-arrows",
selected: '.selected, .js-thumb-selected', selected: ".selected, .js-thumb-selected",
modalProductCover: '.js-modal-product-cover', modalProductCover: ".js-modal-product-cover",
cover: '.js-qv-product-cover', cover: ".js-qv-product-cover",
customizationModal: '.js-customization-modal', customizationModal: ".js-customization-modal",
}, },
listing: { listing: {
searchFilterToggler: '#search_filter_toggler, .js-search-toggler', searchFilterToggler: "#search_filter_toggler, .js-search-toggler",
searchFiltersWrapper: '#search_filters_wrapper', searchFiltersWrapper: "#search_filters_wrapper",
searchFilterControls: '#search_filter_controls', searchFilterControls: "#search_filter_controls",
searchFilters: '#search_filters', searchFilters: "#search_filters",
activeSearchFilters: '#js-active-search-filters', activeSearchFilters: "#js-active-search-filters",
listTop: '#js-product-list-top', listTop: "#js-product-list-top",
list: '#js-product-list', list: "#js-product-list",
listBottom: '#js-product-list-bottom', listBottom: "#js-product-list-bottom",
listHeader: '#js-product-list-header', listHeader: "#js-product-list-header",
searchFiltersClearAll: '.js-search-filters-clear-all', searchFiltersClearAll: ".js-search-filters-clear-all",
searchLink: '.js-search-link', searchLink: ".js-search-link",
}, },
order: { order: {
returnForm: '#order-return-form, .js-order-return-form', returnForm: "#order-return-form, .js-order-return-form",
}, },
arrowDown: '.arrow-down, .js-arrow-down', arrowDown: ".arrow-down, .js-arrow-down",
arrowUp: '.arrow-up, .js-arrow-up', arrowUp: ".arrow-up, .js-arrow-up",
clear: '.clear', clear: ".clear",
fileInput: '.js-file-input', fileInput: ".js-file-input",
contentWrapper: '#content-wrapper, .js-content-wrapper', contentWrapper: "#content-wrapper, .js-content-wrapper",
footer: '#footer, .js-footer', footer: "#footer, .js-footer",
modalContent: '.js-modal-content', modalContent: ".js-modal-content",
modal: '.js-checkout-modal', modal: ".js-checkout-modal",
touchspin: '.js-touchspin', touchspin: ".js-touchspin",
checkout: { checkout: {
termsLink: '.js-terms a', termsLink: ".js-terms a",
giftCheckbox: '.js-gift-checkbox', giftCheckbox: ".js-gift-checkbox",
imagesLink: '.card-block .cart-summary-products p a, .js-show-details', imagesLink: ".card-block .cart-summary-products p a, .js-show-details",
carrierExtraContent: '.carrier-extra-content, .js-carrier-extra-content', carrierExtraContent:
btn: '.checkout a', ".carrier-extra-content, .js-carrier-extra-content",
}, btn: ".checkout a",
cart: { },
productLineQty: '.js-cart-line-product-quantity', cart: {
quickview: '.quickview', productLineQty: ".js-cart-line-product-quantity",
touchspin: '.bootstrap-touchspin', quickview: ".quickview",
promoCode: '#promo-code', touchspin: ".bootstrap-touchspin",
displayPromo: '.display-promo', promoCode: "#promo-code",
promoCodeButton: '.promo-code-button', displayPromo: ".display-promo",
discountCode: '.js-discount .code', promoCodeButton: ".promo-code-button",
discountName: '[name=discount_name]', discountCode: ".js-discount .js-code",
actions: '[data-link-action="delete-from-cart"], [data-link-action="remove-voucher"]', discountName: "[name=discount_name]",
}, actions:
notifications: { '[data-link-action="delete-from-cart"], [data-link-action="remove-voucher"]',
dangerAlert: '#notifications article.alert-danger', },
container: '#notifications .container', notifications: {
}, dangerAlert: "#notifications article.alert-danger",
passwordPolicy: { container: "#notifications .container",
template: '#password-feedback', },
hint: '.js-hint-password', passwordPolicy: {
container: '.js-password-strength-feedback', template: "#password-feedback",
strengthText: '.js-password-strength-text', hint: ".js-hint-password",
requirementScore: '.js-password-requirements-score', container: ".js-password-strength-feedback",
requirementLength: '.js-password-requirements-length', strengthText: ".js-password-strength-text",
requirementScoreIcon: '.js-password-requirements-score i', requirementScore: ".js-password-requirements-score",
requirementLengthIcon: '.js-password-requirements-length i', requirementLength: ".js-password-requirements-length",
progressBar: '.js-password-policy-progress-bar', requirementScoreIcon: ".js-password-requirements-score i",
inputColumn: '.js-input-column', requirementLengthIcon: ".js-password-requirements-length i",
}, progressBar: ".js-password-policy-progress-bar",
inputColumn: ".js-input-column",
},
}; };
$(() => { $(() => {
prestashop.emit('themeSelectorsInit'); prestashop.emit("themeSelectorsInit");
}); });

View File

@@ -33,6 +33,17 @@
title="{l s='Log in to your customer account' d='Shop.Theme.Customeraccount'}" title="{l s='Log in to your customer account' d='Shop.Theme.Customeraccount'}"
{/if} {/if}
> >
<span class="d-none d-xl-block text-secondary">
{if $logged}
{if $customer.firstname}
{$customer.firstname|escape:'html':'UTF-8'}
{else}
{l s='Log out' d='Shop.Theme.Actions'}
{/if}
{else}
{l s='Log in' d='Shop.Theme.Actions'}
{/if}
</span>
<div class="header-top__icon-container"> <div class="header-top__icon-container">
{capture name="svg_output"}{svg_icon file='person.svg'}{/capture} {capture name="svg_output"}{svg_icon file='person.svg'}{/capture}
{if $smarty.capture.svg_output} {if $smarty.capture.svg_output}