Satyam Rastogi
c27d64d75e
fix(data): tune PRJ-004/005 to healthy margins (PRJ-019 stays the sole problem job); compute owner portfolio count
2026-05-29 18:42:03 +05:30
Satyam Rastogi
a8ed0c0034
feat(leads): enrich lead data + add clickable lead detail page mirroring the create-lead form
2026-05-29 18:18:58 +05:30
Satyam Rastogi
aeabcea850
fix(analytics): recognize revenue/commission on percentage-of-completion basis (fix spurious negative gross profit)
2026-05-29 18:11:38 +05:30
Satyam Rastogi
c068106679
feat(projects): claimed-vs-verified scope-variance badge
2026-05-29 17:49:58 +05:30
Satyam Rastogi
6c5d9ea5e8
feat(projects): Estimate Versions tab (history + full document view)
2026-05-29 17:48:23 +05:30
Satyam Rastogi
35ff7a2e05
feat(projects): Inspections tab (damage + final, issues, rework loop, photo upload)
2026-05-29 17:45:35 +05:30
Satyam Rastogi
6d2c06f74b
fix(data): remove duplicate completionPercentage keys introduced with lifecycleStage
2026-05-29 17:39:57 +05:30
Satyam Rastogi
5dff6cfaea
feat(projects): interactive lifecycle progression control with stage history
2026-05-29 17:30:16 +05:30
Satyam Rastogi
ffb2307066
feat(store): add lifecycle/inspection/estimate-version mutators
2026-05-29 17:26:40 +05:30
Satyam Rastogi
63b80a91b5
feat(data): add inspections, estimate versions, and scope variance to demo scenarios
2026-05-29 17:25:18 +05:30
Satyam Rastogi
1a96346200
feat(data): add lifecycleStage + stageHistory to all projects
2026-05-29 17:19:39 +05:30
Satyam Rastogi
293abb6d27
feat(lifecycle): add pure project lifecycle stage model (stages, progress map, helpers)
2026-05-29 17:10:53 +05:30
Satyam Rastogi
8e75aa15c9
fix(data): convert signed lead kl_044 to PRJ-2026-029 (resolves orphan signed-column lead)
2026-05-29 17:01:20 +05:30
Satyam Rastogi
dd781f4692
feat(dashboards): wire owner + admin KPIs to computed selectors (pipeline, funnel, win-rate, revenue, commission, storm)
2026-05-29 16:50:19 +05:30
Satyam Rastogi
8f5a32179d
feat(analytics): add pure selectors for pipeline, revenue, commission, sub performance, storm
2026-05-29 16:46:57 +05:30
Satyam Rastogi
4857033994
feat(data): de-fake customer phones, tag 10 demo archetypes, add lost lead ( #3 ), make #6 over-budget
2026-05-29 16:43:48 +05:30
Satyam Rastogi
76df03f6fa
feat(data): realistic pre-sale lead identities, values, dates, and storm attribution
2026-05-29 16:31:23 +05:30
Satyam Rastogi
ec1d9dfb25
feat(routes): unify won leads and projects on a single /projects/:id page
...
- add role-prefix-free /projects/:id route (OWNER/ADMIN/FIELD_AGENT; ABAC guard lands in Phase 8)
- relax detail lookup so admin/field-agent open any project, owners only their own
- kanban drawer + project list route won leads (with projectId) to /projects/:id; pre-sale leads stay on the lead page
2026-05-29 15:51:09 +05:30
Satyam Rastogi
d5ea0935b4
fix(data): correct pendingInvoiceCount and align cost-invoice vendors to breakdown
2026-05-29 15:39:36 +05:30
Satyam Rastogi
2b741dd0b5
fix(data): trade-correct vendors, margins, and timeline details on converted projects
2026-05-29 15:20:01 +05:30
Satyam Rastogi
4b2bb37b3b
feat(data): convert won kanban leads (kl_023-038) into unified project records
2026-05-29 14:10:54 +05:30
Satyam Rastogi
058f41c763
refactor(data): migrate project ids to PRJ-2026-### (with inbound FKs)
2026-05-29 13:50:13 +05:30
Satyam Rastogi
f794ec28b4
chore(data): purge residual placeholder name in docs; normalize sub_001 trade + owner email
2026-05-29 05:00:22 +05:30
Satyam Rastogi
55ede33c2f
chore(login): update employee-id placeholder to LUP scheme; gitignore playwright artifact
2026-05-29 04:47:34 +05:30
Satyam Rastogi
a3dfd732e8
feat(login): per-role person picker for quick demo access
2026-05-29 04:45:03 +05:30
Satyam Rastogi
155bf6ce63
feat(data): add kanban lead values, fix Complete-stage data, set stormSource
2026-05-29 04:37:57 +05:30
Satyam Rastogi
2f43205854
fix(data): match subcontractor tasks to real projects; style On Hold status
2026-05-29 04:22:30 +05:30
Satyam Rastogi
2010ca080e
fix(data): align sub_002-005 login company/trade/phone with subcontractor records
2026-05-29 04:16:26 +05:30
Satyam Rastogi
2399b40926
feat(data): add login records for sub_002-005 so each subcontractor inbox is reachable
2026-05-29 04:13:52 +05:30
Satyam Rastogi
cb6695aa94
fix(data): seed leads list so the Leads page is populated on load
2026-05-29 04:09:11 +05:30
Satyam Rastogi
4ee480ec87
fix(data): reconcile project financials and add missing budget breakdowns
2026-05-29 04:01:27 +05:30
Satyam Rastogi
ebd5b78f41
fix(data): remap subcontractor task/notification actor ids to canonical scheme
2026-05-29 03:48:24 +05:30
Satyam Rastogi
8c4e6695be
fix(data): remap orgMembers userId to canonical id scheme
2026-05-29 03:44:23 +05:30
Satyam Rastogi
890072a051
feat(data): canonical roster — real Texan names + unified LUP employee ids
2026-05-29 03:41:18 +05:30
Satyam Rastogi
0c40f1c881
feat(data): add resolvePerson selector over a merged people index
2026-05-29 03:31:40 +05:30
Satyam Rastogi
a03fb0cf00
chore(data): add DEMO_TODAY anchor and use it for kanban day-counter
2026-05-29 03:24:57 +05:30
Satyam Rastogi
c68d11dd98
feat(leaderboard): animate podium numbers (count-up) and staggered bottom-up bar growth
...
Podium values now count up via AnimatedNumber with per-metric formatting
(currency/percent/deals). Podium bars grow from a fixed baseline at constant
speed so bronze settles first, then silver, then gold last; reserve row height
so the baseline doesn't shift mid-animation. Remove unused formatSales/formatCv.
2026-05-29 01:54:33 +05:30
Satyam Rastogi
97597737df
fix(dev): stub /api/* in vite dev to avoid @vercel/kv transform crash; allow owners to create map entries
2026-05-29 01:32:55 +05:30
Satyam Rastogi
73387366fe
merge: integrate subcontractor, org-settings & commission features from project-refinement
...
# Conflicts:
# src/App.jsx
# src/components/Layout.jsx
# src/data/mockStore.jsx
# src/pages/LeadsListPage.jsx
# src/pages/owner/OwnerProjectDetail.jsx
# src/pages/owner/OwnerSnapshot.jsx
2026-05-29 01:11:03 +05:30
Satyam Rastogi
490d16b80a
subcontrcator: post a status update section- removed photo required option
2026-05-21 20:49:10 +05:30
Satyam Rastogi
e648547f1b
change mock data of all projects to show positive net profit
2026-05-21 17:48:55 +05:30
Satyam Rastogi
680b2b4cfe
update correct url for admin/settings
2026-05-21 16:52:58 +05:30
Satyam Rastogi
371c52fe9d
subcontractor: task thread section having teams and direct chat options now
2026-05-21 15:50:19 +05:30
Satyam Rastogi
3a038ffc6f
subcontractor: add progress updates and task activity timeline
2026-05-21 15:30:19 +05:30
Satyam Rastogi
ad39848b0f
adds subcontractor project history and payments table a amount column
2026-05-20 19:32:55 +05:30
Satyam Rastogi
6838d6c38e
adds subcontractor project history and payments
2026-05-20 19:23:53 +05:30
Satyam Rastogi
5dd781ca45
subcontractor payments table added in owners box
2026-05-20 18:45:00 +05:30
Satyam Rastogi
11b15a2e30
updates budget & cost feature of projects: added sub contrcator comm, team cost
2026-05-20 14:34:38 +05:30
Satyam Rastogi
2589975074
adds sections as list tasks,log expenses. fees, notifications for sub contrcator
2026-05-19 18:17:36 +05:30
Satyam-Rastogi
bdb7a4e465
fix(storm-intel): show CloudHail icon for ice-pellet/hail forecast codes
...
Tomorrow.io 7xxx codes are ice pellets, not snow — remapped from Snowflake
to CloudHail. Added hailRisk override so any day flagged as hail risk by
the API always renders the hail icon regardless of weatherCode. Also added
missing 6xxx (freezing rain) codes to the icon table.
Mock Sunday entry corrected to weatherCode 8000 (thunderstorm) — 7102 at
76°F made no meteorological sense.
2026-05-19 02:40:21 +05:30