Add "Share Current Room" button to copy existing room config as share code
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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,6 +837,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{#if syncEnabled}
|
{#if syncEnabled}
|
||||||
<div class="room-actions">
|
<div class="room-actions">
|
||||||
|
<div class="room-buttons-row">
|
||||||
<button
|
<button
|
||||||
onclick={handleCreateRoom}
|
onclick={handleCreateRoom}
|
||||||
disabled={roomCreating}
|
disabled={roomCreating}
|
||||||
@@ -833,6 +845,14 @@
|
|||||||
>
|
>
|
||||||
{roomCreating ? "Creating..." : "Create Room"}
|
{roomCreating ? "Creating..." : "Create Room"}
|
||||||
</button>
|
</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;
|
||||||
|
|||||||
Reference in New Issue
Block a user