import SectionContainer from '~/components/Layouts/SectionContainer' import Panel from '~/components/Panel' import { getAnimation, INITIAL_BOTTOM } from '~/lib/animations' import { domAnimation, LazyMotion, m, useInView } from 'framer-motion' import { ArrowUpRight } from 'lucide-react' import Link from 'next/link' import { ReactNode, useRef } from 'react' import { Button } from 'ui' interface UseCase { img?: string title: string description: string icon?: string cta?: { label?: string link: string isDisabled?: boolean } } interface Props { title: string | ReactNode paragraph: string | ReactNode useCases: UseCase[] } const UseCasesSection = ({ title, paragraph, useCases }: Props) => { const ref = useRef(null) const isInView = useInView(ref, { margin: '-25%', once: true }) return (

{title}

{paragraph}

{useCases.map((useCase, i) => { return })}
) } const UseCase = ({ useCase, index, isInView, }: { useCase: UseCase index: number isInView: boolean }) => { const initial = INITIAL_BOTTOM const animate = getAnimation({ delay: index * 0.1 }) return (

{useCase.title}

{useCase.description}

{useCase.cta && (useCase.cta.isDisabled ? ( ) : ( ))}
) } export default UseCasesSection