'use client'; import { useEffect, useRef, useState } from 'react'; import { ArrowUpRight, Headphones, DollarSign, Clock } from 'lucide-react'; import Image from 'next/image'; import Link from 'next/link'; import * as Badge from '@/components/ui/badge'; import * as Button from '@/components/ui/button'; import * as LinkButton from '@/components/ui/link-button'; type TabKey = 'banking' | 'investments' | 'fintech'; const tabsData: { id: TabKey; label: string }[] = [ { id: 'banking', label: 'Banking' }, { id: 'investments', label: 'Investments' }, { id: 'fintech', label: 'Fintech' }, ]; const jobsData: Record< TabKey, { id: string; title: string; description: string; country: string; countryFlag: string; employmentType: string; salary: string; applyUrl: string; }[] > = { banking: [ { id: 'bank1', title: 'Engineering Manager', description: 'Lead a team of engineers and deliver great experiences.', country: 'Germany', countryFlag: 'https://alignui.com/images/blocks/flags/de.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, { id: 'bank2', title: 'Fintech UI/UX Designer', description: 'Design intuitive banking apps for better user trust.', country: 'United States', countryFlag: 'https://alignui.com/images/blocks/flags/us.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, { id: 'bank3', title: 'Blockchain Solutions Engineer', description: 'Develop scalable blockchain solutions for finance.', country: 'Brazil', countryFlag: 'https://alignui.com/images/blocks/flags/br.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, ], investments: [ { id: 'inv1', title: 'Investments Analyst', description: 'Analyze financial data and make investment decisions.', country: 'Germany', countryFlag: 'https://alignui.com/images/blocks/flags/de.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, { id: 'inv2', title: 'Financial Risk Manager', description: 'Manage financial risks and ensure compliance.', country: 'United States', countryFlag: 'https://alignui.com/images/blocks/flags/us.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, { id: 'inv3', title: 'Digital Asset Manager', description: 'Manage digital assets and ensure security.', country: 'Brazil', countryFlag: 'https://alignui.com/images/blocks/flags/br.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, ], fintech: [ { id: 'fin1', title: 'Fintech Product Manager', description: 'Manage fintech products and ensure user satisfaction.', country: 'Germany', countryFlag: 'https://alignui.com/images/blocks/flags/de.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, { id: 'fin2', title: 'Fintech UI/UX Designer', description: 'Design intuitive banking apps for better user trust.', country: 'United States', countryFlag: 'https://alignui.com/images/blocks/flags/us.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, { id: 'fin3', title: 'Blockchain Solutions Engineer', description: 'Develop scalable blockchain solutions for finance.', country: 'Brazil', countryFlag: 'https://alignui.com/images/blocks/flags/br.svg', employmentType: 'Full-time', salary: '$100 - $120', applyUrl: '/', }, ], }; export default function FintechCareersFeaturedList() { const [activeTab, setActiveTab] = useState('banking'); const containerRef = useRef(null); const buttonRefs = useRef>({ banking: null, investments: null, fintech: null, }); const [thumbLeft, setThumbLeft] = useState(4); const [thumbWidth, setThumbWidth] = useState(0); const repositionThumb = () => { const container = containerRef.current; const activeEl = buttonRefs.current[activeTab]; if (!container || !activeEl) return; const containerRect = container.getBoundingClientRect(); const activeRect = activeEl.getBoundingClientRect(); const left = activeRect.left - containerRect.left + 0; setThumbLeft(left); setThumbWidth(activeRect.width); }; useEffect(() => { repositionThumb(); const handle = () => repositionThumb(); window.addEventListener('resize', handle); const id = window.setInterval(repositionThumb, 250); return () => { window.removeEventListener('resize', handle); window.clearInterval(id); }; }, [activeTab]); return (
Join our finance team

Exciting roles in modern finance

Drive innovation in secure banking and digital payments.

{tabsData.map((tab) => ( ))}
{tabsData.map((tab) => (
{jobsData[tab.id]?.map((job) => (
{job.title}
{job.description}
{job.country} {job.country}
・
{job.employmentType}
・
{job.salary}
Apply
))}
))}
Streamline hiring and onboarding today Learn more
); }