Equity
The old portfolio pages now redirect to your dashboard
Once the dashboard's portfolio pages reach parity (another issue, another issue) and the dashboard GAs (another issue), the old desktop portfolio experience under /portfolio/companies/{companyId}/stakeholders/{stakeholderId}/... is redundant and gets retired. The mobile portfolio experience must keep working unchanged at the end of this project.
MVP note (2026-08-25 line in the sand): this retirement is MVP - it lands with the lean native portfolio (another issue, another issue, another issue), which is the parity bar. The documents subpage (another issue) is post-MVP and not part of that bar; the old pages' file access is covered by the read-only attachments section on the new detail pages.
Approach - keep the old and new pages separate, don't refactor the old ones into the new shape:
Mobile already has its own dedicated page components (
mobilePortfolioCompanyPage,mobilePortfolioSecurityDetailPage,mobileExerciseNoticesPage) - it shares only leaf components with the desktop pages, so retiring the desktop routes doesn't touch mobile at all. Keeping theisMobilebranch ofportfolioRoutesintact is the whole mobile story.The old desktop detail pages (
optionDetailsPage,shareDetailsPage, etc.) are large dual-mode components serving both company-admin and portfolio contexts viaportfolioStakeholderIdbranching. They stay - as company-admin pages. Refactoring them to also power the dashboard would couple three experiences into already ~600-900-line files; the dashboard pages reuse their leaf components (FilesTable, vesting tables, navigator) instead.
Work items:
Remove the desktop branch of the portfolio routes, redirecting
/portfolio/...URLs to their/home/portfolio/...(and/home/exercises/...) equivalents - deep links from old emails/notifications must keep resolving; on mobile the same URLs must continue to hit the mobile routesStrip the now-dead portfolio-mode branches (
portfolioStakeholderIdpaths) from the dual-mode security detail pages, leaving them company-admin only, and delete their portfolio-mode tests (*DetailsPagePortfolio.test.tsx)Retire the desktop portfolio layout/sidebar pieces that no longer have routes
Audit outbound links generated by the backend (emails, notifications) that point at
/portfolio/...and update them to the dashboard equivalents where appropriate
