[mirotalk] - feat: add toggle password visibility eye icon on login page
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
||||
# ====================================================
|
||||
# MiroTalk P2P v.1.7.51 - Environment Configuration
|
||||
# MiroTalk P2P v.1.7.52 - Environment Configuration
|
||||
# ====================================================
|
||||
|
||||
# App environment
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/**
|
||||
* ==============================================
|
||||
* MiroTalk P2P v.1.7.51 - Configuration File
|
||||
* MiroTalk P2P v.1.7.52 - Configuration File
|
||||
* ==============================================
|
||||
*
|
||||
* This file is the central configuration source.
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ dependencies: {
|
||||
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
|
||||
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
|
||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||
* @version 1.7.51
|
||||
* @version 1.7.52
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "mirotalk",
|
||||
"version": "1.7.50",
|
||||
"version": "1.7.52",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mirotalk",
|
||||
"version": "1.7.50",
|
||||
"version": "1.7.52",
|
||||
"license": "AGPL-3.0",
|
||||
"dependencies": {
|
||||
"@mattermost/client": "11.4.0",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mirotalk",
|
||||
"version": "1.7.51",
|
||||
"version": "1.7.52",
|
||||
"description": "A free WebRTC browser-based video call",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
|
||||
+23
-2
@@ -92,7 +92,7 @@
|
||||
position: relative;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.login-input-group i {
|
||||
.login-input-group i:not(.toggle-password) {
|
||||
position: absolute;
|
||||
left: 14px;
|
||||
top: 50%;
|
||||
@@ -105,10 +105,31 @@
|
||||
.login-input-group .form-input {
|
||||
padding-left: 42px;
|
||||
}
|
||||
.login-input-group:focus-within i {
|
||||
.login-input-group:focus-within i:not(.toggle-password) {
|
||||
color: #4678f9;
|
||||
}
|
||||
|
||||
/* Toggle password visibility */
|
||||
.login-input-group .toggle-password {
|
||||
position: absolute;
|
||||
right: 14px;
|
||||
left: auto;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
color: #6b7a85;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
pointer-events: all;
|
||||
z-index: 2;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
.toggle-password:hover {
|
||||
color: #4678f9;
|
||||
}
|
||||
.login-input-group .form-input:has(~ .toggle-password) {
|
||||
padding-right: 42px;
|
||||
}
|
||||
|
||||
/* Login button */
|
||||
.login-card .login-btn {
|
||||
width: 100%;
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ let brand = {
|
||||
},
|
||||
about: {
|
||||
imageUrl: '../images/mirotalk-logo.gif',
|
||||
title: 'WebRTC P2P v1.7.51',
|
||||
title: 'WebRTC P2P v1.7.52',
|
||||
html: `
|
||||
<button
|
||||
id="support-button"
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
|
||||
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
|
||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||
* @version 1.7.51
|
||||
* @version 1.7.52
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -13738,7 +13738,7 @@ function showAbout() {
|
||||
Swal.fire({
|
||||
background: swBg,
|
||||
position: 'center',
|
||||
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.7.51',
|
||||
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.7.52',
|
||||
imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about,
|
||||
customClass: { image: 'img-about' },
|
||||
html: `
|
||||
|
||||
@@ -4,6 +4,7 @@ console.log(window.location);
|
||||
|
||||
const usernameInput = document.getElementById('username');
|
||||
const passwordInput = document.getElementById('password');
|
||||
const togglePassword = document.getElementById('togglePassword');
|
||||
const loginBtn = document.getElementById('loginButton');
|
||||
const joinRoomForm = document.getElementById('joinRoomForm');
|
||||
const roomNameInput = document.getElementById('roomName');
|
||||
@@ -27,6 +28,13 @@ loginBtn.onclick = (e) => {
|
||||
login();
|
||||
};
|
||||
|
||||
togglePassword.onclick = () => {
|
||||
const isPassword = passwordInput.type === 'password';
|
||||
passwordInput.type = isPassword ? 'text' : 'password';
|
||||
togglePassword.classList.toggle('fa-eye', !isPassword);
|
||||
togglePassword.classList.toggle('fa-eye-slash', isPassword);
|
||||
};
|
||||
|
||||
function login() {
|
||||
const username = filterXSS(document.getElementById('username').value);
|
||||
const password = filterXSS(document.getElementById('password').value);
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
placeholder="Password"
|
||||
required
|
||||
/>
|
||||
<i id="togglePassword" class="fa-solid fa-eye toggle-password"></i>
|
||||
</div>
|
||||
<button id="loginButton" class="login-btn pulse">
|
||||
<i class="fa-solid fa-right-to-bracket"></i>
|
||||
|
||||
Reference in New Issue
Block a user