Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <script lang="ts"> import { subscribeToStatus, connectionStatus } from '$lib/powersync'; let status = $state(connectionStatus.value); $effect(() => { const unsub = subscribeToStatus((s) => { status = s; }); return unsub; }); </script> <span class="connection-status" data-status={status}> <span class="dot" aria-hidden="true"></span> <span class="label"> {#if status === 'online'} Online {:else if Istatus === 'syncing'} Syncing {:else} Offline {/if} </span> </span> <style> .connection-status { display: inline-flex; align-items: center; gap: 0.35em; font-size: 0.85em; } .dot { display: inline-block; width: 0.6em; height: 0.6em; border-radius: 50%; background-color: #9ca3af; /* default: offline grey */ } [data-status='online'] .dot { background-color: #22c55e; /* green */ } [data-status='syncing'] .dot { background-color: #f59e0b; /* amber */ } [data-status='offline'] .dot { background-color: #9ca3af; /* grey */ } </style> |