I'll make the uMortgage proposal downloadable as a PDF, matching how the existing brief works. Let me first understand the existing PDF export mechanism.
Let me check the PAGE geometry and how the brief's fixed pages are structured, so I can match that format.
Now let me look at the brief's DarkPageShell to replicate the paged chrome, and read the remaining uMortgage section components so I can reflow them into fixed pages.
I have enough understanding. The cleanest approach is to mirror the brief's architecture: convert the uMortgage proposal into a vertical stack of fixed-size pages (1060×1056) with violet branding, which displays nicely on screen and exports cleanly to PDF page-by-page. Let me read the existing section components so I can reflow their content into fixed pages.
Let me read the remaining section components.
I have all the content. I'll redesign the uMortgage proposal into the same paged architecture the brief uses — a vertical stack of fixed-size (1060×1056) violet-themed pages that look great on screen and export cleanly to PDF page-by-page. First, the page shell with branded chrome.
Now the 9 paged bodies, reflowed to fit a single fixed page each, reusing the existing parts and content.
Now the uMortgage-specific PDF download button:
Let me check how the brief renders its page stack on screen (scaling), so the uMortgage viewer matches.
Now I'll rewrite the uMortgage page to render the paged stack with the download button, matching the brief viewer's presentation.
The responsive transform hack is risky. Let me simplify to match the brief viewer's behavior (render at true size, allow horizontal scroll on small screens), avoiding layout bugs.
Now let me delete the obsolete section components that are no longer imported, and verify nothing else references them.
No remaining references. Let me delete the orphaned section files.
Let me verify the dependencies exist and the page renders correctly in the browser.
Dependencies are present. Let me verify the page renders in the browser.
The cover renders well. Let me test the PDF download and check a couple more pages.
Button returned to idle state (no stuck loading). Let me confirm no export errors and spot-check the inner pages visually.
Both the cover and interior pages render correctly, and the PDF export completed without getting stuck. Let me do a final check of the debug logs to confirm there were no export errors.
The logs confirm the PDF export ran cleanly — each page is cloned and rendered at 1060×1056 with no errors, capturing all 9 pages in sequence.
I redesigned the uMortgage proposal to mirror the brief's downloadable architecture: it's now a vertical stack of nine fixed-size (1060×1056) violet-branded pages, each wrapped in a UMPageShell with a logo header and page-number footer. A gradient "Download PDF" button (UMDownloadPdfButton) captures each um-page-N element via html2canvas-pro and assembles them into umortgage-proposal-think-whale.pdf using jsPDF — the same proven mechanism as the existing brief. The old continuous-scroll section components were reflowed into the new paged layout (pages.tsx) and the obsolete files removed.
In the new umortgage thing, instead of text like "What we bring to Mortgage Companies" it should be "What we bring to uMortgage". Any other text like that can be changed.
Lastly, I want the entire umortgage thing on the same tab system as the other ones like high tech brief, I dont want it seperated
I'll tackle both: personalize the generic copy to "uMortgage", and fold the proposal into the main tab system. Let me read the relevant files first.
Let me find all generic "mortgage companies" phrasing and read the rest of pages.tsx plus the umortgage page/download files.
Now let me read the umortgage-page wrapper and page-shell to plan the tab integration.
Let me read the uMortgage download button before integrating.
Now I'll make the text edits in pages.tsx to personalize to uMortgage.
Now the tab integration. First, add the uMortgage imports to brief-viewer.
Now add the UM pages array and adjust the version-pages typing.
Now update the BriefViewer body to branch for uMortgage rendering, background, and download button.
Now the page mapping — branch to render uMortgage pages wrapped in the shell.
Now update the VersionToggle: add the uMortgage tab and remove the separate link button.
Now give the uMortgage tab a purple active state and remove the separate link button.
Now remove the separate uMortgage Proposal link button (now redundant since it's a tab).
Let me verify no stale references remain and the file is consistent.
No stale references. Now let me verify in the browser — switch to the uMortgage tab.
The uMortgage Proposal is now a fourth tab with a purple active state, rendering inline within the same tab system (no separate page), with its own purple "Download PDF" button. Let me confirm the "What We Bring to uMortgage" text on page 2.
Both changes are done and verified. I personalized the generic copy in components/umortgage/pages.tsx — "What We Bring to Mortgage Companies" is now "What We Bring to uMortgage," and the hero and subhead lines now say "helps uMortgage" instead of "helps mortgage companies." I also folded the uMortgage proposal into the main BriefViewer tab system as a fourth tab (with a purple active state and its own purple Download PDF export targeting the um-page-* ids), so it's no longer a separate /umortgage page — selecting the tab renders the full nine-page proposal inline alongside the other briefs.