feat(legal): add /policies, /contact, /promotions for Stripe verification
Adds the consolidated Customer Policies doc covering customer service contact, return / refund / dispute policy, cancellation policy, U.S. legal and export restrictions, and promotional terms. Companion /contact page surfaces the business phone (470) 949-4131 alongside the support/sales/billing/security inboxes and target response SLAs. /promotions page exists as a stub so the cross-reference in Policies §6.2 is live; it states no promotions are currently active and will be appended to when offers run. Refresh Privacy and Terms footers to point at /contact + /policies and drop the stale hello@ mailto. Landing footer now exposes Privacy / Terms / Policies / Contact links so Stripe's site review can reach them in one hop from the marketing surface. Mailing address is deferred until a P.O. Box is set up — left as an in-source TODO and displayed publicly as "available on request" so we don't ship a placeholder address. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,9 @@ const PrivacyPage = lazyWithRetry(() => import('@/pages/PrivacyPage'))
|
||||
const TermsPage = lazyWithRetry(() => import('@/pages/TermsPage'))
|
||||
const PricingPage = lazyWithRetry(() => import('@/pages/PricingPage'))
|
||||
const ContactSalesPage = lazyWithRetry(() => import('@/pages/ContactSalesPage'))
|
||||
const ContactPage = lazyWithRetry(() => import('@/pages/ContactPage'))
|
||||
const PoliciesPage = lazyWithRetry(() => import('@/pages/PoliciesPage'))
|
||||
const PromotionsPage = lazyWithRetry(() => import('@/pages/PromotionsPage'))
|
||||
|
||||
// Standalone auth pages
|
||||
const VerifyEmailPage = lazyWithRetry(() => import('@/pages/VerifyEmailPage'))
|
||||
@@ -145,6 +148,21 @@ export const router = sentryCreateBrowserRouter([
|
||||
element: page(ContactSalesPage),
|
||||
errorElement: <RouteError />,
|
||||
},
|
||||
{
|
||||
path: '/contact',
|
||||
element: page(ContactPage),
|
||||
errorElement: <RouteError />,
|
||||
},
|
||||
{
|
||||
path: '/policies',
|
||||
element: page(PoliciesPage),
|
||||
errorElement: <RouteError />,
|
||||
},
|
||||
{
|
||||
path: '/promotions',
|
||||
element: page(PromotionsPage),
|
||||
errorElement: <RouteError />,
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
element: <LoginPage />,
|
||||
|
||||
Reference in New Issue
Block a user