Component Map
Document Status: Placeholder - To be completed in Phase 4
Overview
LC DocCheck UI is built with React 18.2.0 and Fluent UI v9, using a template-driven architecture for rendering entity data.
Component Hierarchy
App
├── Layout
│ ├── Header
│ │ ├── Logo
│ │ └── UserMenu
│ ├── Navigation
│ │ └── NavLinks
│ └── MainContent
│ └── Routes
│
├── Pages
│ ├── SalesordersPage
│ │ └── DataTable
│ ├── SalesorderDetailPage
│ │ ├── SchemaDetail
│ │ ├── DocumentUploadSection
│ │ ├── DocumentRecreationView
│ │ ├── ComparisonReport
│ │ └── SchemaList (Shipments)
│ ├── ShipmentsPage
│ │ └── DataTable
│ └── ShipmentDetailPage
│ ├── SchemaDetail
│ └── DocumentCards
│
└── Templates (Reusable)
├── SchemaDetail
│ ├── SectionRenderer
│ └── FieldRenderer
├── SchemaList
│ └── ColumnRenderer
├── DocumentRecreationView
│ ├── SwiftFieldSection
│ ├── PartiesSection
│ └── DerivedDataSection
└── ComparisonReport
├── SummaryPanel
└── RuleResultsList
Key Components
SchemaDetail
Renders entity detail views based on UI schema configuration.
- Supports sections layout with configurable columns
- Field rendering based on format (text, date, currency, badge, etc.)
SchemaList
Renders data tables with schema-driven columns.
- Sortable columns
- Pagination
- Row actions
DocumentRecreationView
Renders extracted document data in SWIFT MT700 format.
- Template-driven (mt700.template.ts)
- Source sections for SWIFT fields
- Derived data sections for parsed information
ComparisonReport
Displays LC vs PI/Shipment comparison results.
- Overall status badge
- Rule results grouped by category
- Field-level discrepancy highlighting
State Management
- TanStack Query v5 for server state
- React Query hooks per entity type
- Optimistic updates for mutations
Styling
- Griffel (CSS-in-JS)
- Fluent UI design tokens
- Component-specific style files (*.styles.ts)