BalanceSwitcher.tsx raw
1 import { BitcoinIcon, type LucideIcon, ZapIcon } from "lucide-react";
2 import { Link } from "react-router";
3 import { Tabs, TabsList, TabsTrigger } from "src/components/ui/tabs";
4
5 type Mode = "lightning" | "onchain";
6
7 const items: { mode: Mode; to: string; label: string; Icon: LucideIcon }[] = [
8 { mode: "lightning", to: "/wallet", label: "Lightning", Icon: ZapIcon },
9 {
10 mode: "onchain",
11 to: "/wallet/onchain",
12 label: "On-chain",
13 Icon: BitcoinIcon,
14 },
15 ];
16
17 export function BalanceSwitcher({ active }: { active: Mode }) {
18 return (
19 <Tabs value={active}>
20 <TabsList>
21 {items.map(({ mode, to, label, Icon }) => (
22 <TabsTrigger key={mode} value={mode} asChild>
23 <Link to={to}>
24 <Icon />
25 {label}
26 </Link>
27 </TabsTrigger>
28 ))}
29 </TabsList>
30 </Tabs>
31 );
32 }
33