import type { InfoItem, LinkItem, LocalizedStepContent, QaItem, QuoteItem, StepImage, } from '@funnelsgrove/runtime'; export type StepPaywallLocaleContent = { catalogLabels: Record; loadingLabel: string; topBarDiscountLabel: string; topBarCtaLabel: string; countdownUnits: readonly string[]; countdownAriaTemplate: string; selectedPlanLabel: string; refundPolicyLabel: string; hero: { pills: readonly string[]; image: StepImage; }; promo: { ariaLabel: string; initialLabel: string; upgradedLabel: string; }; highlight: { title: readonly string[]; description: string; }; plans: { title: string; cardButtonLabel: string; metaLabels: readonly string[]; stripeUnavailableNote: string; perDayLabel: string; }; checkout: { title: string; summaryTitle: string; closeAriaLabel: string; walletPlaceholderLabel: string; googlePayPlaceholderLabel: string; walletButtonLabel: string; customerEmailLabel: string; customerEmailPlaceholder: string; customerEmailInvalidMessage: string; emailPromptTitle: string; emailPromptDescription: string; emailPromptSubmitLabel: string; emailPromptCancelLabel: string; countdownLabel: string; satisfactionPercent: string; satisfactionLabel: string; originalPriceLabel: string; discountLabelTemplate: string; discountRowLabelTemplate: string; promoCodeLabel: string; savedLabelTemplate: string; totalLabel: string; summaryGuaranteeLabel: string; submitLabel: string; cardSubmitLabel: string; paypalLabel: string; paypalButtonLabel: string; processingLabel: string; secureLabel: string; poweredByLabel: string; paymentMethodLabels: readonly string[]; legalPrefix: string; legalLinks: readonly LinkItem[]; supportText: string; renewalTemplate: string; renewalConsentTemplate: string; discountedIntroLabel: string; selectedIntroLabel: string; cadenceFallback: string; cadence: Record<'day' | 'week' | 'month' | 'year', { one: string; many: string }>; specialOffer: { image: StepImage; discountLabel: string; title: string; description: string; buttonLabel: string; }; }; featureGrid: { title: readonly string[]; subtitle: string; assistant: InfoItem; quickFeatures: readonly InfoItem[]; }; stories: { title: string; items: readonly QuoteItem[]; }; faq: { title: string; items: readonly QaItem[]; }; guarantee: { image: StepImage; title: string; description: string; links: readonly LinkItem[]; detailsSuffix: string; }; }; export const stepPaywallContent = { defaultLocale: 'en', locales: { en: { catalogLabels: { "1-Week Plan": "1-Week Plan", "1-Month Plan": "1-Month Plan", "1-Year Plan": "1-Year Plan", "🔥 Most Popular Choice": "🔥 Most Popular Choice", "$7.99/week": "$7.99/week", "$9.99/week": "$9.99/week", "$29.99/month": "$29.99/month", "$59.99/year": "$59.99/year", "$7.99 today": "$7.99 today", "$9.99 today": "$9.99 today", "$29.99 today": "$29.99 today", "$59.99 today": "$59.99 today", }, loadingLabel: 'Loading...', topBarDiscountLabel: '⏰ Discount Expires in', topBarCtaLabel: 'GET MY PLAN', countdownUnits: ['minutes', 'seconds'], countdownAriaTemplate: 'Time left {minutes} minutes {seconds} seconds', selectedPlanLabel: 'Selected plan', refundPolicyLabel: 'refund policy', hero: { pills: ['Find hidden money and', "claim what's yours"], image: { src: '', alt: '', }, }, promo: { ariaLabel: 'Applied promo code', initialLabel: '% Your promo code applied!', upgradedLabel: 'New promo code applied!', }, highlight: { title: ['Get money you', 'didn’t know about'], description: 'Discover settlement payouts you’re owed from past purchases. The app finds them for you.', }, plans: { title: 'Choose your plan', perDayLabel: 'per day', cardButtonLabel: 'GET MY PLAN', metaLabels: ['Money-back guarantee', 'Cancel anytime'], stripeUnavailableNote: 'Stripe publishable key is not available in this app runtime. Update the project payment environment variables or make sure your SDK publishable key maps to a funnel with Stripe settings.', }, checkout: { title: 'Checkout', summaryTitle: 'Order summary', closeAriaLabel: 'Close checkout', walletPlaceholderLabel: 'Subscribe with Apple Pay', googlePayPlaceholderLabel: 'Subscribe with Google Pay', walletButtonLabel: 'Apple Pay', customerEmailLabel: 'Email', customerEmailPlaceholder: 'Enter your email', customerEmailInvalidMessage: 'Enter a valid email address to continue.', emailPromptTitle: 'Update your email', emailPromptDescription: 'Stripe could not use this email. Enter a different address to continue with payment.', emailPromptSubmitLabel: 'Continue', emailPromptCancelLabel: 'Cancel', countdownLabel: 'Discount expires in', satisfactionPercent: '91%', satisfactionLabel: 'of users are satisfied with the plan and stay with us after its completion', originalPriceLabel: 'Regular Price', discountLabelTemplate: '{percent}% OFF', discountRowLabelTemplate: 'Your {percent}% Discount', promoCodeLabel: 'Applied promo code:', savedLabelTemplate: 'You just saved {amount} ({percent}% OFF)', totalLabel: 'Total', summaryGuaranteeLabel: '30 days moneyback guarantee. Cancel anytime.', submitLabel: 'CONTINUE', cardSubmitLabel: 'Confirm payment', paypalLabel: 'PayPal', paypalButtonLabel: 'PayPal Buy Now', processingLabel: 'PROCESSING...', secureLabel: 'Pay safe & secure', poweredByLabel: 'Powered by Stripe', paymentMethodLabels: ['Visa', 'Mastercard', 'Maestro', 'Discover'], legalPrefix: 'By proceeding you agree to our', legalLinks: [ { id: 'terms', label: 'Terms of Service', href: '/terms', }, { id: 'privacy', label: 'Privacy Policy', href: '/privacy', }, { id: 'subscription-policy', label: 'Subscription Policy', href: '/subscription-policy', }, ], supportText: 'Need help? Contact us at', renewalConsentTemplate: 'Without cancellation, before the {intro} ends, I accept that the app will automatically charge {amount} {cadence} until I cancel. Cancel online via the profile on the website or app.', discountedIntroLabel: 'discounted intro plan', selectedIntroLabel: 'selected plan', cadenceFallback: 'on your selected billing schedule', cadence: { day: { one: 'every day', many: 'every {count} days' }, week: { one: 'every week', many: 'every {count} weeks' }, month: { one: 'every month', many: 'every {count} months' }, year: { one: 'every year', many: 'every {count} years' }, }, renewalTemplate: "You'll be charged {amount} today for your selected plan. Your subscription renews automatically unless cancelled at least 24 hours before renewal date.", specialOffer: { image: { src: 'data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22160%22 height=%22120%22 viewBox=%220 0 160 120%22%3E%3Crect x=%2240%22 y=%2242%22 width=%2280%22 height=%2260%22 rx=%2214%22 fill=%22%234361ee%22/%3E%3Cpath d=%22M80 42v60M38 62h84%22 stroke=%22white%22 stroke-width=%228%22/%3E%3Cpath d=%22M78 41c-21 0-30-23-12-23 10 0 14 12 14 23Zm4 0c21 0 30-23 12-23-10 0-14 12-14 23Z%22 fill=%22none%22 stroke=%22%234361ee%22 stroke-width=%228%22/%3E%3C/svg%3E', alt: 'Gift box', }, discountLabel: '-46%', title: 'Special Offer', description: 'We want you to feel loved and happy so we are offering you a discount to try our proven learning program', buttonLabel: 'GET DISCOUNT', }, }, featureGrid: { title: ['Find, track, and claim', 'in one place'], subtitle: 'One app shows all your options and helps you complete real claims for real payouts', assistant: { id: 'assistant', title: 'AI claim assistant', }, quickFeatures: [ { id: 'eligibility', title: 'Get instant\neligibility checks', }, { id: 'potential', title: 'See how much\nyou could claim', }, { id: 'settlements', title: '100+ new\nsettlements found\nevery month', }, { id: 'unlimited', title: 'Unlimited\nclaim checks', }, ], }, stories: { title: 'Stories from our users', items: [ { id: 'elizabeth', quote: 'I realized the app saves me more money than it costs - this pays for itself', author: 'Elizabeth L.', }, { id: 'tom', quote: 'These are settlements I never saw anywhere online - I would’ve missed all of this.', author: 'Tom J.', }, { id: 'maria', quote: 'It just told me instantly whether I’m eligible - no reading the legal stuff myself.', author: 'Maria G.', }, { id: 'alex', quote: 'All I did was confirm and click - it handled the rest.', author: 'Alex M.', }, { id: 'peter', quote: 'The app told me about money I was owed even though my friends and social feeds never mentioned it.', author: 'Peter P.', }, { id: 'michael', quote: 'Even if I unsubscribe, I feel like I got my money’s worth with just one claim.', author: 'Michael M.', }, ], }, faq: { title: 'More things you might want to know', items: [ { id: 'faq-lawsuits', question: 'Do you only cover the big, famous lawsuits, or do you track smaller ones too?', answer: 'We track it all. From massive data breaches to niche product recalls and local class actions, our database is comprehensive.\n\nOur goal is your complete financial security regarding owed compensation, so if there is an eligible settlement active in your region, we aim to have it in the app, regardless of how "famous" the case is.', }, { id: 'faq-receipt', question: 'What if there’s a settlement for an item I bought years ago and I don’t have the receipt?', answer: 'Don’t worry, this is very common. Many settlements do not require proof of purchase for smaller claim amounts.\n\nThe app can also help you search your connected digital history for records you might have forgotten existed, helping you "restore" a claim you might have otherwise abandoned.', }, { id: 'faq-scam', question: 'This sounds too good to be true. Is this a scam or a "free money" scheme?', answer: 'Not at all. We aren’t generating "free money"; we are simply helping you claim money that is already yours legally.\n\nThe app is a tool that organizes this fragmented legal data to make the process accessible, transparent, and manageable for you.', }, { id: 'faq-approval', question: 'If I file through an app, is my claim less likely to be approved than if I filed on the official website?', answer: 'No. When you submit through the app, we generate the exact information and forms required by the settlement administrator.\n\nThe legal validity is the same; we just make the experience of filling it out much faster and less prone to errors than the manual method.', }, { id: 'faq-fees', question: 'Are there hidden fees? Will you take a cut of my small settlement?', answer: 'We believe in total transparency. We do not take a surprise commission from your settlement checks.\n\nOur business model is upfront (e.g., subscription or freemium features), ensuring that the money you claim stays in your pocket.', }, ], }, guarantee: { detailsSuffix: 'for details and limitations.', image: { src: '/paywall/money-back-badge.jpg', alt: '30 day money back guarantee badge', }, title: 'Money-Back guarantee', description: 'We’re confident in our service and results. If you’re not satisfied, let us know within 30 days of purchase for a full refund. You must demonstrate that you followed the program. See our', links: [ { id: 'refund-policy', label: 'refund policy', href: '/refund-policy', }, ], }, }, }, } as const satisfies LocalizedStepContent;