import React, { useState } from 'react';
import { Plus, Shield, Globe, Lock, Unlock, Settings2, Trash2, X, CreditCard, Loader2, CheckCircle2, ChevronRight, MapPin, Activity } from 'lucide-react';
const CardVisual = ({ holder, number, balance, type, frozen }: any) => (
{number}
Threshold
${balance.toLocaleString()}
);
const Cards: React.FC = () => {
const [cards, setCards] = useState([
{ id: '1', holder: 'ALEX RIVERA', number: '•••• •••• •••• 7899', balance: 50000, type: 'Rewards+', frozen: false, regions: ['US', 'EU', 'UK'] },
{ id: '2', holder: 'ALEX RIVERA', number: '•••• •••• •••• 1035', balance: 120000, type: 'Elite Savings', frozen: false, regions: ['US', 'SG'] },
]);
const [isModalOpen, setIsModalOpen] = useState(false);
const [isLimitsOpen, setIsLimitsOpen] = useState(false);
const [isRegionsOpen, setIsRegionsOpen] = useState(false);
const [activeCardId, setActiveCardId] = useState(null);
const [isIssuing, setIsIssuing] = useState(false);
const [newCardType, setNewCardType] = useState('Rewards+');
const [tempLimit, setTempLimit] = useState('');
const toggleFreeze = (id: string) => {
setCards(prev => prev.map(c => c.id === id ? { ...c, frozen: !c.frozen } : c));
};
const updateLimit = () => {
if (!activeCardId || !tempLimit) return;
setCards(prev => prev.map(c => c.id === activeCardId ? { ...c, balance: parseFloat(tempLimit) } : c));
setIsLimitsOpen(false);
setTempLimit('');
};
const toggleRegion = (region: string) => {
if (!activeCardId) return;
setCards(prev => prev.map(c => {
if (c.id === activeCardId) {
const regions = c.regions.includes(region)
? c.regions.filter(r => r !== region)
: [...c.regions, region];
return { ...c, regions };
}
return c;
}));
};
const handleIssueCard = () => {
setIsIssuing(true);
setTimeout(() => {
const newCard = {
id: Date.now().toString(),
holder: 'ALEX RIVERA',
number: `•••• •••• •••• ${Math.floor(1000 + Math.random() * 9000)}`,
balance: newCardType === 'Rewards+' ? 50000 : 250000,
type: newCardType,
frozen: false,
regions: ['US']
};
setCards(prev => [...prev, newCard]);
setIsIssuing(false);
setIsModalOpen(false);
}, 1500);
};
return (
Elite Instruments
Institutional Spend Nodes & Routing Policy Control
{cards.map(card => (
Registry Integrity
{card.frozen ? 'SUSPENDED' : 'OPERATIONAL'}
))}
{/* New Card Modal */}
{isModalOpen && (
Issue New Card
Quantum Foundry Authorization
)}
{/* Limits Modal */}
{isLimitsOpen && (
)}
{/* Regions Modal */}
{isRegionsOpen && activeCardId && (
{['US', 'EU', 'UK', 'SG', 'JP', 'AU', 'CA', 'BR'].map(reg => (
))}
)}
);
};
export default Cards;