feat: add type-specific metadata and expiration badges to documents UX (refs #43)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 2m46s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 37s
Deploy to Staging / Verify Staging (pull_request) Successful in 6s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 6s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped

- Create ExpirationBadge component with 30-day warning and expired states
- Create DocumentCardMetadata component for type-specific field display
- Update DocumentsPage to show metadata and expiration badges on cards
- Update DocumentsMobileScreen with metadata and badges (mobile variant)
- Redesign DocumentDetailPage with side-by-side layout (desktop) and
  stacked layout (mobile) showing full metadata panel
- Add 33 unit tests for new components
- Fix jest.config.ts testMatch pattern for test discovery

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Eric Gullickson
2026-01-17 20:29:54 -06:00
parent 2ebae468c6
commit b0e392fef1
8 changed files with 742 additions and 53 deletions

View File

@@ -2,7 +2,6 @@
* Jest configuration for MotoVaultPro frontend (React + TS, ESM)
*/
import type { Config } from 'jest';
const { createDefaultPreset } = require('ts-jest/presets');
const tsJestTransformCfg = {
tsconfig: 'tsconfig.json',
@@ -14,7 +13,6 @@ const config: Config = {
roots: ['<rootDir>/src'],
extensionsToTreatAsEsm: ['.ts', '.tsx'],
transform: {
...createDefaultPreset().transform,
'^.+\\.(ts|tsx)$': ['ts-jest', tsJestTransformCfg],
},
moduleNameMapper: {
@@ -23,7 +21,7 @@ const config: Config = {
'\\.(svg|png|jpg|jpeg|gif)$': '<rootDir>/test/__mocks__/fileMock.js',
},
setupFilesAfterEnv: ['<rootDir>/setupTests.ts'],
testMatch: ['**/?(*.)+(test).[tj]sx?'],
testMatch: ['**/*.test.ts', '**/*.test.tsx'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
testPathIgnorePatterns: ['/node_modules/', '/dist/'],
reporters: [