@@ -18,7 +18,9 @@ function formatDate(value: string) {
1818}
1919
2020function EmptyState ( { label } : { label : string } ) {
21- return < p className = "py-5 text-center text-sm text-muted" > { label } </ p > ;
21+ return (
22+ < p className = "py-5 text-center text-sm text-muted-foreground" > { label } </ p >
23+ ) ;
2224}
2325
2426function Section ( {
@@ -29,7 +31,7 @@ function Section({
2931 children : React . ReactNode ;
3032} ) {
3133 return (
32- < section className = "panel rounded p-4 sm:p-6" >
34+ < section className = "bg-muted rounded p-4 sm:p-6" >
3335 < h2 className = "text-base font-semibold text-foreground" > { title } </ h2 >
3436 < div className = "mt-4" > { children } </ div >
3537 </ section >
@@ -44,13 +46,13 @@ export default function DiagnosticsPage() {
4446 < h1 className = "text-2xl font-bold text-foreground" >
4547 Production Diagnostics
4648 </ h1 >
47- < p className = "mt-1 text-sm text-muted" >
49+ < p className = "mt-1 text-sm text-muted-foreground " >
4850 Health, queues, webhook failures, billing events, and worker alerts.
4951 </ p >
5052 </ div >
5153 < DiagnosticsRefresh />
5254 </ div >
53- < Suspense fallback = { < div className = "panel rounded p-8 h-64" /> } >
55+ < Suspense fallback = { < div className = "bg-muted rounded p-8 h-64" /> } >
5456 < DiagnosticsContent />
5557 </ Suspense >
5658 </ div >
@@ -71,8 +73,8 @@ async function DiagnosticsContent() {
7173 return (
7274 < >
7375 < div className = "grid grid-cols-2 gap-3 sm:gap-4 md:grid-cols-3" >
74- < div className = "panel rounded p-4 sm:p-5" >
75- < p className = "text-xs font-semibold uppercase text-muted" >
76+ < div className = "bg-muted rounded p-4 sm:p-5" >
77+ < p className = "text-xs font-semibold uppercase text-muted-foreground " >
7678 Worker health
7779 </ p >
7880 < p
@@ -82,15 +84,15 @@ async function DiagnosticsContent() {
8284 >
8385 { data . workerHealth . healthy ? "Healthy" : "Needs attention" }
8486 </ p >
85- < p className = "mt-2 text-xs text-muted" >
87+ < p className = "mt-2 text-xs text-muted-foreground " >
8688 { workerAgeSeconds == null
8789 ? "No heartbeat found"
8890 : `Last heartbeat ${ workerAgeSeconds } s ago` }
8991 </ p >
9092 </ div >
9193 { [ "waiting" , "active" , "delayed" , "failed" ] . map ( ( key ) => (
92- < div key = { key } className = "panel rounded p-4 sm:p-5" >
93- < p className = "text-xs font-semibold uppercase text-muted" >
94+ < div key = { key } className = "bg-muted rounded p-4 sm:p-5" >
95+ < p className = "text-xs font-semibold uppercase text-muted-foreground " >
9496 Queue { key }
9597 </ p >
9698 < p className = "mt-3 text-2xl font-bold text-foreground" >
@@ -106,7 +108,7 @@ async function DiagnosticsContent() {
106108 { data . workerAlerts . map ( ( alert ) => (
107109 < div
108110 key = { `${ alert . createdAt } -${ alert . jobId ?? alert . message } ` }
109- className = "rounded border border-border bg-surface /50 p-4"
111+ className = "rounded border border-border bg-muted /50 p-4"
110112 >
111113 < div className = "flex flex-wrap items-start justify-between gap-x-3 gap-y-1" >
112114 < p className = "min-w-0 flex-1 break-words text-sm font-semibold text-foreground" >
@@ -116,7 +118,7 @@ async function DiagnosticsContent() {
116118 { alert . level }
117119 </ span >
118120 </ div >
119- < p className = "mt-2 text-xs text-muted" >
121+ < p className = "mt-2 text-xs text-muted-foreground " >
120122 { formatDate ( alert . createdAt ) }
121123 { alert . commentId ? ` · ${ alert . commentId } ` : "" }
122124 </ p >
@@ -133,18 +135,23 @@ async function DiagnosticsContent() {
133135 { data . dmFailures . length ? (
134136 < div className = "space-y-3" >
135137 { data . dmFailures . map ( ( item ) => (
136- < div key = { item . id } className = "border-b border-border pb-3 last:border-0" >
138+ < div
139+ key = { item . id }
140+ className = "border-b border-border pb-3 last:border-0"
141+ >
137142 < div className = "flex flex-wrap items-start justify-between gap-x-3 gap-y-1" >
138143 < p className = "min-w-0 flex-1 truncate text-sm font-semibold text-foreground" >
139144 { item . automation . name }
140145 </ p >
141146 < StatusBadge status = { item . status } />
142147 </ div >
143- < p className = "mt-1 truncate text-xs text-muted" >
148+ < p className = "mt-1 truncate text-xs text-muted-foreground " >
144149 { item . commentText }
145150 </ p >
146151 { item . errorMessage && (
147- < p className = "mt-1 text-xs text-error" > { item . errorMessage } </ p >
152+ < p className = "mt-1 text-xs text-error" >
153+ { item . errorMessage }
154+ </ p >
148155 ) }
149156 </ div >
150157 ) ) }
@@ -158,14 +165,17 @@ async function DiagnosticsContent() {
158165 { data . webhookFailures . length ? (
159166 < div className = "space-y-3" >
160167 { data . webhookFailures . map ( ( event ) => (
161- < div key = { event . id } className = "border-b border-border pb-3 last:border-0" >
168+ < div
169+ key = { event . id }
170+ className = "border-b border-border pb-3 last:border-0"
171+ >
162172 < p className = "text-sm font-semibold text-foreground" >
163173 { event . object ?? "Instagram webhook" }
164174 </ p >
165175 < p className = "mt-1 text-xs text-error" >
166176 { event . errorMessage ?? "Unknown error" }
167177 </ p >
168- < p className = "mt-1 text-xs text-muted" >
178+ < p className = "mt-1 text-xs text-muted-foreground " >
169179 { formatDate ( event . createdAt ) }
170180 </ p >
171181 </ div >
@@ -182,11 +192,14 @@ async function DiagnosticsContent() {
182192 { data . tokenRefreshFailures . length ? (
183193 < div className = "space-y-3" >
184194 { data . tokenRefreshFailures . map ( ( event ) => (
185- < div key = { event . id } className = "border-b border-border pb-3 last:border-0" >
195+ < div
196+ key = { event . id }
197+ className = "border-b border-border pb-3 last:border-0"
198+ >
186199 < p className = "text-sm font-semibold text-foreground" >
187200 { event . message }
188201 </ p >
189- < p className = "mt-1 text-xs text-muted" >
202+ < p className = "mt-1 text-xs text-muted-foreground " >
190203 { formatDate ( event . createdAt ) }
191204 </ p >
192205 </ div >
@@ -196,17 +209,23 @@ async function DiagnosticsContent() {
196209 < EmptyState label = "No token refresh failures." />
197210 ) }
198211 </ Section >
199-
200212 </ div >
201213
202214 < Section title = "Operational Event Timeline" >
203215 { data . operationalEvents . length ? (
204216 < div className = "space-y-3" >
205217 { data . operationalEvents . map ( ( event ) => (
206- < div key = { event . id } className = "grid gap-2 border-b border-border pb-3 last:border-0 sm:grid-cols-[140px_1fr_auto]" >
207- < p className = "text-xs font-semibold text-muted" > { event . source } </ p >
218+ < div
219+ key = { event . id }
220+ className = "grid gap-2 border-b border-border pb-3 last:border-0 sm:grid-cols-[140px_1fr_auto]"
221+ >
222+ < p className = "text-xs font-semibold text-muted-foreground" >
223+ { event . source }
224+ </ p >
208225 < p className = "text-sm text-foreground" > { event . message } </ p >
209- < p className = "text-xs text-muted" > { formatDate ( event . createdAt ) } </ p >
226+ < p className = "text-xs text-muted-foreground" >
227+ { formatDate ( event . createdAt ) }
228+ </ p >
210229 </ div >
211230 ) ) }
212231 </ div >
0 commit comments