61 lines
2.3 KiB
TypeScript
61 lines
2.3 KiB
TypeScript
'use client';
|
|
|
|
import { WalletSummaryPanel } from '@/components/leagues/WalletSummaryPanel';
|
|
import type { LeagueWalletViewData } from '@/lib/view-data/leagues/LeagueWalletViewData';
|
|
import {
|
|
SharedBox,
|
|
SharedButton,
|
|
SharedStack,
|
|
SharedText,
|
|
SharedIcon,
|
|
SharedContainer
|
|
} from '@/components/shared/UIComponents';
|
|
import { Heading } from '@/ui/Heading';
|
|
import { Download } from 'lucide-react';
|
|
import { TemplateProps } from '@/lib/contracts/components/ComponentContracts';
|
|
|
|
interface LeagueWalletTemplateProps extends TemplateProps<LeagueWalletViewData> {
|
|
onWithdraw?: (amount: number) => void;
|
|
onExport?: () => void;
|
|
mutationLoading?: boolean;
|
|
transactions: any[];
|
|
}
|
|
|
|
export function LeagueWalletTemplate({ viewData, onExport, transactions }: LeagueWalletTemplateProps) {
|
|
return (
|
|
<SharedContainer size="lg">
|
|
<SharedBox paddingY={8}>
|
|
{/* Header */}
|
|
<SharedBox display="flex" alignItems="center" justifyContent="between" mb={8}>
|
|
<SharedBox>
|
|
<Heading level={1}>League Wallet</Heading>
|
|
<SharedText color="text-gray-400">Manage your league's finances and payouts</SharedText>
|
|
</SharedBox>
|
|
<SharedButton variant="secondary" onClick={onExport}>
|
|
<SharedStack direction="row" align="center" gap={2}>
|
|
<SharedIcon icon={Download} size={4} />
|
|
<SharedText>Export</SharedText>
|
|
</SharedStack>
|
|
</SharedButton>
|
|
</SharedBox>
|
|
|
|
<WalletSummaryPanel
|
|
formattedBalance={viewData.formattedBalance}
|
|
currency="USD"
|
|
transactions={viewData.transactions}
|
|
onDeposit={() => {}} // Not implemented for leagues yet
|
|
onWithdraw={() => {}} // Not implemented for leagues yet
|
|
/>
|
|
|
|
{/* Alpha Notice */}
|
|
<SharedBox mt={6} rounded="lg" bg="bg-warning-amber/10" border borderColor="border-warning-amber/30" p={4}>
|
|
<SharedText size="xs" color="text-gray-400">
|
|
<SharedText weight="bold" color="text-warning-amber">Alpha Note:</SharedText> Wallet management is demonstration-only.
|
|
Real payment processing and bank integrations will be available when the payment system is fully implemented.
|
|
</SharedText>
|
|
</SharedBox>
|
|
</SharedBox>
|
|
</SharedContainer>
|
|
);
|
|
}
|