Add "Share Current Room" button to copy existing room config as share code
All checks were successful
Tests / Python Backend Tests (push) Successful in 5s
Tests / Frontend Tests (push) Successful in 7s
Tests / Rust Sidecar Tests (push) Successful in 1m58s

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Developer
2026-04-10 12:26:21 -07:00
parent 812cc4ac5e
commit 8670e19acc

View File

@@ -358,6 +358,17 @@
roomCreateMessage = "Room joined! Fields have been auto-filled."; roomCreateMessage = "Room joined! Fields have been auto-filled.";
} }
async function handleShareCurrentRoom() {
const code = encodeShareCode(syncUrl, syncRoom, syncPassphrase);
shareCode = code;
try {
await navigator.clipboard.writeText(code);
roomCreateMessage = "Share code copied to clipboard!";
} catch {
roomCreateMessage = "Share code generated. Copy it from the field below.";
}
}
async function copyShareCode() { async function copyShareCode() {
try { try {
await navigator.clipboard.writeText(shareCode); await navigator.clipboard.writeText(shareCode);
@@ -826,13 +837,22 @@
</div> </div>
{#if syncEnabled} {#if syncEnabled}
<div class="room-actions"> <div class="room-actions">
<button <div class="room-buttons-row">
onclick={handleCreateRoom} <button
disabled={roomCreating} onclick={handleCreateRoom}
class="secondary" disabled={roomCreating}
> class="secondary"
{roomCreating ? "Creating..." : "Create Room"} >
</button> {roomCreating ? "Creating..." : "Create Room"}
</button>
<button
onclick={handleShareCurrentRoom}
disabled={!syncUrl.trim() || !syncRoom.trim() || !syncPassphrase.trim()}
class="secondary"
>
Share Current Room
</button>
</div>
<div class="join-row"> <div class="join-row">
<input <input
type="text" type="text"
@@ -1086,6 +1106,11 @@
margin-bottom: 12px; margin-bottom: 12px;
} }
.room-buttons-row {
display: flex;
gap: 8px;
}
.join-row { .join-row {
display: flex; display: flex;
gap: 8px; gap: 8px;