Skip to content

Commit 35a9480

Browse files
committed
Enhance FAQ component to support filtering on subcategory
This commit implements the enhancement requested in issue #6935. It adds support for filtering FAQs by both category and subcategory, with dynamic subcategory options based on selected categories. Uses SistentThemeProvider and theme tokens for consistent styling. Signed-off-by: Sekar <sekarmca2024.com> Signed-off-by: Sekar C Mca <sekarmca2024@gmail.com>
1 parent 1c61800 commit 35a9480

2 files changed

Lines changed: 383 additions & 69 deletions

File tree

src/sections/General/Faq/faqSection.style.js

Lines changed: 118 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,109 @@ const FaqSectionWrapper = styled.section`
1818
text-transform: capitalize;
1919
opacity: 0.8;
2020
}
21+
22+
.filter-controls {
23+
display: flex;
24+
justify-content: flex-start;
25+
align-items: center;
26+
margin-bottom: 1.5rem;
27+
28+
button {
29+
margin-right: 1rem;
30+
}
31+
}
32+
33+
.filter-container {
34+
background-color: ${props => props.theme.secondaryLightColor};
35+
padding: 1.5rem;
36+
border-radius: 8px;
37+
margin-bottom: 2rem;
38+
border: 1px solid ${props => props.theme.shadowLightColor};
39+
}
40+
41+
.filter-title {
42+
color: ${props => props.theme.primaryColor};
43+
font-weight: 500;
44+
margin-bottom: 1rem;
45+
border-bottom: 1px solid ${props => props.theme.shadowLightColor};
46+
padding-bottom: 0.5rem;
47+
text-align: center;
48+
}
49+
50+
.filter-group {
51+
margin-bottom: 1.5rem;
52+
53+
h3 {
54+
font-size: 1.2rem;
55+
margin-bottom: 1rem;
56+
color: ${props => props.theme.primaryColor};
57+
}
58+
59+
p {
60+
margin: 0.5rem 0;
61+
font-size: 0.9rem;
62+
font-style: italic;
63+
color: ${props => props.theme.textColor};
64+
}
65+
}
66+
.filter-options {
67+
display: flex;
68+
flex-wrap: wrap;
69+
gap: 1rem;
70+
}
71+
72+
.filter-option {
73+
display: flex;
74+
align-items: center;
75+
margin-right: 1rem;
76+
margin-bottom: 0.5rem;
77+
78+
input[type="checkbox"] {
79+
margin-right: 0.5rem;
80+
cursor: pointer;
81+
accent-color: ${props => props.theme.primaryColor};
82+
}
83+
84+
label {
85+
cursor: pointer;
86+
font-size: 0.9rem;
87+
}
88+
}
89+
90+
.active-filters {
91+
margin-bottom: 1.5rem;
92+
padding: 0.75rem 1rem;
93+
background-color: ${props => props.theme.secondaryLightColor};
94+
border-radius: 4px;
95+
border-left: 4px solid ${props => props.theme.primaryColor};
96+
97+
p {
98+
margin: 0;
99+
font-size: 0.9rem;
100+
101+
strong {
102+
color: ${props => props.theme.primaryColor};
103+
}
104+
}
105+
}
106+
107+
.no-results {
108+
text-align: center;
109+
padding: 3rem 1rem;
110+
background-color: ${props => props.theme.secondaryLightColor};
111+
border-radius: 8px;
112+
margin-bottom: 2rem;
113+
114+
h3 {
115+
margin-bottom: 1rem;
116+
color: ${props => props.theme.textColor};
117+
}
118+
119+
p {
120+
margin-bottom: 1rem;
121+
}
122+
}
123+
21124
.accordion__item + .accordion__item {
22125
border-color: transparent;
23126
}
@@ -96,6 +199,20 @@ const FaqSectionWrapper = styled.section`
96199
}
97200
98201
@media only screen and (max-width: 568px) {
202+
.filter-controls {
203+
flex-direction: column;
204+
align-items: flex-start;
205+
206+
button {
207+
margin-bottom: 0.75rem;
208+
width: 100%;
209+
}
210+
}
211+
212+
.filter-option {
213+
width: 100%;
214+
}
215+
99216
.section-title {
100217
text-align: center;
101218
}
@@ -116,4 +233,4 @@ const FaqSectionWrapper = styled.section`
116233
}
117234
`;
118235

119-
export default FaqSectionWrapper;
236+
export default FaqSectionWrapper;

0 commit comments

Comments
 (0)