Robot Controls - {robot.id}
{#if isManualControlEnabled}
Manual Control
{:else}
External Control
{/if}
{#each joints as joint}
{joint.name}
{joint.value.toFixed(1)}%
{#if joint.name.toLowerCase() === 'jaw' || joint.name.toLowerCase() === 'gripper'}
0% (closed)
updateJoint(joint.name, parseFloat(e.currentTarget.value))} class="flex-1 h-2 bg-slate-700 rounded-lg appearance-none cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed" />
100% (open)
{:else}
-100%
updateJoint(joint.name, parseFloat(e.currentTarget.value))} class="flex-1 h-2 bg-slate-700 rounded-lg appearance-none cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed" />
+100%
{/if}
{#if joint.limits}
URDF limits: {(joint.limits.lower)}° to {joint.limits.upper}°
{/if}
{/each}