diff --git a/frontend/src/app/runners-table.tsx b/frontend/src/app/runners-table.tsx
index 7dd33161e0..ba028e1bf7 100644
--- a/frontend/src/app/runners-table.tsx
+++ b/frontend/src/app/runners-table.tsx
@@ -1,7 +1,9 @@
+import { faHourglassClock, Icon } from "@rivet-gg/icons";
import type { Rivet } from "@rivetkit/engine-api-full";
import {
Button,
DiscreteCopyButton,
+ Ping,
Skeleton,
Table,
TableBody,
@@ -21,11 +23,18 @@ interface RunnersTableProps {
runners: Rivet.Runner[];
}
-export function RunnersTable({isLoading, isError, hasNextPage, fetchNextPage, runners}: RunnersTableProps) {
+export function RunnersTable({
+ isLoading,
+ isError,
+ hasNextPage,
+ fetchNextPage,
+ runners,
+}: RunnersTableProps) {
return (
+
ID
Name
Slots
@@ -36,7 +45,7 @@ export function RunnersTable({isLoading, isError, hasNextPage, fetchNextPage, ru
{!isLoading && runners?.length === 0 ? (
-
+
There's no runners matching criteria.
@@ -45,7 +54,7 @@ export function RunnersTable({isLoading, isError, hasNextPage, fetchNextPage, ru
) : null}
{isError ? (
-
+
An error occurred while fetching runners.
@@ -90,6 +99,9 @@ export function RunnersTable({isLoading, isError, hasNextPage, fetchNextPage, ru
function RowSkeleton() {
return (
+
+
+
@@ -112,6 +124,9 @@ function RowSkeleton() {
function Row(runner: Rivet.Runner) {
return (
+
+
+
);
}
+
+function RunnerStatusBadge(runner: Rivet.Runner) {
+ if (runner.drainTs) {
+ return (
+
+ }
+ />
+ );
+ }
+ if (runner.stopTs) {
+ return (
+
+ }
+ />
+ );
+ }
+
+ return ;
+}