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)} + + + ))} + + + )} + + ); +}