|
412 | 412 | </div> |
413 | 413 | </div> |
414 | 414 |
|
| 415 | +<!-- Call Counters Section --> |
| 416 | +<div class="mb-8 rounded-lg border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-700 dark:bg-gray-800"> |
| 417 | + <h2 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-4"> |
| 418 | + API Call Counters |
| 419 | + </h2> |
| 420 | + <p class="mb-4 text-sm text-gray-500 dark:text-gray-400"> |
| 421 | + Current API usage for this consumer (from Redis). |
| 422 | + </p> |
| 423 | + <div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-4"> |
| 424 | + <div class="rounded-lg bg-gray-50 p-3 dark:bg-gray-900/50"> |
| 425 | + <div class="text-xs font-medium text-gray-500 dark:text-gray-400">Per Second</div> |
| 426 | + {#if consumer.call_counters?.per_second && typeof consumer.call_counters.per_second.calls_made === 'number'} |
| 427 | + <div class="mt-1 text-lg font-semibold text-gray-900 dark:text-gray-100">{consumer.call_counters.per_second.calls_made}</div> |
| 428 | + <div class="text-xs text-gray-500 dark:text-gray-400">resets in {consumer.call_counters.per_second.reset_in_seconds}s</div> |
| 429 | + {:else} |
| 430 | + <div class="mt-1 text-lg font-semibold text-red-600 dark:text-red-400">Err</div> |
| 431 | + <div class="text-xs text-gray-500 dark:text-gray-400">unavailable</div> |
| 432 | + {/if} |
| 433 | + </div> |
| 434 | + <div class="rounded-lg bg-gray-50 p-3 dark:bg-gray-900/50"> |
| 435 | + <div class="text-xs font-medium text-gray-500 dark:text-gray-400">Per Minute</div> |
| 436 | + {#if consumer.call_counters?.per_minute && typeof consumer.call_counters.per_minute.calls_made === 'number'} |
| 437 | + <div class="mt-1 text-lg font-semibold text-gray-900 dark:text-gray-100">{consumer.call_counters.per_minute.calls_made}</div> |
| 438 | + <div class="text-xs text-gray-500 dark:text-gray-400">resets in {consumer.call_counters.per_minute.reset_in_seconds}s</div> |
| 439 | + {:else} |
| 440 | + <div class="mt-1 text-lg font-semibold text-red-600 dark:text-red-400">Err</div> |
| 441 | + <div class="text-xs text-gray-500 dark:text-gray-400">unavailable</div> |
| 442 | + {/if} |
| 443 | + </div> |
| 444 | + <div class="rounded-lg bg-gray-50 p-3 dark:bg-gray-900/50"> |
| 445 | + <div class="text-xs font-medium text-gray-500 dark:text-gray-400">Per Hour</div> |
| 446 | + {#if consumer.call_counters?.per_hour && typeof consumer.call_counters.per_hour.calls_made === 'number'} |
| 447 | + <div class="mt-1 text-lg font-semibold text-gray-900 dark:text-gray-100">{consumer.call_counters.per_hour.calls_made}</div> |
| 448 | + <div class="text-xs text-gray-500 dark:text-gray-400">resets in {consumer.call_counters.per_hour.reset_in_seconds}s</div> |
| 449 | + {:else} |
| 450 | + <div class="mt-1 text-lg font-semibold text-red-600 dark:text-red-400">Err</div> |
| 451 | + <div class="text-xs text-gray-500 dark:text-gray-400">unavailable</div> |
| 452 | + {/if} |
| 453 | + </div> |
| 454 | + <div class="rounded-lg bg-gray-50 p-3 dark:bg-gray-900/50"> |
| 455 | + <div class="text-xs font-medium text-gray-500 dark:text-gray-400">Per Day</div> |
| 456 | + {#if consumer.call_counters?.per_day && typeof consumer.call_counters.per_day.calls_made === 'number'} |
| 457 | + <div class="mt-1 text-lg font-semibold text-gray-900 dark:text-gray-100">{consumer.call_counters.per_day.calls_made}</div> |
| 458 | + <div class="text-xs text-gray-500 dark:text-gray-400">resets in {consumer.call_counters.per_day.reset_in_seconds}s</div> |
| 459 | + {:else} |
| 460 | + <div class="mt-1 text-lg font-semibold text-red-600 dark:text-red-400">Err</div> |
| 461 | + <div class="text-xs text-gray-500 dark:text-gray-400">unavailable</div> |
| 462 | + {/if} |
| 463 | + </div> |
| 464 | + <div class="rounded-lg bg-gray-50 p-3 dark:bg-gray-900/50"> |
| 465 | + <div class="text-xs font-medium text-gray-500 dark:text-gray-400">Per Week</div> |
| 466 | + {#if consumer.call_counters?.per_week && typeof consumer.call_counters.per_week.calls_made === 'number'} |
| 467 | + <div class="mt-1 text-lg font-semibold text-gray-900 dark:text-gray-100">{consumer.call_counters.per_week.calls_made}</div> |
| 468 | + <div class="text-xs text-gray-500 dark:text-gray-400">resets in {consumer.call_counters.per_week.reset_in_seconds}s</div> |
| 469 | + {:else} |
| 470 | + <div class="mt-1 text-lg font-semibold text-red-600 dark:text-red-400">Err</div> |
| 471 | + <div class="text-xs text-gray-500 dark:text-gray-400">unavailable</div> |
| 472 | + {/if} |
| 473 | + </div> |
| 474 | + <div class="rounded-lg bg-gray-50 p-3 dark:bg-gray-900/50"> |
| 475 | + <div class="text-xs font-medium text-gray-500 dark:text-gray-400">Per Month</div> |
| 476 | + {#if consumer.call_counters?.per_month && typeof consumer.call_counters.per_month.calls_made === 'number'} |
| 477 | + <div class="mt-1 text-lg font-semibold text-gray-900 dark:text-gray-100">{consumer.call_counters.per_month.calls_made}</div> |
| 478 | + <div class="text-xs text-gray-500 dark:text-gray-400">resets in {consumer.call_counters.per_month.reset_in_seconds}s</div> |
| 479 | + {:else} |
| 480 | + <div class="mt-1 text-lg font-semibold text-red-600 dark:text-red-400">Err</div> |
| 481 | + <div class="text-xs text-gray-500 dark:text-gray-400">unavailable</div> |
| 482 | + {/if} |
| 483 | + </div> |
| 484 | + </div> |
| 485 | +</div> |
| 486 | + |
415 | 487 | <!-- Scopes Section --> |
416 | 488 | <div class="rounded-lg border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-700 dark:bg-gray-800"> |
417 | 489 | <div class="flex items-center justify-between mb-4"> |
|
0 commit comments