diff --git a/src/data/mockStore.jsx b/src/data/mockStore.jsx index 99f5994..9a6bc1e 100644 --- a/src/data/mockStore.jsx +++ b/src/data/mockStore.jsx @@ -1045,10 +1045,10 @@ const MOCK_OWNERS = [ openRFIs: 1, disputes: 1, upcomingMilestones: [ - { name: 'Shingle Install Complete', project: '2604 Dunwick Dr', dueDate: '2026-02-14', projectId: 'proj_001' }, - { name: 'Electrical Hookup', project: '6613 Phoenix Pl', dueDate: '2026-02-14', projectId: 'proj_003' }, - { name: 'Flooring and Trim', project: '2612 Dunwick Dr', dueDate: '2026-02-18', projectId: 'proj_004' }, - { name: 'Panel Replacement', project: '3913 Arizona Pl', dueDate: '2026-02-20', projectId: 'proj_006' } + { name: 'Shingle Install Complete', project: '2604 Dunwick Dr', dueDate: '2026-02-14', projectId: 'PRJ-2026-001' }, + { name: 'Electrical Hookup', project: '6613 Phoenix Pl', dueDate: '2026-02-14', projectId: 'PRJ-2026-003' }, + { name: 'Flooring and Trim', project: '2612 Dunwick Dr', dueDate: '2026-02-18', projectId: 'PRJ-2026-004' }, + { name: 'Panel Replacement', project: '3913 Arizona Pl', dueDate: '2026-02-20', projectId: 'PRJ-2026-006' } ], cashFlowForecast: [ { month: 'Mar 2026', inflow: 45000, outflow: 38000 }, @@ -1101,10 +1101,10 @@ const MOCK_OWNERS = [ openRFIs: 3, disputes: 2, upcomingMilestones: [ - { name: 'Section A - TPO Install', project: '6909 Custer Rd', dueDate: '2026-02-28', projectId: 'proj_007' }, - { name: 'Final Grade and Drainage', project: '2112 Winslow Dr', dueDate: '2026-02-10', projectId: 'proj_008' }, - { name: 'Floor 2 Installation', project: '7224 Independence Pkwy', dueDate: '2026-02-14', projectId: 'proj_009' }, - { name: 'Waterproofing Application', project: 'Legacy Town Center', dueDate: '2026-02-12', projectId: 'proj_011' } + { name: 'Section A - TPO Install', project: '6909 Custer Rd', dueDate: '2026-02-28', projectId: 'PRJ-2026-007' }, + { name: 'Final Grade and Drainage', project: '2112 Winslow Dr', dueDate: '2026-02-10', projectId: 'PRJ-2026-008' }, + { name: 'Floor 2 Installation', project: '7224 Independence Pkwy', dueDate: '2026-02-14', projectId: 'PRJ-2026-009' }, + { name: 'Waterproofing Application', project: 'Legacy Town Center', dueDate: '2026-02-12', projectId: 'PRJ-2026-011' } ], cashFlowForecast: [ { month: 'Mar 2026', inflow: 95000, outflow: 72000 }, @@ -1404,7 +1404,7 @@ const MOCK_ORDERS = [ { id: 'ORD-001', vendorId: 'v3', - projectId: 'proj_001', + projectId: 'PRJ-2026-001', projectAddress: '2604 Dunwick Dr, Plano, TX 75023', orderDate: '2026-01-18', dueDate: '2026-01-28', @@ -1458,7 +1458,7 @@ const MOCK_ORDERS = [ { id: 'ORD-002', vendorId: 'v3', - projectId: 'proj_002', + projectId: 'PRJ-2026-002', projectAddress: '2617 Rothland Ln, Plano, TX 75023', orderDate: '2025-11-10', dueDate: '2025-11-20', @@ -1512,7 +1512,7 @@ const MOCK_ORDERS = [ { id: 'ORD-003', vendorId: 'v6', - projectId: 'proj_003', + projectId: 'PRJ-2026-003', projectAddress: '6613 Phoenix Pl, Plano, TX 75023', orderDate: '2026-01-25', dueDate: '2026-02-08', @@ -1565,7 +1565,7 @@ const MOCK_ORDERS = [ { id: 'ORD-004', vendorId: 'v5', - projectId: 'proj_008', + projectId: 'PRJ-2026-008', projectAddress: '2112 Winslow Dr, Plano, TX 75023', orderDate: '2025-12-02', dueDate: '2025-12-15', @@ -1620,7 +1620,7 @@ const MOCK_ORDERS = [ { id: 'ORD-005', vendorId: 'v3', - projectId: 'proj_007', + projectId: 'PRJ-2026-007', projectAddress: '6909 Custer Rd, Plano, TX 75023', orderDate: '2026-02-01', dueDate: '2026-02-14', @@ -1682,7 +1682,7 @@ const MOCK_ORDERS = [ { id: 'ORD-006', vendorId: 'v4', - projectId: 'proj_012', + projectId: 'PRJ-2026-012', projectAddress: 'Dallas/Plano Marriott at Legacy Town Center, 7121 Bishop Rd, Plano, TX 75024', orderDate: '2026-01-15', dueDate: '2026-01-30', @@ -1746,7 +1746,7 @@ const MOCK_ORDERS = [ { id: 'ORD-007', vendorId: 'v3', - projectId: 'proj_004', + projectId: 'PRJ-2026-004', projectAddress: '2612 Dunwick Dr, Plano, TX 75023', orderDate: '2026-02-15', dueDate: '2026-02-28', @@ -1772,7 +1772,7 @@ const MOCK_ORDERS = [ { id: 'ORD-008', vendorId: 'v3', - projectId: 'proj_009', + projectId: 'PRJ-2026-009', projectAddress: '7224 Independence Pkwy, Plano, TX 75025', orderDate: '2026-02-10', dueDate: '2026-02-22', @@ -1804,7 +1804,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-001', vendorId: 'v3', orderId: 'ORD-002', - projectId: 'proj_002', + projectId: 'PRJ-2026-002', project: '2617 Rothland Ln, Plano, TX 75023', invoiceDate: '2025-11-22', dueDate: '2025-12-07', @@ -1817,7 +1817,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-002', vendorId: 'v3', orderId: 'ORD-001', - projectId: 'proj_001', + projectId: 'PRJ-2026-001', project: '2604 Dunwick Dr, Plano, TX 75023', invoiceDate: '2026-01-28', dueDate: '2026-02-12', @@ -1830,7 +1830,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-003', vendorId: 'v6', orderId: 'ORD-003', - projectId: 'proj_003', + projectId: 'PRJ-2026-003', project: '6613 Phoenix Pl, Plano, TX 75023', invoiceDate: '2026-02-04', dueDate: '2026-02-19', @@ -1843,7 +1843,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-004', vendorId: 'v5', orderId: 'ORD-004', - projectId: 'proj_008', + projectId: 'PRJ-2026-008', project: '2112 Winslow Dr, Plano, TX 75023', invoiceDate: '2025-12-16', dueDate: '2025-12-31', @@ -1856,7 +1856,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-005', vendorId: 'v3', orderId: 'ORD-005', - projectId: 'proj_007', + projectId: 'PRJ-2026-007', project: '6909 Custer Rd, Plano, TX 75023', invoiceDate: '2026-02-03', dueDate: '2026-02-18', @@ -1869,7 +1869,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-006', vendorId: 'v4', orderId: 'ORD-006', - projectId: 'proj_012', + projectId: 'PRJ-2026-012', project: 'Dallas/Plano Marriott, 7121 Bishop Rd, Plano, TX 75024', invoiceDate: '2026-01-30', dueDate: '2026-02-14', @@ -1882,7 +1882,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-007', vendorId: 'v1', orderId: 'ORD-LABOR-001', - projectId: 'proj_004', + projectId: 'PRJ-2026-004', project: '2612 Dunwick Dr, Plano, TX 75023', invoiceDate: '2026-02-10', dueDate: '2026-02-25', @@ -1895,7 +1895,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2026-008', vendorId: 'v3', orderId: 'ORD-MAT-006', - projectId: 'proj_006', + projectId: 'PRJ-2026-006', project: '3913 Arizona Pl, Plano, TX 75023', invoiceDate: '2026-02-07', dueDate: '2026-02-22', @@ -1908,7 +1908,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2025-045', vendorId: 'v1', orderId: 'ORD-HIST-001', - projectId: 'proj_010', + projectId: 'PRJ-2026-010', project: '2100 Legacy Dr, Plano, TX 75023', invoiceDate: '2025-10-15', dueDate: '2025-10-30', @@ -1921,7 +1921,7 @@ const MOCK_VENDOR_INVOICES = [ id: 'INV-2025-046', vendorId: 'v3', orderId: 'ORD-HIST-002', - projectId: 'proj_010', + projectId: 'PRJ-2026-010', project: '2100 Legacy Dr, Plano, TX 75023', invoiceDate: '2025-10-02', dueDate: '2025-10-17', @@ -2123,7 +2123,7 @@ const MOCK_PROJECTS = [ // Project 1: Active, on track, healthy budget { - id: 'proj_001', + id: 'PRJ-2026-001', ownerId: 'own_001', propertyId: 'P-2602', address: '2604 Dunwick Dr, Plano, TX 75023', @@ -2206,7 +2206,7 @@ const MOCK_PROJECTS = [ // Project 2: Completed, zero variance (perfectly on budget) { - id: 'proj_002', + id: 'PRJ-2026-002', ownerId: 'own_001', propertyId: 'P-2608', address: '2617 Rothland Ln, Plano, TX 75023', @@ -2259,7 +2259,7 @@ const MOCK_PROJECTS = [ // Project 3: Delayed with missed milestone { - id: 'proj_003', + id: 'PRJ-2026-003', ownerId: 'own_001', propertyId: 'P-2610', address: '6613 Phoenix Pl, Plano, TX 75023', @@ -2339,7 +2339,7 @@ const MOCK_PROJECTS = [ // Project 4: Active, on track, under budget { - id: 'proj_004', + id: 'PRJ-2026-004', ownerId: 'own_001', propertyId: 'P-2600', address: '2612 Dunwick Dr, Plano, TX 75023', @@ -2430,7 +2430,7 @@ const MOCK_PROJECTS = [ // Project 5: On Hold with pending dispute { - id: 'proj_005', + id: 'PRJ-2026-005', ownerId: 'own_001', propertyId: 'P-2601', address: '2608 Dunwick Dr, Plano, TX 75023', @@ -2507,7 +2507,7 @@ const MOCK_PROJECTS = [ // Project 6: Active, on track, early stage { - id: 'proj_006', + id: 'PRJ-2026-006', ownerId: 'own_001', propertyId: 'P-2625', address: '3913 Arizona Pl, Plano, TX 75023', @@ -2570,7 +2570,7 @@ const MOCK_PROJECTS = [ // Project 7: Active, on track, healthy budget (commercial) { - id: 'proj_007', + id: 'PRJ-2026-007', ownerId: 'own_002', propertyId: 'P-2640', address: '6909 Custer Rd, Plano, TX 75023', @@ -2670,7 +2670,7 @@ const MOCK_PROJECTS = [ // Project 8: Active, on track, under budget { - id: 'proj_008', + id: 'PRJ-2026-008', ownerId: 'own_002', propertyId: 'P-2641', address: '2112 Winslow Dr, Plano, TX 75023', @@ -2737,7 +2737,7 @@ const MOCK_PROJECTS = [ // Project 9: Delayed with missed milestone { - id: 'proj_009', + id: 'PRJ-2026-009', ownerId: 'own_002', propertyId: 'P-2642', address: '7224 Independence Pkwy, Plano, TX 75025', @@ -2797,7 +2797,7 @@ const MOCK_PROJECTS = [ // Project 10: Completed, zero variance { - id: 'proj_010', + id: 'PRJ-2026-010', ownerId: 'own_002', propertyId: 'P-2656', address: '2100 Legacy Dr, Plano, TX 75023', @@ -2858,7 +2858,7 @@ const MOCK_PROJECTS = [ // Project 11: Disputed with open change orders and unresolved issues { - id: 'proj_011', + id: 'PRJ-2026-011', ownerId: 'own_002', propertyId: 'P-2645', address: 'Legacy Town Center, 5760 Daniel Rd, Plano, TX 75024', @@ -2927,7 +2927,7 @@ const MOCK_PROJECTS = [ // Project 12: On Hold { - id: 'proj_012', + id: 'PRJ-2026-012', ownerId: 'own_002', propertyId: 'P-2644', address: 'Dallas/Plano Marriott at Legacy Town Center, 7121 Bishop Rd, Plano, TX 75024', @@ -5356,7 +5356,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ at: '2026-05-16T14:20:00Z', }, ], - projectId: 'proj_004', + projectId: 'PRJ-2026-004', paymentStatus: 'Unpaid', paymentRequestedAt: '2026-05-16T17:30:00Z', createdAt: '2026-05-15T09:12:00Z', @@ -5448,7 +5448,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ at: '2026-05-12T16:00:00Z', }, ], - projectId: 'proj_003', + projectId: 'PRJ-2026-003', paymentStatus: 'Unpaid', paymentRequestedAt: '2026-05-12T17:00:00Z', createdAt: '2026-05-10T15:40:00Z', @@ -5489,7 +5489,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ fees: [ { id: 'sct_003_f1', description: 'Touch-up paint labour', type: 'Labour / Service Fee', amount: 180, createdAt: '2026-05-14T17:35:00Z' }, ], - projectId: 'proj_006', + projectId: 'PRJ-2026-006', paymentStatus: 'Paid', paymentRequestedAt: '2026-05-14T17:35:00Z', paidAt: '2026-05-18T10:15:00Z', @@ -5528,7 +5528,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ ], expenses: [], fees: [], - projectId: 'proj_001', + projectId: 'PRJ-2026-001', paymentStatus: 'Unpaid', paymentRequestedAt: null, createdAt: '2026-05-18T22:40:00Z', @@ -5597,7 +5597,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ at: '2026-05-15T16:00:00Z', }, ], - projectId: 'proj_007', + projectId: 'PRJ-2026-007', paymentStatus: 'Unpaid', paymentRequestedAt: '2026-05-14T13:00:00Z', createdAt: '2026-05-12T10:00:00Z', @@ -5628,7 +5628,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ thread: [], expenses: [], fees: [], - projectId: 'proj_009', + projectId: 'PRJ-2026-009', paymentStatus: 'Unpaid', paymentRequestedAt: null, createdAt: '2026-05-17T14:00:00Z', @@ -5671,7 +5671,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ fees: [ { id: 'sct_007_f1', description: 'Labour — deck repair (2 days)', type: 'Labour / Service Fee', amount: 920, createdAt: '2026-05-07T16:50:00Z' }, ], - projectId: 'proj_001', + projectId: 'PRJ-2026-001', paymentStatus: 'Paid', paymentRequestedAt: '2026-05-07T16:50:00Z', paidAt: '2026-05-12T14:00:00Z', @@ -5754,7 +5754,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ at: '2026-05-19T12:30:00Z', }, ], - projectId: 'proj_004', + projectId: 'PRJ-2026-004', paymentStatus: 'Unpaid', paymentRequestedAt: '2026-05-19T12:35:00Z', createdAt: '2026-05-16T13:00:00Z', @@ -5791,7 +5791,7 @@ const MOCK_SUBCONTRACTOR_TASKS = [ expenses: [], fees: [], activities: [], - projectId: 'proj_006', + projectId: 'PRJ-2026-006', paymentStatus: 'Unpaid', paymentRequestedAt: null, createdAt: '2026-05-20T09:00:00Z',