@@ -59,6 +59,19 @@ npm run build # Build once (manual)
5959- ` .button-filter ` , ` .button-reset `
6060- ` .items-summary ` → ` .results-count ` (total before filter), ` .items-count ` (after filter)
6161
62+ ** For List Page C (Accordion Mode - grouped by bedroom type):**
63+ - ` .accordion_accordion ` → Template accordion containing mixed cards
64+ - ` .accordion_question ` → Accordion header
65+ - ` .accordion_answer ` → Contains ` .card-wrapper ` elements (directly or in ` .floorplan-collection-list ` )
66+ - ** Placeholders** : ` {{floor_type}} ` and ` {{starting_price}} ` (replaced automatically)
67+
68+ ** Mode Detection:**
69+ - ** Tab Mode** : ` .propsync-tabs ` exists
70+ - ** Filter Mode** : ` .button-filter ` and filter controls exist
71+ - ** Accordion Mode** : ` .accordion_accordion ` with cards exists
72+ - Only one mode activates per page
73+
74+
6275** For Tab-Based Filtering (alternative to checkboxes/sliders):**
6376- ` .propsync-tabs ` → Container for tab elements
6477 - Automatically generates tabs based on available apartment types
@@ -126,6 +139,75 @@ When `.propsync-tabs` is present on the page, the script automatically generates
126139</div >
127140```
128141
142+ ### Accordion Mode HTML Structure (List Page C)
143+
144+ ** Minimum Required Structure:**
145+ ``` html
146+ <!-- Template accordion with all cards inside -->
147+ <div class =" accordion_accordion" >
148+ <div class =" accordion_question" >
149+ <div class =" floor-plan-container" >
150+ <div class =" accordion_left-wrapper" >
151+ <div class =" floor-plan_type-2" >
152+ <div class =" bedroom-text" >{{floor_type}}</div >
153+ </div >
154+ <div class =" floor-plan_square-feet" >
155+ <div class =" floorplan-accordian-text" >
156+ Starting at {{starting_price}} -- Number of {{floor_type}} Floorplans
157+ </div >
158+ </div >
159+ </div >
160+ <div class =" accordion_icon-wrapper" >
161+ <div >+</div >
162+ </div >
163+ </div >
164+ </div >
165+ <div class =" accordion_answer" >
166+ <!-- Cards can go directly here -->
167+ <div class =" card-wrapper" >
168+ <div class =" bedroom-card-value" >2</div >
169+ <div class =" price-min-card-value" >575</div >
170+ <!-- ... more card details ... -->
171+ </div >
172+ <div class =" card-wrapper" >
173+ <div class =" bedroom-card-value" >3</div >
174+ <div class =" price-min-card-value" >495</div >
175+ <!-- ... more card details ... -->
176+ </div >
177+ <!-- More cards... -->
178+ </div >
179+ </div >
180+ ```
181+
182+ ** Or with Optional Container:**
183+ ``` html
184+ <div class =" accordion_accordion" >
185+ <div class =" accordion_question" >
186+ <!-- ... same as above ... -->
187+ </div >
188+ <div class =" accordion_answer" >
189+ <!-- Optional: wrap cards in a collection list -->
190+ <div class =" floorplan-collection-list" >
191+ <div class =" card-wrapper" >
192+ <div class =" bedroom-card-value" >2</div >
193+ <div class =" price-min-card-value" >575</div >
194+ <!-- ... more card details ... -->
195+ </div >
196+ <!-- More cards... -->
197+ </div >
198+ </div >
199+ </div >
200+ ```
201+
202+ ** What the script does:**
203+ 1 . Finds the template ` .accordion_accordion ` with mixed cards inside
204+ 2 . Groups cards by bedroom type (2BR, 3BR, 4BR, etc.)
205+ 3 . Clones the template for each bedroom type
206+ 4 . Replaces ` {{floor_type}} ` and ` {{starting_price}} ` in each clone
207+ 5 . Distributes cards into their respective accordion clones
208+ 6 . Hides the original template
209+ 7 . Inserts cloned accordions sorted by bedroom count (ascending)
210+
129211## 🔄 Workflow
130212
131213### For Developers
@@ -238,10 +320,27 @@ When tab filtering activates, you'll see:
238320
239321## 🎯 Filtering Modes Summary
240322
241- The script supports three filtering modes:
323+ The script supports four filtering modes:
242324
325+ ### List Pages A & B - Checkbox/Slider Filtering
2433261 . ** Standard Filtering** (with ` .button-filter ` ): Users click filter button to apply changes
2443272 . ** Auto-Submit Filtering** (without ` .button-filter ` ): Filters apply automatically on interaction
245- 3 . ** Tab Filtering** (with ` .propsync-tabs ` ): Tab-based filtering replaces checkbox/slider system
246328
247- ** Important:** Tab filtering and checkbox/slider filtering are mutually exclusive. If ` .propsync-tabs ` is present, only tab filtering will be active.
329+ ### Alternative Filtering Modes
330+ 3 . ** Tab Filtering** (with ` .propsync-tabs ` ):
331+ - Tab-based filtering that replaces checkbox/slider system
332+ - Automatically generates tabs based on available bedroom types
333+ - Creates "View All" and individual bedroom tabs
334+
335+ 4 . ** Accordion Mode** (List Page C - with ` .accordion_accordion ` ):
336+ - Groups floor plans by bedroom type into collapsible accordions
337+ - Clones template accordion for each bedroom type
338+ - Replaces ` {{floor_type}} ` and ` {{starting_price}} ` placeholders
339+ - Automatically sorts accordions by bedroom count (ascending)
340+ - Distributes cards into their respective accordions
341+ - Each accordion shows bedroom type, starting price, and floor plan count
342+
343+ ** Important:**
344+ - Tab filtering and checkbox/slider filtering are mutually exclusive
345+ - Accordion mode only affects cards inside ` .accordion_component `
346+ - Each page should use only one filtering approach
0 commit comments