Public Talk-to-Sales surface and a "See pricing" hero CTA on the marketing landing page. Phase 2 Task 43 of self-serve signup. - frontend/src/api/sales.ts: salesApi.createLead -> POST /sales-leads. - ContactSalesPage at /contact-sales (public, gated by self_serve_enabled with a 404-style fallback). Form fields: name, work email, company, team size (1-2 / 3-5 / 6-10 / 11-25 / 26+), and an optional "what brought you here?" textarea -> message. Submit button disabled while in flight to block duplicate submissions. - Confirmation surface replaces the form on success. Calendly block is hidden when VITE_CALENDLY_URL is unset. - detectSource(): 'pricing_page' if document.referrer contains '/pricing', else 'landing_page'. Server emits the canonical PostHog talk_to_sales_form_submitted event with this source. - LandingPage: new "See pricing" hero CTA gated by useAppConfig(). self_serve_enabled. - frontend/.env.example + Dockerfile: VITE_CALENDLY_URL ARG/ENV. - Tests: ContactSalesPage submit/confirmation, Calendly hide-when-unset, in-flight de-dup, 404 when self-serve off; LandingPage CTA on/off. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
51 lines
2.3 KiB
TypeScript
51 lines
2.3 KiB
TypeScript
export { default as apiClient } from './client'
|
|
export { default as authApi } from './auth'
|
|
export { default as treesApi } from './trees'
|
|
export { default as sessionsApi } from './sessions'
|
|
export { default as inviteApi } from './invite'
|
|
export { default as tagsApi } from './tags'
|
|
export { default as categoriesApi } from './categories'
|
|
export { default as foldersApi } from './folders'
|
|
export { default as stepsApi } from './steps'
|
|
export { default as stepCategoriesApi } from './stepCategories'
|
|
export { default as accountsApi } from './accounts'
|
|
export { default as billingApi } from './billing'
|
|
export { default as plansApi } from './plans'
|
|
export type { PublicPlanResponse } from './plans'
|
|
export { default as salesApi } from './sales'
|
|
export type {
|
|
SalesLeadCreatePayload,
|
|
SalesLeadCreateResponse,
|
|
SalesLeadSource,
|
|
} from './sales'
|
|
export { default as usageApi } from './usage'
|
|
export { default as adminApi } from './admin'
|
|
export { treeMarkdownApi } from './treeMarkdown'
|
|
export { default as analyticsApi } from './analytics'
|
|
export { targetListsApi } from './targetLists'
|
|
export { maintenanceSchedulesApi, batchLaunchApi } from './maintenanceSchedules'
|
|
export { default as feedbackApi } from './feedback'
|
|
export { default as aiBuilderApi } from './aiBuilder'
|
|
export { copilotApi } from './copilot'
|
|
export { assistantChatApi } from './assistantChat'
|
|
export { flowTransferApi } from './flowTransfer'
|
|
export { kbAcceleratorApi } from './kbAccelerator'
|
|
export { scriptsApi } from './scripts'
|
|
export { integrationsApi, sessionPsaApi } from './integrations'
|
|
export { sidebarApi } from './sidebar'
|
|
export { sessionToFlowApi } from './sessionToFlow'
|
|
export { aiSessionsApi } from './aiSessions'
|
|
export { flowProposalsApi } from './flowProposals'
|
|
export { flowpilotAnalyticsApi } from './flowpilotAnalytics'
|
|
export { notificationsApi } from './notifications'
|
|
export { publicTemplatesApi } from './publicTemplates'
|
|
export { uploadsApi, default as uploadsApiDefault } from './uploads'
|
|
export { scriptBuilderApi } from './scriptBuilder'
|
|
export { betaFeedbackApi } from './betaFeedback'
|
|
export { branchesApi } from './branches'
|
|
export { handoffsApi } from './handoffs'
|
|
export { resolutionsApi } from './resolutions'
|
|
export { deviceTypesApi } from './deviceTypes'
|
|
export { networkDiagramsApi } from './networkDiagrams'
|
|
export { ticketsApi } from './tickets'
|