Skip to content

Commit b45ba0d

Browse files
kien-ngoMananTank
authored andcommitted
Update
1 parent cf36a33 commit b45ba0d

File tree

7 files changed

+491
-308
lines changed

7 files changed

+491
-308
lines changed

apps/dashboard/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"@radix-ui/react-separator": "^1.1.0",
4646
"@radix-ui/react-slot": "^1.1.0",
4747
"@radix-ui/react-switch": "^1.1.1",
48+
"@radix-ui/react-tabs": "^1.1.1",
4849
"@radix-ui/react-tooltip": "1.1.3",
4950
"@sentry/nextjs": "8.35.0",
5051
"@shazow/whatsabi": "^0.15.4",

apps/dashboard/src/@/components/ui/tabs.tsx

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
"use client";
22

3+
import * as TabsPrimitive from "@radix-ui/react-tabs";
4+
import * as React from "react";
5+
36
import { useIsomorphicLayoutEffect } from "@/lib/useIsomorphicLayoutEffect";
47
import { cn } from "@/lib/utils";
58
import Link from "next/link";
@@ -8,6 +11,55 @@ import { useCallback, useRef, useState } from "react";
811
import { ScrollShadow } from "./ScrollShadow/ScrollShadow";
912
import { Button } from "./button";
1013

14+
const Tabs = TabsPrimitive.Root;
15+
16+
const TabsList = React.forwardRef<
17+
React.ElementRef<typeof TabsPrimitive.List>,
18+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
19+
>(({ className, ...props }, ref) => (
20+
<TabsPrimitive.List
21+
ref={ref}
22+
className={cn(
23+
"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
24+
className,
25+
)}
26+
{...props}
27+
/>
28+
));
29+
TabsList.displayName = TabsPrimitive.List.displayName;
30+
31+
const TabsTrigger = React.forwardRef<
32+
React.ElementRef<typeof TabsPrimitive.Trigger>,
33+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
34+
>(({ className, ...props }, ref) => (
35+
<TabsPrimitive.Trigger
36+
ref={ref}
37+
className={cn(
38+
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 font-medium text-sm ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
39+
className,
40+
)}
41+
{...props}
42+
/>
43+
));
44+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
45+
46+
const TabsContent = React.forwardRef<
47+
React.ElementRef<typeof TabsPrimitive.Content>,
48+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
49+
>(({ className, ...props }, ref) => (
50+
<TabsPrimitive.Content
51+
ref={ref}
52+
className={cn(
53+
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
54+
className,
55+
)}
56+
{...props}
57+
/>
58+
));
59+
TabsContent.displayName = TabsPrimitive.Content.displayName;
60+
61+
export { Tabs, TabsList, TabsTrigger, TabsContent };
62+
1163
export type TabLink = {
1264
name: string;
1365
href: string;

apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/components/airdrop-tab.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ const AirdropTab: React.FC<AirdropTabProps> = ({ contract, tokenId }) => {
137137
setAirdrop={(value) =>
138138
setValue("addresses", value, { shouldDirty: true })
139139
}
140+
removeDuplicateAddresses={true}
140141
/>
141142
</SheetContent>
142143
</Sheet>

0 commit comments

Comments
 (0)