Skip to content

feat: garment metadata, wear priority sorting, outfit picker filtering & outfits pagination - #156

Open
paresh996 wants to merge 10 commits into
Lazztech:mainfrom
paresh996:feat/wardrobe-metadata-and-outfit-enhancements
Open

paresh996 wants to merge 10 commits into
Lazztech:mainfrom
paresh996:feat/wardrobe-metadata-and-outfit-enhancements

Conversation

@paresh996

@paresh996 paresh996 commented Nov 1, 2026 •

Copy link
Copy Markdown

Summary

This pull request introduces extended garment properties and dynamic metadata, wear priority and subcategory priority sorting algorithms, outfit builder garment picker filtering and sorting, 50-item pagination with asynchronous "Load More" for outfits, calendar month view scheduling, and a light/dark theme switcher.


Key Features & Changes

1. Extended Garment Properties & Metadata

  • Added subCategory, secondaryColor, material, fit, and pattern fields to Garment entity.
  • Dynamic dependent dropdowns in garment create/edit forms based on selected category.
  • Curated color palette expansion (24 colors) with multi-select support and visual swatch dots.
  • Created zero-data-loss database migrations for both SQLite (Migration20261028235500, Migration20261031140000, Migration20261101030000) and PostgreSQL (Migration20261028235501, Migration20261031140001, Migration20261101030001).

2. Realistic Wear Priority Sorting

  • Implemented natural wearable hierarchy sorting instead of purely alphabetical sorting:
    Tops > Bottoms > Outerwear > Footwear > Headwear > Accessories > Other
  • Implemented subcategory hierarchy priority for tops:
    T-shirt > Polo > Full Sleeve T-shirt > Shirt > Sweater > Pullover > Hoodie > alphabetical.
  • Applied wear priority sorting across wardrobe view category sorting, outfit builder garment slots, and outfit card displays.

3. Outfit Garment Picker Filtering & Sorting

  • Added Filter Search and Sort By modal inside the "Pick garment" view when creating or editing outfits.
  • Filter garments by category, subcategory, primary/secondary color, material, fit, pattern, and season.
  • Sort garments by wear priority, newest, oldest, name, or rating.
  • Includes live search with instant filtering and active filter badge pills.

4. Outfits Index Pagination (HTMX Load More)

  • Optimized /outfits performance: loads the first 50 outfits initially instead of rendering the entire wardrobe catalog at once.
  • Added asynchronous "Load More" button powered by HTMX (/outfits?offset=50&limit=50) that seamlessly appends subsequent batches.

5. Light / Dark Theme Switcher

  • Added instant theme switcher toggle in the navbar and mobile navigation drawer.
  • Implements system preference detection (prefers-color-scheme) and persists user preference via localStorage.

6. Calendar Month View & Quick Navigation

  • Added month view grid toggle alongside the existing week view.
  • Added jump-to-date picker and quick navigation toolbar (Previous, Next, Today).

7. Localization & Documentation

  • Full translation keys added across all 7 supported languages (en, da, de, es, fr, it, ru).
  • Updated README.md, CHANGELOG.md, and docs/DESIGN.md.

Verification & Testing

  • Unit Tests: npm test - 20/20 test suites passed, 78/78 tests passed (including new test suites for outfit.service, outfit.controller, calendar.service, calendar.controller, and priority sorting in garment.service).
  • Build: npm run build completed with exit code 0.

… modal

- Add subcategory, secondary color, material, fit, and pattern fields to garment entity
- Add database migrations for SQLite and PostgreSQL
- Implement dynamic property dropdowns and filter modal in wardrobe view
- Add multi-language translations and unit tests
…tion, and theme switcher

- Implement wear priority and subcategory priority sorting across wardrobe and outfits
- Add filter search modal and sorting controls to outfit garment picker
- Add 50-item pagination with HTMX Load More button to outfits index
- Add light/dark theme switcher with localStorage persistence and system preference detection
- Add calendar month view scheduling with jump-to-date and navigation controls
- Update documentation (README, CHANGELOG, DESIGN) and comprehensive unit tests
…made it easy to know which outfits was a garment a part of
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant