Skip to content

Commit 4e4d72e

Browse files
committed
fix: Product selector click is not working fully
1 parent 1ca737f commit 4e4d72e

File tree

3 files changed

+24
-15
lines changed

3 files changed

+24
-15
lines changed

assets/css/v2/style.css

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ atomic-search-layout atomic-layout-section[section="search"] {
486486
border: none;
487487
font-size: 1.25rem;
488488
width: 100%;
489-
padding: 0.5rem;
489+
padding: 0.5rem 0.5rem 0.5rem 1rem; /* 1rem to vertically align with searchbar text */
490490
cursor: pointer;
491491
}
492492

@@ -508,6 +508,16 @@ atomic-search-layout atomic-layout-section[section="search"] {
508508
box-shadow: 3px 3px 0px var(--color-shadow);
509509
}
510510

511+
button:has(~ .product-selector[style*="block"])
512+
> .product-selector-button-icon {
513+
transition: transform 0.25s ease-in-out;
514+
transform: rotate(180deg);
515+
}
516+
517+
button:has(~ .product-selector[style*="none"]) > .product-selector-button-icon {
518+
transition: transform 0.25s ease-in-out;
519+
transform: rotate(0deg);
520+
}
511521
.product-selector p {
512522
font-size: 0.75rem;
513523
color: var(--color-product-title);

assets/js/product-selector.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ document.addEventListener('DOMContentLoaded', () => {
44
'product-selector-button'
55
);
66

7-
if (productSelectorButton === null || productSelectorButton == null) {
7+
if (productSelectorButton === null || productSelectorContent == null) {
88
return;
99
}
1010

1111
productSelectorButton.addEventListener('click', () => {
12+
/* Logic for hiding/showing ONLY when the button is clicked */
1213
if (productSelectorContent.style.display === 'block') {
1314
productSelectorContent.style.display = 'none';
1415
productSelectorButton.classList.remove('remove-bottom-radius');
@@ -19,12 +20,10 @@ document.addEventListener('DOMContentLoaded', () => {
1920
});
2021

2122
window.addEventListener('click', (event) => {
22-
if (
23-
!event.target.matches('#product-selector-button') &&
24-
!event.target.matches('#product-selector-button-icon')
25-
) {
23+
/* Greedy Logic to hide the product selector when something other than the button is clicked. Assumes everything has an id containing "product-selector" */
24+
if (!event.target.id.includes('product-selector')) {
2625
productSelectorContent.style.display = 'none';
26+
productSelectorButton.classList.remove('remove-bottom-radius');
2727
}
28-
productSelectorButton.classList.remove('remove-bottom-radius');
2928
});
3029
});

layouts/partials/sidebar-v2.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222

2323
<button class="product-selector-button" id="product-selector-button">
2424
{{/* product name and selector */}}
25-
<div class="product-name">{{ $productName }}</div>
26-
<div class="product-selector-button-icon">
27-
<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg">
28-
<path d="M1 13L7 7L0.999999 1" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
25+
<div class="product-selector-name" id="product-selector-name">{{ $productName }}</div>
26+
<div class="product-selector-button-icon" id="product-selector-button-icon">
27+
<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg" id="product-selector-chevron-icon">
28+
<path d="M1 13L7 7L0.999999 1" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="product-selector-chevron-icon"/>
2929
</svg>
3030
</div>
3131
</button>
@@ -41,11 +41,11 @@
4141
{{ $type := . }}
4242
{{ $products := index $groupedProducts $type }}
4343
<div class="product-selector-content" id="product-selector-content">
44-
<p>{{ $type | humanize | title | upper }}</p>
45-
<ul>
44+
<p id="product-selector-content-product-group-name">{{ $type | humanize | title | upper }}</p>
45+
<ul id="product-selector-content-product-container">
4646
{{ range $products }}
47-
<li>
48-
<a href="{{ .url }}">{{ .title }}</a>
47+
<li id="product-selector-content-product-name">
48+
<a id="product-selector-content-product-link" href="{{ .url }}">{{ .title }}</a>
4949
</li>
5050
{{ end }}
5151
</ul>

0 commit comments

Comments
 (0)