link to status

Changed files
+11 -9
src
+11 -9
src/App.svelte
··· 130 130 </script> 131 131 132 132 <main class="w-full mt-10"> 133 - <div class="max-w-4xl mx-auto px-3"> 133 + <div class="max-w-5xl mx-auto px-3"> 134 134 135 135 <header class="flex items-center gap-10 flex-wrap"> 136 136 <div class="grow"> ··· 196 196 <thead> 197 197 <tr> 198 198 <th>endpoint</th> 199 - <th>status</th> 200 - <th>last bundle</th> 201 - <th>mempool</th> 199 + <th>ok?</th> 200 + <th>last</th> 201 + <th>mempool</th> 202 + <th>age</th> 202 203 <th>head</th> 203 204 <th>root</th> 204 205 <th>version</th> ··· 207 208 <th>latency</th> 208 209 </tr> 209 210 </thead> 210 - <tbody> 211 + <tbody class="[&>tr]:hover:bg-primary-500/10"> 211 212 {#each orderBy(instances, ...instanceOrderBy) as instance} 212 213 <tr> 213 214 <td><a href={instance.url} target="_blank" class="font-semibold">{instance.url.replace("https://", "")}</a></td> 214 215 <td>{#if instance._head}{#if isConflict}⚠️{:else}✅{/if}{:else if instance.status}🔄{:else}⌛{/if}</td> 215 216 <td>{#if instance.status?.bundles?.last_bundle}{instance.status?.bundles?.last_bundle}{/if}</td> 216 - <td>{#if instance.status?.mempool && instance.status?.bundles?.last_bundle === lastKnownBundle.number}{formatNumber(instance.status?.mempool.count)}{:else if instance.status}<span class="opacity-25">syncing</span>{/if}</td> 217 + <td>{#if instance.status?.mempool && instance._head}{formatNumber(instance.status?.mempool.count)}{:else if instance.status}<span class="opacity-25">syncing</span>{/if}</td> 218 + <td class="text-xs opacity-50">{#if instance.status?.mempool && instance._head}{instance.status?.mempool.last_op_age_seconds || 0}s{/if}</td> 217 219 <td><span class="font-mono text-xs {instance._head ? (isConflict ? 'text-error-600' : 'text-success-600') : 'opacity-50'}">{#if instance.status?.bundles?.head_hash}{instance.status?.bundles?.head_hash.slice(0, 7)}{/if}</span></td> 218 220 <td><span class="font-mono text-xs {instance.status ? (instance.status?.bundles?.root_hash === ROOT ? 'text-success-600' : 'text-error-600') : ''}">{#if instance.status?.bundles?.root_hash}{instance.status?.bundles?.root_hash.slice(0, 7)}{/if}</span></td> 219 - <td>{#if instance.status?.server?.version}{instance.status?.server?.version}{/if}</td> 220 - <td>{#if instance.status?.server?.websocket_enabled}✔︎{:else if instance.status}<span class="opacity-25">-</span>{/if}</td> 221 + <td class="text-xs">{#if instance.status?.server?.version}<a href="{instance.url}/status">{instance.status?.server?.version}</a>{/if}</td> 222 + <td class="text-xs">{#if instance.status?.server?.websocket_enabled}✔︎{:else if instance.status}<span class="opacity-25">-</span>{/if}</td> 221 223 <td class="text-xs">{#if instance.status?.server?.uptime_seconds}{formatUptime(instance.status?.server?.uptime_seconds)}{/if}</td> 222 - <td class="opacity-50">{#if instance.status?.latency}{Math.round(instance.status?.latency)}ms{/if}</td> 224 + <td class="text-xs opacity-50">{#if instance.status?.latency}{Math.round(instance.status?.latency)}ms{/if}</td> 223 225 </tr> 224 226 {/each} 225 227 </tbody>