feat(suppliers): responsive supplier directory UI and client filtering (#197) #203

Merged
yuris merged 6 commits from feat/phase-3-supplier-directory into main 2026-10-04 00:12:19 +00:00
Owner

Summary

Implements Phase 3 of Supplier Management (resolves #197):

  • Responsive supplier directory page at /suppliers
  • Dual-mode layout: desktop data table and mobile touch-friendly cards
  • Category filter pills (Semua, Pelumas, Ban, Filter & Part, Kimia & Coolant, Perlu Cek (>30 Hari))
  • Instant search filter by supplier name, code, PIC, and category
  • Last check recency calculation with overdue badges (> 30 days)
  • Direct WhatsApp chat link generation with pre-filled message
  • Comprehensive client tests in supplier-directory.test.tsx (27 tests)

Verification

  • 34 test files passed (610 tests)
  • pnpm verify:management clean with 0 errors
### Summary Implements Phase 3 of Supplier Management (resolves #197): - Responsive supplier directory page at `/suppliers` - Dual-mode layout: desktop data table and mobile touch-friendly cards - Category filter pills (`Semua`, `Pelumas`, `Ban`, `Filter & Part`, `Kimia & Coolant`, `Perlu Cek (>30 Hari)`) - Instant search filter by supplier name, code, PIC, and category - Last check recency calculation with overdue badges (> 30 days) - Direct WhatsApp chat link generation with pre-filled message - Comprehensive client tests in `supplier-directory.test.tsx` (27 tests) ### Verification - 34 test files passed (610 tests) - `pnpm verify:management` clean with 0 errors
feat(suppliers): responsive supplier directory UI and client filtering (#197)
Some checks failed
Checks / test garage (pull_request) Has been cancelled
Checks / test garage-store (pull_request) Has been cancelled
Checks / typecheck apps/management (pull_request) Has been cancelled
Checks / typecheck apps/store (pull_request) Has been cancelled
Checks / lint (biome) (pull_request) Has been cancelled
Checks / test @garage/catalog (pull_request) Has been cancelled
1d4e3319f2
fix(suppliers): decouple client component from db imports, add route and a11y attributes
Some checks failed
Checks / test @garage/catalog (pull_request) Successful in 1m15s
Checks / test garage (pull_request) Successful in 1m29s
Checks / typecheck apps/management (pull_request) Has been cancelled
Checks / typecheck apps/store (pull_request) Has been cancelled
Checks / lint (biome) (pull_request) Has been cancelled
Checks / test garage-store (pull_request) Has been cancelled
1585cdb2f4
fix(suppliers): normalize WhatsApp link phone format on supplier detail page
Some checks failed
Checks / test @garage/catalog (pull_request) Successful in 1m14s
Checks / typecheck apps/management (pull_request) Has been cancelled
Checks / typecheck apps/store (pull_request) Has been cancelled
Checks / lint (biome) (pull_request) Has been cancelled
Checks / test garage-store (pull_request) Has been cancelled
Checks / test garage (pull_request) Has been cancelled
e61f85717a
feat(suppliers): render catalog table on supplier detail page
Some checks failed
Checks / test garage (pull_request) Successful in 1m26s
Checks / test @garage/catalog (pull_request) Successful in 1m14s
Checks / typecheck apps/store (pull_request) Has been cancelled
Checks / lint (biome) (pull_request) Has been cancelled
Checks / test garage-store (pull_request) Has been cancelled
Checks / typecheck apps/management (pull_request) Has been cancelled
e427c7623c
fix(suppliers): use deterministic Asia/Jakarta timezone for lastCheckedAt formatting
Some checks failed
Checks / test garage (pull_request) Has been cancelled
Checks / test @garage/catalog (pull_request) Successful in 1m13s
Checks / typecheck apps/management (pull_request) Has been cancelled
Checks / typecheck apps/store (pull_request) Has been cancelled
Checks / lint (biome) (pull_request) Has been cancelled
Checks / test garage-store (pull_request) Has been cancelled
2001a8a07d
fix(suppliers): restore exact unrounded 30-day overdue threshold
All checks were successful
Checks / test @garage/catalog (pull_request) Successful in 1m14s
Checks / test garage (pull_request) Successful in 1m27s
Checks / test garage-store (pull_request) Successful in 1m17s
Checks / typecheck apps/management (pull_request) Successful in 1m37s
Checks / lint (biome) (pull_request) Successful in 11s
Checks / typecheck apps/store (pull_request) Successful in 1m20s
b16763d2cf
yuris merged commit 0b185b4e10 into main 2026-10-04 00:12:19 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
yuris/garage!203
No description provided.