diff --git a/app/src/Server.js b/app/src/Server.js index 46dd9231..0a1ec4e2 100644 --- a/app/src/Server.js +++ b/app/src/Server.js @@ -55,7 +55,7 @@ dev dependencies: { * @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon * @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970 * @author Miroslav Pejic - miroslav.pejic.85@gmail.com - * @version 1.7.12 + * @version 1.7.13 * */ diff --git a/app/src/config.template.js b/app/src/config.template.js index 82a64f22..6e02b5d6 100644 --- a/app/src/config.template.js +++ b/app/src/config.template.js @@ -436,15 +436,22 @@ module.exports = { */ brand: { app: { + language: 'en', // https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes name: 'MiroTalk SFU', title: 'MiroTalk SFU
Free browser based Real-time video calls.
Simple, Secure, Fast.', description: 'Start your next video call with a single click. No download, plug-in, or login is required. Just get straight to talking, messaging, and sharing your screen.', + joinDescription: 'Pick a room name.
How about this one?', + joinButtonLabel: 'JOIN ROOM', + joinLastLabel: 'Your recent room:', }, site: { title: 'MiroTalk SFU, Free Video Calls, Messaging and Screen Sharing', icon: '../images/logo.svg', appleTouchIcon: '../images/logo.svg', + newRoomTitle: 'Pick name.
Share URL.
Start conference.', + newRoomDescription: + "Each room has its disposable URL. Just pick a room name and share your custom URL. It's that easy.", }, meta: { description: diff --git a/package.json b/package.json index f9843ae5..f742c03d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirotalksfu", - "version": "1.7.12", + "version": "1.7.13", "description": "WebRTC SFU browser-based video calls", "main": "Server.js", "scripts": { diff --git a/public/js/Brand.js b/public/js/Brand.js index 4625daa4..697a58bf 100644 --- a/public/js/Brand.js +++ b/public/js/Brand.js @@ -6,6 +6,8 @@ const brandData = window.sessionStorage.getItem(brandDataKey); const title = document.getElementById('title'); const icon = document.getElementById('icon'); const appleTouchIcon = document.getElementById('appleTouchIcon'); +const newRoomTitle = document.getElementById('newRoomTitle'); +const newRoomDescription = document.getElementById('newRoomDescription'); const description = document.getElementById('description'); const keywords = document.getElementById('keywords'); @@ -19,6 +21,8 @@ const ogUrl = document.getElementById('ogUrl'); const appTitle = document.getElementById('appTitle'); const appDescription = document.getElementById('appDescription'); +const joinDescription = document.getElementById('joinDescription'); +const joinLastLabel = document.getElementById('joinLastLabel'); const features = document.getElementById('features'); const teams = document.getElementById('teams'); @@ -32,15 +36,22 @@ const footer = document.getElementById('footer'); // app/src/config.js - ui.brand let BRAND = { app: { + language: 'en', name: 'MiroTalk SFU', title: 'MiroTalk SFU
Free browser based Real-time video calls.
Simple, Secure, Fast.', description: 'Start your next video call with a single click. No download, plug-in, or login is required. Just get straight to talking, messaging, and sharing your screen.', + joinDescription: 'Pick a room name.
How about this one?', + joinButtonLabel: 'JOIN ROOM', + joinLastLabel: 'Your recent room:', }, site: { title: 'MiroTalk SFU, Free Video Calls, Messaging and Screen Sharing', icon: '../images/logo.svg', appleTouchIcon: '../images/logo.svg', + newRoomTitle: 'Pick name.
Share URL.
Start conference.', + newRoomDescription: + "Each room has its disposable URL. Just pick a room name and share your custom URL. It's that easy.", }, meta: { description: @@ -138,6 +149,15 @@ function customizeApp() { if (appDescription) { appDescription.textContent = BRAND.app.description; } + if (joinDescription) { + joinDescription.innerHTML = BRAND.app.joinDescription; + } + if (joinRoomButton) { + joinRoomButton.innerText = BRAND.app.joinButtonLabel; // Common.js + } + if (joinLastLabel) { + joinLastLabel.innerText = BRAND.app.joinLastLabel; + } } // SITE metadata @@ -151,6 +171,12 @@ function customizeSite() { if (appleTouchIcon) { appleTouchIcon.href = BRAND.site.appleTouchIcon; } + if (newRoomTitle) { + newRoomTitle.innerHTML = BRAND.site.newRoomTitle; + } + if (newRoomDescription) { + newRoomDescription.textContent = BRAND.site.newRoomDescription; + } } // SEO metadata diff --git a/public/js/Common.js b/public/js/Common.js index 7fcebcd7..bdf78a31 100644 --- a/public/js/Common.js +++ b/public/js/Common.js @@ -156,8 +156,10 @@ function typeWriter() { } const roomName = document.getElementById('roomName'); + if (roomName) { roomName.value = ''; + if (window.sessionStorage.roomID) { roomName.value = window.sessionStorage.roomID; window.sessionStorage.roomID = false; @@ -165,6 +167,13 @@ if (roomName) { } else { typeWriter(); } + + roomName.onkeyup = (e) => { + if (e.keyCode === 13) { + e.preventDefault(); + joinRoom(); + } + }; } // #################################################################### @@ -174,6 +183,7 @@ if (roomName) { const lastRoomContainer = document.getElementById('lastRoomContainer'); const lastRoom = document.getElementById('lastRoom'); const lastRoomName = window.localStorage.lastRoom ? window.localStorage.lastRoom : ''; + if (lastRoomContainer && lastRoom && lastRoomName) { lastRoomContainer.style.display = 'inline-flex'; lastRoom.setAttribute('href', '/join/?room=' + lastRoomName); @@ -202,13 +212,6 @@ if (adultCnt) { }; } -document.getElementById('roomName').onkeyup = (e) => { - if (e.keyCode === 13) { - e.preventDefault(); - joinRoom(); - } -}; - function genRoom() { document.getElementById('roomName').value = getUUID4(); } diff --git a/public/js/Room.js b/public/js/Room.js index 195718b6..2752e471 100644 --- a/public/js/Room.js +++ b/public/js/Room.js @@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h * @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon * @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970 * @author Miroslav Pejic - miroslav.pejic.85@gmail.com - * @version 1.7.12 + * @version 1.7.13 * */ @@ -4904,7 +4904,7 @@ function showAbout() { imageUrl: image.about, customClass: { image: 'img-about' }, position: 'center', - title: 'WebRTC SFU v1.7.12', + title: 'WebRTC SFU v1.7.13', html: `
diff --git a/public/js/RoomClient.js b/public/js/RoomClient.js index 93197b7c..2550bcd9 100644 --- a/public/js/RoomClient.js +++ b/public/js/RoomClient.js @@ -9,7 +9,7 @@ * @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon * @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970 * @author Miroslav Pejic - miroslav.pejic.85@gmail.com - * @version 1.7.12 + * @version 1.7.13 * */ diff --git a/public/js/Translate.js b/public/js/Translate.js index e7fbbf3a..235b0d7d 100644 --- a/public/js/Translate.js +++ b/public/js/Translate.js @@ -6,5 +6,26 @@ script.setAttribute('src', 'https://translate.google.com/translate_a/element.js? document.head.appendChild(script); function googleTranslateElementInit() { - new google.translate.TranslateElement({ pageLanguage: 'en' }, 'google_translate_element'); + new google.translate.TranslateElement( + { + pageLanguage: 'en', + autoDisplay: false, + }, + 'google_translate_element', + ); + + const interval = setInterval(() => { + const language = BRAND.app.language ? BRAND.app.language : 'en'; + + if (language === 'en') { + clearInterval(interval); + } + + const select = document.querySelector('.goog-te-combo'); + if (select) { + select.value = language; + select.dispatchEvent(new Event('change')); + clearInterval(interval); + } + }, 500); } diff --git a/public/views/Room.html b/public/views/Room.html index 8db2b0ff..a2f1b304 100644 --- a/public/views/Room.html +++ b/public/views/Room.html @@ -81,8 +81,6 @@ - - @@ -110,6 +108,7 @@ + diff --git a/public/views/landing.html b/public/views/landing.html index f18a30fb..d76d9ee8 100644 --- a/public/views/landing.html +++ b/public/views/landing.html @@ -122,7 +122,7 @@
-

+

Pick a room name.
How about this one?

@@ -141,7 +141,7 @@
- Your recent room: + Your recent room:
diff --git a/public/views/newroom.html b/public/views/newroom.html index 8c39e0b3..b08142a5 100755 --- a/public/views/newroom.html +++ b/public/views/newroom.html @@ -85,12 +85,12 @@
-

+

Pick name.
Share URL.
Start conference.

-

+

Each room has its disposable URL. Just pick a room name and share your custom URL. It's that easy.

@@ -119,7 +119,7 @@
-

+

Pick a room name.
How about this one?

@@ -138,7 +138,7 @@
- Your recent room: + Your recent room: