Bug Fixes
- use Uint8Array with ArrayBuffer for proper TS typing
- remove debug logging from test-lead-email route
- respect isCustomBrochure flag in attachment logic
- adjust testimonial layout for improved styling and responsiveness
- remove services section and unused import from print page
- sanitize coverLetter HTML with DOMPurify in print page
- hide PracticeStacks footer on firm profile pages
- show template header with Add Template button in email templates tab
- use const instead of let for immutable variable in brochure attachment
- hide PracticeStacks navbar on firm profile pages
- avoid dev server deadlock by pre-fetching HTML and inlining resources
- return direct S3 URL in development instead of CDN
- skip brochure auto-regen when custom brochure is uploaded
- use print page for brochure preview to avoid CDN iframe blocking
Features
- add brochure PDF generation and status endpoint
- include profileSlug in ownBusiness session data
- add PDF preview endpoint that proxies S3 file for inline viewing
- add custom PDF upload and delete endpoints
- add business profile cache tags and invalidation
- attach firm brochure PDF to daily lead emails
- attach firm brochure PDF to daily proposal notifications
- attach firm brochure PDF to monthly compliance initial emails
- attach firm brochure PDF to monthly compliance reminder emails
- add attachments support to proposal, lead, and compliance emails
- attach firm brochure PDF to lead email if available
- auto-generate brochure PDF if missing and download via S3 SDK
- add dynamic favicon using business logo
- add dynamic OG image with business banner and logo
- add public firm profile page with print layout and loading skeleton
- add SEO metadata, owner card, dynamic favicon, remove services section
- apply brand color theming, fix HTML rendering, redesign testimonials with accent bars and quote marks
- add brochure PDF attachment helper for outgoing emails
- add business profile data fetcher with ISR caching
- add firm brochure PDF generation via html2pdf API
- add Puppeteer PDF generation for local dev alongside html2pdf.app API for production
- replace services with owner data in business profile query
- add business profile fields with slug backfill for firm businesses
- attach firm brochure PDF to proposal notification emails
- add business profile fields for firm page and brochure PDF
- add isCustomBrochure flag to Business model
- add migration for isCustomBrochure column
- add profile slug, tagline, social links, and brochure cache invalidation
- add brochure management section with preview and upload
- add firm profile and social media sections to business settings form
- auto-regenerate brochure PDF in background when business profile is saved
- render BrochureSection below business settings
- add Visit Firm Page link in dropdown menu
- integrate leads data into sidebar with loading badge
- show business logo with name instead of PracticeStacks logo when available
