Files
alla-tms/docs/employee-directory-ui-improvement-report.md
2026-07-16 09:53:14 +07:00

2.8 KiB

Employee Directory UI Improvement Report

1. Files Changed

  • src/app/dashboard/employee-directory/page.tsx
  • src/components/ui/table/data-table.tsx
  • src/components/ui/table/data-table-pagination.tsx
  • src/components/ui/table/data-table-view-options.tsx
  • src/features/employee-directory/components/employee-directory-action-menu.tsx
  • src/features/employee-directory/components/employee-directory-columns.tsx
  • src/features/employee-directory/components/employee-directory-header.tsx
  • src/features/employee-directory/components/employee-directory-summary.tsx
  • src/features/employee-directory/components/employee-directory-table.tsx
  • src/features/employee-directory/components/employee-directory-toolbar.tsx

2. UI Changes

Before

  • Page header used the default PageContainer heading block with larger vertical spacing.
  • Toolbar showed search plus status only.
  • Table used a two-level grouped header for training hours.
  • Row action target area was small.
  • Pagination text was verbose.

After

  • Added a compact feature-specific header with breadcrumb text and responsive action buttons.
  • Reworked the toolbar into a denser enterprise-style layout with search, company, department, position, status, reset, and column-visibility controls.
  • Added summary cards between toolbar and table.
  • Flattened the table header into a single row and reordered visible columns to code, employee, approved, pending, rejected, total, actions.
  • Standardized the employee info cell to always show email as the secondary line.
  • Tightened table spacing, increased action hit area, and softened row hover styling.
  • Localized the column visibility button label and simplified pagination labels.

3. Responsive Result

  • Desktop: full table layout with compact header, inline filters, summary cards, and sticky table header.
  • Tablet: filters wrap cleanly, summary cards remain readable in a responsive grid.
  • Mobile: header actions stack, summary cards render in two columns, and horizontal overflow stays inside the table shell.

4. Accessibility

  • Added explicit aria-label support for search, reset filter, column visibility, pagination, and action menu triggers.
  • Preserved semantic button, menu, table, and select primitives from the existing design system.

5. Performance

  • No API, query, mutation, sorting, filtering, pagination, or permission logic was changed.
  • Existing React Query, useDataTable, and server prefetch flow were preserved.
  • Summary cards are derived from already-fetched table data only.

6. Screens Reviewed

  • Dashboard / Employee Directory

7. Remaining Improvements

  • Sticky first column for employee identity
  • Optional empty state refinement
  • Skeleton tuning specific to the new header and summary layout
  • Export CSV
  • Saved filters
  • KPI cards backed by API-level aggregate summaries instead of visible-page data only