New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: added barcode-svg #10242
base: main
Are you sure you want to change the base?
fix: added barcode-svg #10242
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #10242 +/- ##
==========================================
+ Coverage 49.54% 49.68% +0.13%
==========================================
Files 67 71 +4
Lines 20650 20982 +332
Branches 4980 5026 +46
==========================================
+ Hits 10231 10424 +193
- Misses 9131 9270 +139
Partials 1288 1288 ☔ View full report in Codecov by Sentry. |
//init barcode SVGs if exist on the page | ||
let barcode_svg_elements = document.getElementsByClassName("barcode-svg"); | ||
if(barcode_svg_elements.length!=0){ | ||
JsBarcode(".barcode-svg").init(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since you already have the array, this should be enough:
JsBarcode(".barcode-svg").init(); | |
JsBarcode(barcode_svg_elements).init(); |
JsBarcode
seems to do the same by calling getRenderProperties
internally. Might save some ms by not running the selector again
@@ -490,6 +490,14 @@ <h3 class="title-5 text-medium">[% lang('footer_discover_the_project') %]</h3> | |||
[% END %] | |||
|
|||
</body> | |||
<script src="[% static_subdomain %]/js/dist/JsBarcode.all.min.js"></script> | |||
<script> | |||
//init barcode SVGs if exist on the page |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what the best place for this snippet is, but in general, we tried to remove most direct JS from the templates in the last few months. Maybe display-product.js? cc @alexgarel @stephanegigandet
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
display-product.js would be the right place I think, we don't need to load this script on every page, just product pages.
In fact we probably want to display the barcode only on desktop (not mobile), as on mobile it takes a lot of space for little added value. On desktop it's very useful so that it can be scanned with a mobile app (like ours, or others).
I'm not sure if we could load the script conditionnaly if the screen is big enough though.
</p> | ||
<svg class="barcode-svg" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Could you change the display so that it is displayed only on desktop, and at the right of the barcode number, so that we don't lose vertical space? The barcode is very nice to have in order to be able to scan it with a mobile app, but we don't want to push the real content too much down.
e.g. something like that:
After many tryings: My proposal: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @bazylevnik0, this is great.
Moving to _off.scss seems the only remaining item to me !
<style> | ||
#barcode_div_code,#barcode_div_svg{ | ||
display: inline-block; | ||
vertical-align: top; | ||
} | ||
@media only screen and (max-width: 600px) { | ||
#barcode_div_svg,#barcode_br { | ||
display: none; | ||
} | ||
} | ||
</style> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should put it in the main _off.scss file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed. But I moved styles to _product-page.scss
.
I think it is more reasonable because script is also only on the product page template.
Quality Gate passedIssues Measures |
What
Added support of the barcode SVGs in the page
Screenshot
Related issue(s) and discussion