'use client'; import { useCallback, useEffect, useLayoutEffect, useRef, useState, } from 'react'; import { ArrowLeftRight, ArrowUpRight, CircleCheckBig, LayoutGrid, Play, Settings2, } from 'lucide-react'; import Image from 'next/image'; import NewBadgeStrokeAnnouncement from '@/components/landing-page-blocks/announcement/new-badge-stroke-announcement'; import ApexActionMegaMenuHeader from '@/components/landing-page-blocks/navigation/apex-action-mega-menu-header'; import * as Badge from '@/components/ui/badge'; import * as Button from '@/components/ui/button'; import * as FancyButton from '@/components/ui/fancy-button'; import { cn } from '@/utils/cn'; const brands = [ { src: 'https://alignui.com/images/blocks/hero-1-brand-1-400.svg', darkSrc: 'https://alignui.com/images/blocks/hero-1-brand-1-400-dark.svg', alt: 'Synergy', }, { src: 'https://alignui.com/images/blocks/hero-1-brand-2-400.svg', darkSrc: 'https://alignui.com/images/blocks/hero-1-brand-2-400-dark.svg', alt: 'Horizon', }, { src: 'https://alignui.com/images/blocks/hero-1-brand-3-400.svg', darkSrc: 'https://alignui.com/images/blocks/hero-1-brand-3-400-dark.svg', alt: 'Catalyst', }, { src: 'https://alignui.com/images/blocks/hero-1-brand-4-400.svg', darkSrc: 'https://alignui.com/images/blocks/hero-1-brand-4-400-dark.svg', alt: 'Phoenix', }, { src: 'https://alignui.com/images/blocks/hero-1-brand-6-400.svg', darkSrc: 'https://alignui.com/images/blocks/hero-1-brand-6-400-dark.svg', alt: 'Solaris', }, ]; const features = [ 'Monitor live fund flow', 'Review monthly outflows', 'Detect unusual activity', ]; const tabs = [ { icon: LayoutGrid, label: 'Overview' }, { icon: Settings2, label: 'Settings' }, { icon: ArrowLeftRight, label: 'Payment' }, ]; function HeroBadge() { return (
NEW All accounts, global access
); } function Tabs({ active, onChange, }: { active: number; onChange: (index: number) => void; }) { const tabRefs = useRef<(HTMLButtonElement | null)[]>([]); const [indicator, setIndicator] = useState({ left: 0, top: 0, width: 0, height: 0, }); const measure = useCallback(() => { const element = tabRefs.current[active]; if (element) { setIndicator({ left: element.offsetLeft, top: element.offsetTop, width: element.offsetWidth, height: element.offsetHeight, }); } }, [active]); useLayoutEffect(measure, [measure]); useEffect(() => { window.addEventListener('resize', measure); return () => window.removeEventListener('resize', measure); }, [measure]); return (
{tabs.map((tab, index) => ( ))}
); } export default function FinanceDataHubHero() { const [active, setActive] = useState(1); return (

All your finance data, one hub

Manage transfers, insights, and audits seamlessly in one place for smarter financial control.

Launch the portal View the process
{features.map((feature) => (
{feature}
))}
Finance dashboard Finance dashboard

Trusted solutions for global finance

{brands.map((brand) => (
{brand.alt} {brand.alt}
))}
); }