"use client"; import { useEffect, useRef } from "react"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { Credentials } from "@/lib/types"; import { CopyButton } from "@/components/ui/copybutton"; import { Button } from "@/components/ui/button"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { ExternalLink } from "lucide-react"; import { getAuth } from "@/lib/utils"; import { AppInfo } from "../FormContainer"; import { KeyRound } from "lucide-react"; import { forwardRef } from "react"; import ClientOnly from "../ClientOnly"; interface ResultTableProps { credentials: Credentials; appInfo: AppInfo; } const renderTableRow = (label: string, value: string | undefined) => ( {label} {value} {value && } ); const ResultTable: React.FC = ({ credentials, appInfo }) => { const scrollToRef = useRef(null); const { instanceUrl, scopes } = appInfo; const { id, name, website, redirect_uri, client_id, client_secret, vapid_key, } = credentials; const isLocal = redirect_uri === "urn:ietf:wg:oauth:2.0:oob"; useEffect(() => { if (scrollToRef.current) { scrollToRef.current.scrollIntoView({ behavior: "smooth" }); } }, []); return (
Type Value {credentials && ( {renderTableRow("ID", id)} {renderTableRow("Name", name)} {renderTableRow("Website", website || "")} {renderTableRow("Redirect URI", redirect_uri)} {renderTableRow("Client ID", client_id)} {renderTableRow("Client Secret", client_secret)} {renderTableRow("Vapid Key", vapid_key)} )}
{isLocal ? ( ) : ( Need an Access Token? Set the Redirect URI as{" "} urn:ietf:wg:oauth:2.0:oob {" "} to obtain your access token. )}
); }; export default ResultTable;