11import { PageTitle } from "@/components/PageTitle"
22import { Skeleton } from "@/components/ui/skeleton"
3- // import { fetchInfo } from "@/lib/api "
4- // import { useSuspenseQuery } from "@tanstack/react-query"
3+ import { identityDetail } from "@/generated/client/sdk.gen "
4+ import { useSuspenseQuery } from "@tanstack/react-query"
55import { Suspense } from "react"
66
77function Loader ( ) {
@@ -13,23 +13,60 @@ function Loader() {
1313}
1414
1515function PageBody ( ) {
16- // const { data } = []; useSuspenseQuery({
17- // queryKey: ["info"],
18- // queryFn: fetchInfo,
19- // })
20-
21- const data = {
22- name : "bcr-wdc-quote-service" ,
23- version : "0.1.0" ,
24- pubkey : "0283bf290884eed3a7ca2663fc0260de2e2064d6b355ea13f98dec004b7a7ead99" ,
25- }
16+ const { data } = useSuspenseQuery ( {
17+ queryKey : [ "identity-detail" ] ,
18+ queryFn : async ( ) => {
19+ const response = await identityDetail ( )
20+ return response . data
21+ } ,
22+ staleTime : Infinity , // Data won't change
23+ gcTime : Infinity ,
24+ } )
2625
2726 return (
2827 < >
29- < div className = "flex flex-col gap-0.5 bg-accent text-accent-foreground rounded-lg p-2 my-2" >
30- < span className = "font-bold" > { data . name } </ span >
31- < span className = "text-sm font-mono text-accent-foreground/50" > { data . version } </ span >
32- < span className = "text-sm font-mono" > { data . pubkey } </ span >
28+ < div className = "flex flex-col gap-2 bg-accent text-accent-foreground rounded-lg p-4 my-2" >
29+ < div className = "flex flex-col gap-0.5" >
30+ < span className = "text-xs text-accent-foreground/50 uppercase tracking-wide" > Name</ span >
31+ < span className = "font-bold" > { data . name } </ span >
32+ </ div >
33+
34+ < div className = "flex flex-col gap-0.5" >
35+ < span className = "text-xs text-accent-foreground/50 uppercase tracking-wide" > Email</ span >
36+ < span className = "font-mono text-sm" > { data . email } </ span >
37+ </ div >
38+
39+ < div className = "flex flex-col gap-0.5" >
40+ < span className = "text-xs text-accent-foreground/50 uppercase tracking-wide" > Node ID</ span >
41+ < span className = "font-mono text-sm break-all" > { data . node_id } </ span >
42+ </ div >
43+
44+ < div className = "flex flex-col gap-0.5" >
45+ < span className = "text-xs text-accent-foreground/50 uppercase tracking-wide" > Bitcoin Public Key</ span >
46+ < span className = "font-mono text-sm break-all" > { data . bitcoin_public_key } </ span >
47+ </ div >
48+
49+ < div className = "flex flex-col gap-0.5" >
50+ < span className = "text-xs text-accent-foreground/50 uppercase tracking-wide" > Nostr Public Key</ span >
51+ < span className = "font-mono text-sm break-all" > { data . npub } </ span >
52+ </ div >
53+
54+ < div className = "flex flex-col gap-0.5" >
55+ < span className = "text-xs text-accent-foreground/50 uppercase tracking-wide" > Date of Birth</ span >
56+ < span className = "text-sm" > { data . date_of_birth } </ span >
57+ </ div >
58+
59+ < div className = "flex flex-col gap-0.5" >
60+ < span className = "text-xs text-accent-foreground/50 uppercase tracking-wide" > Address</ span >
61+ < div className = "text-sm" >
62+ < div > { data . postal_address . address } </ div >
63+ < div >
64+ { data . postal_address . city }
65+ { data . postal_address . zip && `, ${ data . postal_address . zip } ` }
66+ </ div >
67+ < div > { data . postal_address . country } </ div >
68+ </ div >
69+ </ div >
3370 </ div >
3471 </ >
3572 )
0 commit comments