diff --git a/frontend/src/lib/components/DeployFAB.svelte b/frontend/src/lib/components/DeployFAB.svelte new file mode 100644 index 0000000..609897e --- /dev/null +++ b/frontend/src/lib/components/DeployFAB.svelte @@ -0,0 +1,677 @@ + + + + + + +{#if panelOpen} +
+
+
+

BLE Deployer

+
+ + {isPaired ? 'Terhubung' : 'Terputus'} +
+ +
+ +
+ +
+ {#if !isPaired} + + {:else} +
+ +
+
+ {#if deployState === 'transferring' || deployState === 'flashing'} + + {:else} + + {/if} +
+ {/if} +
+ + +
+ HEX: + + {pendingHex ? `${Math.round(pendingHex.length / 1024)} KB siap` : 'Belum ada (compile di editor)'} + +
+ + + {#if deployState !== 'idle' && deployState !== 'error'} +
+
{deployMessage}
+ {#if totalChunks > 0} +
+
+
+
+ Chunk {completedChunks}/{totalChunks} ({progressPercent}%) +
+ {/if} +
+ {/if} + + + {#if isPaired} +
+
+ Serial Monitor +
+ + baud + +
+
+ {#if !serialActive} +
Serial data akan dikirim ke editor ({baudRate} baud).
+ {:else} +
Serial monitor aktif — data dikirim ke editor.
+ {/if} +
+ {/if} + + + {#if deployState === 'idle' && errorMessage} +
+
{errorMessage}
+
+ {/if} + + + {#if deployState === 'error'} +
+
+
{errorMessage}
+ +
+ {/if} + + {#if !bleSupported && deployState !== 'error'} +
+
Web Bluetooth tidak didukung di browser ini. Gunakan Chrome Android.
+
+ {/if} +
+
+{/if} + +