'use client'; import React from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { Minus, Plus } from 'lucide-react'; import * as CompactButton from '@/components/ui/compact-button'; import { cn } from '@/utils/cn'; type AccordionSectionProps = { value: string; title: string; steps: string[]; isLast?: boolean; }; const AccordionSection = ({ value, title, steps, isLast = false, }: AccordionSectionProps) => (
{title}
{steps}
); const SignupAccordion = () => { const sections: AccordionSectionProps[] = [ { value: 'web', title: 'Web Browser', steps: [ 'Go to our website', 'Click on Sign Up button', 'Choose your target language', 'Complete registration', ], }, { value: 'mobile', title: 'Mobile App', steps: [ 'Download the app from the App Store or Google Play.', 'Open the app and tap Sign up.', 'Choose your target language and current proficiency level.', 'Select a subscription plan.', 'Sign in with your Apple or Google account.', ], }, { value: 'tablet', title: 'Tablet Devices', steps: [ 'Download tablet version', 'Install the app', 'Follow registration steps', ], }, { value: 'tv', title: 'Smart TV', steps: [ 'Open Smart TV app store', 'Search for our app', 'Install and launch', ], }, ]; return (

How to sign up for the app?

Follow the steps for your preferred device below.

{sections.map((section, index) => ( ))}
); }; const Divider = ({ className }: { className?: string }) => { return (
); }; const AccordionItem = ({ children, value, isLast, }: { children: React.ReactNode; value: string; isLast: boolean; }) => ( {children} {!isLast && } ); const AccordionTrigger = ({ children }: { children: React.ReactNode }) => { return (
(
)} /> (
)} />
{children}
); }; const AccordionContent = ({ children }: { children: React.ReactNode }) => { return (
    {(children as string[]).map((step: string, index: number) => (
  1. {index + 1}
    {step}
  2. ))}
); }; export default SignupAccordion;