Skip to content

Commit 56816d9

Browse files
author
Bingle Kruger
committed
chore(ntc-web): Minor refactoring + Pools Account
1 parent e8c9a81 commit 56816d9

File tree

4 files changed

+494
-67
lines changed

4 files changed

+494
-67
lines changed

ntc-web/app/page.tsx

+34-30
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import { useWallet } from "@solana/wallet-adapter-react";
4848
import { PublicKey } from "@solana/web3.js";
4949
import { getAssociatedTokenAddress } from "@solana/spl-token";
5050
import { redeemDrt } from "@/lib/drtHelpers";
51+
import PoolAccount from "@/components/PoolAccount";
5152

5253
// Interfaces
5354
interface Pool {
@@ -1135,7 +1136,7 @@ export default function Home() {
11351136
<TableCell className="font-medium">{pool.name}</TableCell>
11361137
<TableCell>{pool.description}</TableCell>
11371138
<TableCell>
1138-
<div className="flex flex-col gap-2">
1139+
<div className="flex flex-col gap-2">
11391140
{pool.allowedDRTs.map(({ drt }) => (
11401141
<TooltipProvider key={drt.id}>
11411142
<Tooltip>
@@ -1157,26 +1158,31 @@ export default function Home() {
11571158
</TableCell>
11581159
<TableCell>
11591160
<div className="space-y-2">
1160-
<div className="flex items-center gap-2">
1161-
<span className="font-medium whitespace-nowrap">Pool PDA:</span>
1162-
<TooltipProvider>
1163-
<Tooltip>
1164-
<TooltipTrigger asChild>
1165-
<a
1166-
href={`https://explorer.solana.com/address/${pool.chainAddress}?cluster=devnet`}
1167-
target="_blank"
1168-
rel="noopener noreferrer"
1169-
className="flex items-center gap-1 text-blue-500 hover:text-blue-700"
1170-
>
1171-
<span>Link</span>
1172-
<ExternalLink size={16} />
1173-
</a>
1174-
</TooltipTrigger>
1175-
<TooltipContent>
1176-
<p className="font-mono text-xs">{pool.chainAddress}</p>
1177-
</TooltipContent>
1178-
</Tooltip>
1179-
</TooltipProvider>
1161+
<div className="flex items-center justify-between gap-2">
1162+
<div className="flex items-center gap-2">
1163+
<span className="font-medium whitespace-nowrap">Pool PDA:</span>
1164+
<TooltipProvider>
1165+
<Tooltip>
1166+
<TooltipTrigger asChild>
1167+
<a
1168+
href={`https://explorer.solana.com/address/${pool.chainAddress}?cluster=devnet`}
1169+
target="_blank"
1170+
rel="noopener noreferrer"
1171+
className="flex items-center gap-1 text-blue-500 hover:text-blue-700"
1172+
>
1173+
<span>Link</span>
1174+
<ExternalLink size={16} />
1175+
</a>
1176+
</TooltipTrigger>
1177+
<TooltipContent>
1178+
<p className="font-mono text-xs">{pool.chainAddress}</p>
1179+
</TooltipContent>
1180+
</Tooltip>
1181+
</TooltipProvider>
1182+
</div>
1183+
1184+
{/* Add Pool Account component here */}
1185+
<PoolAccount chainAddress={pool.chainAddress} />
11801186
</div>
11811187

11821188
<div className="flex items-center gap-2">
@@ -1221,25 +1227,23 @@ export default function Home() {
12211227
</TooltipContent>
12221228
</Tooltip>
12231229
</TooltipProvider>
1224-
</div>
1225-
1226-
<div className="flex items-center gap-2">
1227-
<span className="font-medium whitespace-nowrap">Enclave:</span>
12281230
<Dialog>
12291231
<DialogTrigger asChild>
1230-
<Button
1232+
<div className="ml-auto">
1233+
<Button
12311234
variant="outline"
12321235
size="sm"
12331236
className={attestationResults[pool.id]?.success ? 'bg-green-50' : ''}
12341237
disabled={!pool.enclaveMeasurement}
1235-
>
1238+
>
12361239
<Shield className="w-4 h-4 mr-2" />
12371240
{!pool.enclaveMeasurement
12381241
? 'No Enclave Measurements'
12391242
: attestationResults[pool.id]?.success
1240-
? 'Verified'
1241-
: 'Verify Enclave'}
1242-
</Button>
1243+
? 'Verified'
1244+
: 'Verify Enclave'}
1245+
</Button>
1246+
</div>
12431247
</DialogTrigger>
12441248
<EnclaveDialog
12451249
pool={pool}

ntc-web/app/pools/PoolsTable.tsx

+39-36
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import FilePicker from '@/components/FilePicker';
4444
import { SchemaPreview, validateJsonSchema } from '@/components/schemaUtils';
4545
import { ExternalLink, Shield, Upload, Code2, Eye, RefreshCcw, Check, AlertTriangle } from 'lucide-react';
4646
import { ChevronDown, ChevronUp, ChevronsUpDown, Loader2 } from "lucide-react";
47+
import PoolAccount from "@/components/PoolAccount";
4748

4849
interface EnclaveMeasurement {
4950
mrenclave: string;
@@ -870,26 +871,29 @@ export function PoolsTable({ poolCreated }: PoolsTableProps) {
870871
</TableCell>
871872
<TableCell>
872873
<div className="space-y-2">
873-
<div className="flex items-center gap-2">
874-
<span className="font-medium whitespace-nowrap">Pool PDA:</span>
875-
<TooltipProvider>
876-
<Tooltip>
877-
<TooltipTrigger asChild>
878-
<a
879-
href={`https://explorer.solana.com/address/${pool.chainAddress}?cluster=devnet`}
880-
target="_blank"
881-
rel="noopener noreferrer"
882-
className="flex items-center gap-1 text-blue-500 hover:text-blue-700"
883-
>
884-
<span>Link</span>
885-
<ExternalLink size={16} />
886-
</a>
887-
</TooltipTrigger>
888-
<TooltipContent>
889-
<p className="font-mono text-xs">{pool.chainAddress}</p>
890-
</TooltipContent>
891-
</Tooltip>
892-
</TooltipProvider>
874+
<div className="flex items-center justify-between gap-2">
875+
<div className="flex items-center gap-2">
876+
<span className="font-medium whitespace-nowrap">Pool PDA:</span>
877+
<TooltipProvider>
878+
<Tooltip>
879+
<TooltipTrigger asChild>
880+
<a
881+
href={`https://explorer.solana.com/address/${pool.chainAddress}?cluster=devnet`}
882+
target="_blank"
883+
rel="noopener noreferrer"
884+
className="flex items-center gap-1 text-blue-500 hover:text-blue-700"
885+
>
886+
<span>Link</span>
887+
<ExternalLink size={16} />
888+
</a>
889+
</TooltipTrigger>
890+
<TooltipContent>
891+
<p className="font-mono text-xs">{pool.chainAddress}</p>
892+
</TooltipContent>
893+
</Tooltip>
894+
</TooltipProvider>
895+
</div>
896+
<PoolAccount chainAddress={pool.chainAddress} />
893897
</div>
894898
<div className="flex items-center gap-2">
895899
<span className="font-medium whitespace-nowrap">Vault PDA:</span>
@@ -932,24 +936,23 @@ export function PoolsTable({ poolCreated }: PoolsTableProps) {
932936
</TooltipContent>
933937
</Tooltip>
934938
</TooltipProvider>
935-
</div>
936-
<div className="flex items-center gap-2">
937-
<span className="font-medium whitespace-nowrap">Enclave:</span>
938939
<Dialog>
939940
<DialogTrigger asChild>
940-
<Button
941-
variant="outline"
942-
size="sm"
943-
className={attestationResults[pool.id]?.success ? 'bg-green-50' : ''}
944-
disabled={!pool.enclaveMeasurement}
945-
>
946-
<Shield className="w-4 h-4 mr-2" />
947-
{!pool.enclaveMeasurement
948-
? 'No Enclave Measurements'
949-
: attestationResults[pool.id]?.success
950-
? 'Verified'
951-
: 'Verify Enclave'}
952-
</Button>
941+
<div className="ml-auto">
942+
<Button
943+
variant="outline"
944+
size="sm"
945+
className={attestationResults[pool.id]?.success ? 'bg-green-50' : ''}
946+
disabled={!pool.enclaveMeasurement}
947+
>
948+
<Shield className="w-4 h-4 mr-2" />
949+
{!pool.enclaveMeasurement
950+
? 'No Enclave Measurements'
951+
: attestationResults[pool.id]?.success
952+
? 'Verified'
953+
: 'Verify Enclave'}
954+
</Button>
955+
</div>
953956
</DialogTrigger>
954957
<EnclaveDialog
955958
pool={pool}

0 commit comments

Comments
 (0)