todo
-todo
-- {description} -
- {children} -+ {description} +
+ {children} +No Secrets Found
++ {filteredSecrets.length === 0 && searchQuery.length > 0 ? "No secrets found matching your filters." : "Use the form above to create a new secret."} +
+{secret.key}
++ Created {getDisplayTime(secret.createdAt)} +
+{secretToDelete?.key}? Any connections that use this secret will fail to sync.
+
+ {children}
+
+ )
+}
\ No newline at end of file
diff --git a/packages/web/src/app/[domain]/settings/secrets/page.tsx b/packages/web/src/app/[domain]/settings/secrets/page.tsx
new file mode 100644
index 00000000..86525df8
--- /dev/null
+++ b/packages/web/src/app/[domain]/settings/secrets/page.tsx
@@ -0,0 +1,28 @@
+import { getSecrets } from "@/actions";
+import { SecretsList } from "./components/secretsList";
+import { isServiceError } from "@/lib/utils";
+import { ImportSecretCard } from "./components/importSecretCard";
+interface SecretsPageProps {
+ params: {
+ domain: string;
+ }
+}
+
+export default async function SecretsPage({ params: { domain } }: SecretsPageProps) {
+ const secrets = await getSecrets(domain);
+ if (isServiceError(secrets)) {
+ return null;
+ }
+
+ return (
+ These secrets grant Sourcebot access to private code.
+