{#if status === "disconnected"}

freeremote

{#if context}

Please upload your key below to access your remote station.

{:else}

Please click the button below to continue.

{/if}
{:else if status === "connecting"}
{:else}

{clubName} - {remoteState ?.currentUser.callsign}

{#if remoteState?.mode === "voice"}
{#each [7, 6, 5, 4, 3, 2, 1] as i}

{ e.preventDefault(); if (e.deltaY < 0) { socket.emit( "frequency", remoteState.frequency + 10 ** (i - 1) ); } else { socket.emit( "frequency", remoteState.frequency - 10 ** (i - 1) ); } }} > {(() => { let digit = Math.floor( (remoteState?.frequency % 10 ** i) / 10 ** (i - 1) ); if (isNaN(digit)) return 0; else return digit; })()}

{#if i === 3}

.

{/if} {/each}

{sunits}

{pwr}W

{(() => { if (swr > 50) return "∞"; else return ( 1 + Math.floor( (swr / 11) * 0.5 * 10 ) / 10 ); })()}:1

Mic

Output gain

| | | |
Muted 100% 200% 300%

Mic gain

| | | |
Muted 100% 200% 300%

Logbook

{#if logbook.length === 0}

No entries found.

{:else}
{#each logbook as entry, i} {/each}
Callsign Mode Freq (MHz) RST (sent) RST (rcvd) Date (UTC) Time (UTC) Delete
{entry.CALL} {entry.MODE} {entry.FREQ} {entry.RST_SENT} {entry.RST_RCVD} {entry.QSO_DATE} {entry.TIME_ON}
{/if}
{/if}
{/if}
{#each errors as error, i} {/each}