diff --git a/client/src/pages/diagnostic/DiagnosticPage.tsx b/client/src/pages/diagnostic/DiagnosticPage.tsx
index 35fd6ac4c..11aeec507 100644
--- a/client/src/pages/diagnostic/DiagnosticPage.tsx
+++ b/client/src/pages/diagnostic/DiagnosticPage.tsx
@@ -1,7 +1,8 @@
import { BasePage, Tab, Tabs, InfoBox } from "@/components/design-elements";
import { DiagnosticsLogTab } from "@/pages/diagnostic/DiagnosticsLogTab";
import { DiagnosticsQueueTab } from "@/pages/diagnostic/DiagnosticsQueueTab";
-import { FileText, ListTodo } from "lucide-react";
+import DiagnosticsConfigTab from "@/pages/diagnostic/DiagnosticsConfigTab";
+import { FileText, ListTodo, Settings } from "lucide-react";
import { useState } from "react";
const DiagnosticPage = () => {
@@ -28,9 +29,15 @@ const DiagnosticPage = () => {
value="jobs"
icon={}
/>
+ }
+ />
{tabValue === "logs" && }
{tabValue === "jobs" && }
+ {tabValue === "config" && }
);
};
diff --git a/client/src/pages/diagnostic/DiagnosticsConfigTab.tsx b/client/src/pages/diagnostic/DiagnosticsConfigTab.tsx
new file mode 100644
index 000000000..4cab8a6d5
--- /dev/null
+++ b/client/src/pages/diagnostic/DiagnosticsConfigTab.tsx
@@ -0,0 +1,57 @@
+import { Box, Typography, Paper, Stack, Divider } from "@mui/material";
+import { useGet } from "@/hooks/UseApi";
+
+type EnvConfig = {
+ NODE_ENV: string;
+ DEPLOYMENT_MODE: string;
+ LOG_LEVEL: string;
+ ORIGIN: string;
+ JWT_SECRET: string;
+ PORT: number;
+ PAGESPEED_API_KEY: string;
+ SMTP_HOST: string;
+ SMTP_PORT: number;
+ SMTP_USER: string;
+ SMTP_PASS: string;
+ STRIPE_SECRET: string;
+ STRIPE_WEBHOOK_SECRET: string;
+};
+
+export default function DiagnosticsConfigTab() {
+ const { response, loading, error } = useGet<{
+ message: string;
+ data: EnvConfig;
+ }>("/diagnostic/env");
+
+ const data = response?.data;
+
+ return (
+
+
+ Environment Configuration
+
+ {loading && Loading…}
+ {error && (
+
+ {error}
+
+ )}
+ {data && (
+
+ }>
+ {Object.entries(data).map(([key, value]) => (
+
+
+ {key}
+
+
+ {String(value)}
+
+
+ ))}
+
+
+ )}
+
+ );
+}