@@ -12,6 +12,7 @@ import { WalletAddress } from "@/components/blocks/wallet-address";
1212import { Button } from "@/components/ui/button" ;
1313import { Spinner } from "@/components/ui/Spinner/Spinner" ;
1414import {
15+ ToolTipLabel ,
1516 Tooltip ,
1617 TooltipContent ,
1718 TooltipProvider ,
@@ -21,6 +22,7 @@ import {
2122 useAllEmbeddedWallets ,
2223 useEmbeddedWallets ,
2324} from "@/hooks/useEmbeddedWallets" ;
25+ import { CopyTextButton } from "../ui/CopyTextButton" ;
2426import { AdvancedSearchInput } from "./AdvancedSearchInput" ;
2527import { SearchResults } from "./SearchResults" ;
2628import { searchUsers } from "./searchUsers" ;
@@ -57,7 +59,24 @@ export function InAppWalletUsersPageContent(
5759 columnHelper . accessor ( "linkedAccounts" , {
5860 cell : ( cell ) => {
5961 const identifier = getUserIdentifier ( cell . getValue ( ) ) ;
60- return < span className = "text-sm" > { identifier } </ span > ;
62+
63+ if ( ! identifier ) {
64+ return "N/A" ;
65+ }
66+
67+ return (
68+ < CopyTextButton
69+ textToShow = {
70+ identifier . length > 30
71+ ? `${ identifier . slice ( 0 , 30 ) } ...`
72+ : identifier
73+ }
74+ textToCopy = { identifier }
75+ tooltip = "Copy User Identifier"
76+ copyIconPosition = "left"
77+ variant = "ghost"
78+ />
79+ ) ;
6180 } ,
6281 enableColumnFilter : true ,
6382 header : "User Identifier" ,
@@ -77,7 +96,7 @@ export function InAppWalletUsersPageContent(
7796 cell : ( cell ) => {
7897 const externalWallets = getExternalWallets ( cell . getValue ( ) ) ;
7998 if ( externalWallets . length === 0 ) {
80- return < span className = "text-muted-foreground text-xs " > None</ span > ;
99+ return < span className = "text-muted-foreground text-sm " > None</ span > ;
81100 }
82101 return (
83102 < div className = "space-y-1" >
@@ -111,9 +130,14 @@ export function InAppWalletUsersPageContent(
111130 return ;
112131 }
113132 return (
114- < span className = "text-sm" >
115- { format ( new Date ( value ) , "MMM dd, yyyy" ) }
116- </ span >
133+ < ToolTipLabel
134+ label = { format ( new Date ( value ) , "MMM dd, yyyy 'at' h:mm:ss a zzz" ) }
135+ hoverable
136+ >
137+ < span className = "text-sm" >
138+ { format ( new Date ( value ) , "MMM dd, yyyy" ) }
139+ </ span >
140+ </ ToolTipLabel >
117141 ) ;
118142 } ,
119143 header : "Created" ,
@@ -215,7 +239,7 @@ export function InAppWalletUsersPageContent(
215239 return {
216240 address : row . wallets [ 0 ] ?. address || "Uninitialized" ,
217241 created : row . wallets [ 0 ] ?. createdAt
218- ? format ( new Date ( row . wallets [ 0 ] . createdAt ) , "MMM dd, yyyy" )
242+ ? new Date ( row . wallets [ 0 ] . createdAt ) . toISOString ( )
219243 : "Wallet not created yet" ,
220244 external_wallets : externalWalletAddresses || "None" ,
221245 login_methods : row . linkedAccounts . map ( ( acc ) => acc . type ) . join ( ", " ) ,
@@ -243,7 +267,7 @@ export function InAppWalletUsersPageContent(
243267 < div className = "flex flex-col gap-4" >
244268 { /* Top section */ }
245269 < div className = "flex flex-col gap-4" >
246- < div className = "flex items-center justify-end gap-3" >
270+ < div className = "flex flex-col md:flex-row lg: items-center justify-end gap-3" >
247271 < div className = "w-full max-w-lg" >
248272 < AdvancedSearchInput
249273 onSearch = { handleSearch }
@@ -253,10 +277,9 @@ export function InAppWalletUsersPageContent(
253277 />
254278 </ div >
255279 < Button
256- className = "gap-2"
280+ className = "gap-2 bg-card "
257281 disabled = { wallets . length === 0 || isPending }
258282 onClick = { downloadCSV }
259- size = "sm"
260283 variant = "outline"
261284 >
262285 { isPending && < Spinner className = "size-4" /> }
0 commit comments