Files
DashBoard/docs/migration/portal-no-iframe/ui_pattern_inventory.md

1.7 KiB

UI Pattern Inventory (WIP / Resource / Hold / QC)

Duplicated patterns observed

  1. Filter bars:
    • hold-overview/components/FilterBar.vue
    • hold-history/components/FilterBar.vue
    • resource-status/components/FilterBar.vue
    • resource-history/components/FilterBar.vue
    • mid-section-defect/components/FilterBar.vue
  2. KPI/Summary cards:
    • wip-overview/components/SummaryCards.vue
    • wip-detail/components/SummaryCards.vue
    • hold-detail/components/SummaryCards.vue
    • hold-history/components/SummaryCards.vue
    • resource-status/components/SummaryCards.vue
    • resource-history/components/KpiCards.vue
    • mid-section-defect/components/KpiCards.vue
  3. Table + pagination shells:
    • wip-detail/components/LotTable.vue
    • hold-detail/components/LotTable.vue
    • hold-overview/components/LotTable.vue
    • hold-history/components/DetailTable.vue
    • mid-section-defect/components/DetailTable.vue
    • qc-gate/components/LotTable.vue
  4. Multi-select and query controls:
    • resource-shared/components/MultiSelect.vue
    • mid-section-defect/components/MultiSelect.vue
  5. Repeated status/badge presentation logic:
    • WIP/Hold status class mapping and local badge styles in multiple tables/cards.

Consolidation targets

  • Shared UI layer (frontend/src/shared-ui/components)
  • Shared composables layer (frontend/src/shared-composables)
  • Tailwind tokenized styles (frontend/src/styles/tailwind.css)

First migration batch completed

  • Unified pagination rendering for WIP/Hold/Mid-section detail tables through PaginationControl wrapper.
  • Auto-refresh and autocomplete imports migrated to shared-composables entry points.