diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js index ccaa416ed04..2a0606dec1e 100644 --- a/addons/website_sale/static/src/js/website_sale.js +++ b/addons/website_sale/static/src/js/website_sale.js @@ -10,6 +10,7 @@ import { ProductImageViewer } from "@website_sale/js/components/website_sale_ima import { jsonrpc } from "@web/core/network/rpc_service"; import { debounce, throttleForAnimation } from "@web/core/utils/timing"; import { listenSizeChange, SIZES, utils as uiUtils } from "@web/core/ui/ui_service"; +import { isBrowserFirefox, hasTouch } from "@web/core/browser/feature_detection"; import { Component } from "@odoo/owl"; export const WebsiteSale = publicWidget.Widget.extend(VariantMixin, cartHandlerMixin, { @@ -94,6 +95,11 @@ export const WebsiteSale = publicWidget.Widget.extend(VariantMixin, cartHandlerM this.triggerVariantChange(this.$el); }); + // This allows conditional styling for the filmstrip + if (isBrowserFirefox() || hasTouch()) { + this.el.querySelector('.o_wsale_filmstip_container')?.classList.add('o_wsale_filmstip_fancy_disabled'); + } + this.getRedirectOption(); return def; }, diff --git a/addons/website_sale/static/src/scss/website_sale.scss b/addons/website_sale/static/src/scss/website_sale.scss index 88a9d8d7b6f..fb842808ff8 100644 --- a/addons/website_sale/static/src/scss/website_sale.scss +++ b/addons/website_sale/static/src/scss/website_sale.scss @@ -43,27 +43,6 @@ $input-border-color: $gray-400; } } -@mixin o-wsale-scrollbar-subdle($-vertical: true) { - $-o-scrollbar-subdle-bg: rgba($dark, 0.05); - - scrollbar-color: currentColor $-o-scrollbar-subdle-bg; - scrollbar#{if($-vertical, -width, -height)}: 2px; - cursor: grab; - - &::-webkit-scrollbar { - #{if($-vertical, width, height)}: 2px; - } - - &::-webkit-scrollbar-thumb { - border-radius: $btn-border-radius-sm; - background: currentColor; - } - - &::-webkit-scrollbar-track { - background: $-o-scrollbar-subdle-bg; - } -} - .oe_website_sale { // ==== Products list designs .o_wsale_design_cards { @@ -104,7 +83,34 @@ $input-border-color: $gray-400; } .o_wsale_filmstip_container { - &:hover { + $-o-scrollbar-subdle-bg: rgba($dark, 0.05); + + transform: translateZ(0); + + &.o_wsale_filmstip_fancy_disabled { + scrollbar-color: currentColor $-o-scrollbar-subdle-bg; + } + + .o_wsale_filmstip_wrapper { + margin-bottom: map-get($spacers, 2); + scroll-snap-type: x mandatory; + cursor: grab; + + &::-webkit-scrollbar { + height: 2px; + } + + &::-webkit-scrollbar-thumb { + border-radius: $btn-border-radius-sm; + background: currentColor; + } + + &::-webkit-scrollbar-track { + background: $-o-scrollbar-subdle-bg; + } + } + + &:not(.o_wsale_filmstip_fancy_disabled):hover { .o_wsale_filmstip_wrapper { margin-bottom: map-get($spacers, 1); @@ -115,16 +121,6 @@ $input-border-color: $gray-400; } } - .o_wsale_filmstip_wrapper { - margin-bottom: map-get($spacers, 2); - scroll-snap-type: x mandatory; - @include o-wsale-scrollbar-subdle($-vertical: false); - - .o_wsale_filmstip { - transform: translateX(0); - } - } - .activeDrag * { cursor: grabbing !important; cursor: -webkit-grabbing; @@ -189,10 +185,6 @@ $input-border-color: $gray-400; padding-bottom: 0.75rem; } - #o_wsale_offcanvas_content { - @include o-wsale-scrollbar-subdle(); - } - #products_grid_before { // == Guess the distance with the navbar $-container-top-gap: calc(#{map-get($spacers, 2)} + var(--gutter-x));