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