MCPcopy Create free account
hub / github.com/coder/coder / SecretsTable

Function SecretsTable

site/src/pages/UserSettingsPage/SecretsPage/SecretsTable.tsx:39–131  ·  view source on GitHub ↗
({
	secrets,
	isLoading,
	hasLoaded,
	isDeleting,
	onAddSecret,
	onEditSecret,
	onDeleteSecret,
})

Source from the content-addressed store, hash-verified

37};
38
39export const SecretsTable: FC<SecretsTableProps> = ({
40 secrets,
41 isLoading,
42 hasLoaded,
43 isDeleting,
44 onAddSecret,
45 onEditSecret,
46 onDeleteSecret,
47}) => {
48 const [secretToDelete, setSecretToDelete] = useState<UserSecret>();
49
50 return (
51 <>
52 <DeleteSecretDialog
53 secret={secretToDelete}
54 isDeleting={isDeleting}
55 onCancel={() => setSecretToDelete(undefined)}
56 onConfirm={(secret) => {
57 void Promise.resolve()
58 .then(() => onDeleteSecret(secret))
59 .then(() => {
60 setSecretToDelete(undefined);
61 })
62 .catch(() => {
63 // onDeleteSecret reports failures with a toast before rejecting.
64 // Swallow the rejection here to avoid an unhandled promise rejection warning.
65 });
66 }}
67 />
68
69 <Table aria-label="User secrets">
70 <TableHeader>
71 <TableRow>
72 <TableHead className="w-[16%]">Name</TableHead>
73 <TableHead className="w-[14%]">Environment variable</TableHead>
74 <TableHead className="w-[18%]">File path</TableHead>
75 <TableHead className="w-[11%]">Type</TableHead>
76 <TableHead className="w-[23%]">Description</TableHead>
77 <TableHead className="w-[12%]">Updated</TableHead>
78 <TableHead className="w-[1%]" />
79 </TableRow>
80 </TableHeader>
81 <TableBody>
82 {isLoading && <TableLoader />}
83 {hasLoaded && !isLoading && (!secrets || secrets.length === 0) && (
84 <TableEmpty
85 message="No secrets yet"
86 description="Create a secret to inject it into workspaces you own."
87 cta={
88 <Button onClick={(event) => onAddSecret(event.currentTarget)}>
89 Add secret
90 </Button>
91 }
92 />
93 )}
94 {!isLoading &&
95 secrets?.map((secret) => (
96 <TableRow key={secret.id}>

Callers

nothing calls this directly

Calls 1

relativeTimeFunction · 0.90

Tested by

no test coverage detected