Fix voice persistence and dynamic room link updates
Voice Persistence: - Add voice/model saving to localStorage for persistent settings - Load voice from URL → localStorage → default priority order - Voice selection now persists across browser sessions and page refreshes Dynamic Room Links: - Add updateRoomLinksWithCurrentParams() function to update sidebar room links - Room links now dynamically update with current username, model, and voice settings - Both desktop and mobile room links stay synchronized with current parameters - Fixes issue where clicking room links would lose user's current settings Technical improvements: - Enhanced syncInputsAndQueryString() to save to localStorage and update room links - Initial sync call on page load ensures proper state from the start - Maintains backwards compatibility with existing functionality
This commit is contained in:
parent
859ee9c0d9
commit
060a91d2e1
2 changed files with 36 additions and 3 deletions
|
|
@ -609,6 +609,27 @@
|
|||
closeButton.style.display = "none";
|
||||
}
|
||||
|
||||
// Function to update all room links with current URL parameters
|
||||
function updateRoomLinksWithCurrentParams() {
|
||||
const currentParams = new URLSearchParams(window.location.search).toString();
|
||||
|
||||
// Update desktop room links
|
||||
const roomLinks = document.querySelectorAll('#rooms-list-ul a[href*="/chat/"]');
|
||||
roomLinks.forEach(link => {
|
||||
const url = new URL(link.href, window.location.origin);
|
||||
const roomPath = url.pathname; // e.g., "/chat/room-name"
|
||||
link.href = roomPath + (currentParams ? '?' + currentParams : '');
|
||||
});
|
||||
|
||||
// Update mobile room links (if they exist)
|
||||
const mobileRoomLinks = document.querySelectorAll('#rooms-list-modal-content a[href*="/chat/"]');
|
||||
mobileRoomLinks.forEach(link => {
|
||||
const url = new URL(link.href, window.location.origin);
|
||||
const roomPath = url.pathname; // e.g., "/chat/room-name"
|
||||
link.href = roomPath + (currentParams ? '?' + currentParams : '');
|
||||
});
|
||||
}
|
||||
|
||||
// Function to create a new room
|
||||
function createNewRoom() {
|
||||
const roomName = document.getElementById("new-room-name").value.trim();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue