# Component Tree Per Halaman Sistem Inventory Walet ## 1. Dashboard ```text DashboardPage ├── AppShell ├── DashboardHeader ├── MetricsGrid │ ├── TotalStockCard │ ├── InventoryValueCard │ ├── PurchaseThisMonthCard │ ├── SalesThisMonthCard │ └── ShrinkageThisMonthCard ├── StockSummaryChart ├── PurchaseVsSalesChart ├── SupplierQualityChart ├── AgingAlertPanel └── QuickActionPanel ``` ## 2. Purchase List ```text PurchaseListPage ├── AppShell ├── PageHeader ├── PurchaseFilterBar ├── PurchaseToolbar └── PurchaseTable ├── TableToolbar ├── StatusBadge └── Pagination ``` ## 3. Purchase Form ```text PurchaseFormPage ├── AppShell ├── PageHeader ├── PurchaseHeaderForm │ ├── SupplierSelect │ ├── PurchaseDateInput │ ├── SupplierInvoiceInput │ └── NotesTextarea ├── PurchaseLineEditor │ ├── PurchaseLineRow │ │ ├── ItemTypeSelect │ │ ├── ItemGradeSelect │ │ ├── QtyInput │ │ ├── UnitSelect │ │ ├── UnitPriceInput │ │ ├── ClassificationStatusSelect │ │ └── LineSubtotalCell │ └── AddLineButton ├── PurchaseSummaryCard └── StickyActionFooter ``` ## 4. Receipt Form ```text ReceiptFormPage ├── AppShell ├── PageHeader ├── ReceiptHeaderForm ├── ReceiptLineTable │ ├── ReceiptLineRow │ │ ├── OrderedQtyCell │ │ ├── ReceivedQtyInput │ │ ├── AcceptedQtyInput │ │ ├── RejectedQtyInput │ │ ├── UnitCostInput │ │ ├── WarehouseSelect │ │ └── WarehouseLocationSelect ├── GenerateLotPanel └── StickyActionFooter ``` ## 5. Stock Lot List ```text StockLotListPage ├── AppShell ├── PageHeader ├── LotFilterBar ├── LotToolbar └── LotTable ├── StatusBadge ├── AgingBadge ├── LotQuickActionsMenu └── Pagination ``` ## 6. Lot Detail ```text LotDetailPage ├── AppShell ├── PageHeader ├── LotSummaryCard ├── LotIdentitySection ├── LotQuantitySection ├── LotTraceSection │ ├── ParentLotCard │ ├── ChildLotsTable │ └── SourceReferenceCard ├── LotMovementTimeline ├── LotSalesUsageTable ├── LotLabelPanel └── LotActionPanel ├── HoldLotButton ├── ReleaseLotButton ├── TransferLotButton ├── RegradeLotButton └── PrintLabelButton ``` ## 7. Sorting Session Form ```text SortingSessionFormPage ├── AppShell ├── PageHeader ├── SourceLotSelector ├── SourceLotSummaryCard ├── SortingResultEditor │ ├── SortingResultRow │ │ ├── ItemTypeSelect │ │ ├── ItemGradeSelect │ │ ├── QtyResultInput │ │ └── CostInput │ └── AddResultLineButton ├── ShrinkageInputCard └── StickyActionFooter ``` ## 8. Sales Form ```text SalesFormPage ├── AppShell ├── PageHeader ├── SalesHeaderForm │ ├── CustomerSelect │ ├── SalesDateInput │ └── NotesTextarea ├── SalesLineEditor │ ├── SalesLineRow │ │ ├── ItemTypeSelect │ │ ├── ItemGradeSelect │ │ ├── QtyInput │ │ ├── UnitSelect │ │ ├── SellingPriceInput │ │ └── LineSubtotalCell │ └── AddLineButton ├── SalesSummaryCard └── StickyActionFooter ``` ## 9. Allocation Screen ```text SalesAllocationPage ├── AppShell ├── PageHeader ├── SalesLineSummaryCard ├── AllocationToolbar │ ├── AutoAllocateButton │ ├── AllocationPolicySelect │ └── RefreshStockButton ├── AvailableLotTable │ ├── LotRow │ │ ├── LotCodeCell │ │ ├── SupplierCell │ │ ├── AvailableQtyCell │ │ ├── UnitCostCell │ │ ├── FIFORecommendationBadge │ │ └── AllocateQtyInput ├── AllocationSummaryCard └── StickyActionFooter ``` ## 10. Picking Screen ```text PickingPage ├── AppShell ├── PageHeader ├── PickingSummaryCard ├── QrScannerPanel ├── PickingAllocationList │ ├── PickingAllocationRow │ │ ├── LotInfoCard │ │ ├── AllocatedQtyCell │ │ ├── PickedQtyInput │ │ └── VarianceBadge └── StickyActionFooter ``` ## 11. Barcode Lookup ```text BarcodeLookupPage ├── AppShell ├── PageHeader ├── QrScannerPanel ├── ManualBarcodeInput ├── LookupResultCard ├── TraceSummaryPanel └── QuickActionPanel ``` ## 12. Adjustment Form ```text AdjustmentFormPage ├── AppShell ├── PageHeader ├── LotSelector ├── LotSnapshotCard ├── AdjustmentForm │ ├── AdjustmentTypeSelect │ ├── ReasonSelect │ ├── QtyBeforeReadonly │ ├── QtyChangeInput │ ├── QtyAfterPreview │ ├── CostImpactPreview │ └── NotesTextarea └── StickyActionFooter ``` ## 13. Reports Page ```text ReportPage ├── AppShell ├── PageHeader ├── ReportFilterBar ├── ReportSummaryCards ├── ReportChartSection ├── ReportTableSection └── ExportActionBar ``` ## 14. Shared Critical Components ```text AppShell ├── Sidebar ├── Topbar ├── Breadcrumb └── ContentWrapper DataTable ├── FilterBar ├── ColumnVisibilityToggle ├── ExportButton ├── Pagination └── EmptyState QrScannerPanel ├── CameraPreview ├── ScanOverlay ├── ScanResultBadge └── ManualFallbackInput ``` ## 15. Prioritas Component Build Urutan komponen paling penting dibangun dulu: 1. AppShell 2. DataTable 3. StatusBadge / AgingBadge 4. Form primitives 5. PurchaseLineEditor 6. ReceiptLineTable 7. LotTable 8. LotSummaryCard 9. LotMovementTimeline 10. SalesLineEditor 11. AvailableLotTable 12. AllocationSummaryCard 13. QrScannerPanel 14. PickingAllocationList 15. ReportFilterBar ## 16. Catatan - halaman lot detail dan allocation adalah pusat kompleksitas produk - QR scanner dan movement timeline adalah komponen pembeda - semua editor multi-line harus reusable agar purchase, receipt, sales, dan sorting lebih cepat dibangun