@@ -3319,6 +3319,7 @@ async function handleGatewayTestSubmit(e) {
3319
3319
const loading = safeGetElement ( "gateway-test-loading" ) ;
3320
3320
const responseDiv = safeGetElement ( "gateway-test-response-json" ) ;
3321
3321
const resultDiv = safeGetElement ( "gateway-test-result" ) ;
3322
+ const testButton = safeGetElement ( "gateway-test-submit" ) ;
3322
3323
3323
3324
try {
3324
3325
// Show loading
@@ -3328,6 +3329,10 @@ async function handleGatewayTestSubmit(e) {
3328
3329
if ( resultDiv ) {
3329
3330
resultDiv . classList . add ( "hidden" ) ;
3330
3331
}
3332
+ if ( testButton ) {
3333
+ testButton . disabled = true ;
3334
+ testButton . textContent = "Testing..." ;
3335
+ }
3331
3336
3332
3337
const form = e . target ;
3333
3338
const url = form . action ;
@@ -3393,31 +3398,32 @@ async function handleGatewayTestSubmit(e) {
3393
3398
3394
3399
const result = await response . json ( ) ;
3395
3400
3396
- if ( responseDiv ) {
3397
- // Display result safely
3398
- responseDiv . innerHTML = `
3399
- <div class="alert alert-success">
3400
- <h4>✅ Connection Successful</h4>
3401
- <p><strong>Status Code:</strong> ${ result . statusCode } </p>
3402
- <p><strong>Response Time:</strong> ${ result . latencyMs } ms</p>
3403
- ${
3404
- result . body
3405
- ? `<details>
3406
- <summary class='cursor-pointer'>Response Body</summary>
3407
- <pre class="text-sm px-4 max-h-96 dark:bg-gray-800 dark:text-gray-100 overflow-auto">${ JSON . stringify ( result . body , null , 2 ) } </pre>
3408
- </details>`
3409
- : ""
3410
- }
3411
- </div>
3412
- ` ;
3413
- } else {
3414
- responseDiv . innerHTML = `
3415
- <div class="alert alert-error">
3416
- <h4>❌ Connection Failed</h4>
3417
- <p>${ result . error || "Unable to connect to the server" } </p>
3418
- </div>
3401
+ const isSuccess =
3402
+ result . statusCode &&
3403
+ result . statusCode >= 200 &&
3404
+ result . statusCode < 300 ;
3405
+
3406
+ const alertType = isSuccess ? "success" : "error" ;
3407
+ const icon = isSuccess ? "✅" : "❌" ;
3408
+ const title = isSuccess ? "Connection Successful" : "Connection Failed" ;
3409
+ const statusCode = result . statusCode || "Unknown" ;
3410
+ const latency =
3411
+ result . latencyMs != null ? `${ result . latencyMs } ms` : "NA" ;
3412
+ const body = result . body
3413
+ ? `<details open>
3414
+ <summary class='cursor-pointer'><strong>Response Body</strong></summary>
3415
+ <pre class="text-sm px-4 max-h-96 dark:bg-gray-800 dark:text-gray-100 overflow-auto">${ JSON . stringify ( result . body , null , 2 ) } </pre>
3416
+ </details>`
3417
+ : "" ;
3418
+
3419
+ responseDiv . innerHTML = `
3420
+ <div class="alert alert-${ alertType } ">
3421
+ <h4><strong>${ icon } ${ title } </strong></h4>
3422
+ <p><strong>Status Code:</strong> ${ statusCode } </p>
3423
+ <p><strong>Response Time:</strong> ${ latency } </p>
3424
+ ${ body }
3425
+ </div>
3419
3426
` ;
3420
- }
3421
3427
} catch ( error ) {
3422
3428
console . error ( "Gateway test error:" , error ) ;
3423
3429
if ( responseDiv ) {
@@ -3434,6 +3440,9 @@ async function handleGatewayTestSubmit(e) {
3434
3440
if ( resultDiv ) {
3435
3441
resultDiv . classList . remove ( "hidden" ) ;
3436
3442
}
3443
+
3444
+ testButton . disabled = false ;
3445
+ testButton . textContent = "Test" ;
3437
3446
}
3438
3447
}
3439
3448
0 commit comments