Skip to content

Commit 199a911

Browse files
Fix locker icon misalignment and enhance password visibility toggle feature (#761)
Co-authored-by: Ritik Singh <[email protected]>
1 parent d8ee14f commit 199a911

File tree

3 files changed

+28
-68
lines changed

3 files changed

+28
-68
lines changed

login.css

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -104,23 +104,6 @@ form.sign-in-form {
104104
padding-right: 2.5rem;
105105

106106
}
107-
.toggle-password {
108-
position: absolute;
109-
right: 15px; /* Align the icon to the right */
110-
cursor: pointer;
111-
}
112-
113-
.toggle-password i {
114-
color: #acacac; /* Style for the eye icon */
115-
font-size: 1.1rem;
116-
transition: color 0.3s ease;
117-
}
118-
119-
/* Hover effect for eye icon */
120-
.toggle-password:hover i {
121-
color: #333;
122-
}
123-
124107
.social-text {
125108
padding: 0.7rem 0;
126109
font-size: 1rem;
@@ -431,24 +414,6 @@ form.sign-in-form {
431414
transition: 0.3s;
432415
text-decoration: none;
433416
}
434-
435-
.input-field-password {
436-
position: relative;
437-
display: flex;
438-
align-items: center;
439-
}
440-
441-
.input-field-password input[type="password"] {
442-
width: 100%;
443-
padding-right: 2.5rem; /* Add some space for the eye icon */
444-
}
445-
446417
.toggle-password {
447-
position: absolute;
448-
right: 10px; /* Position the icon inside the input */
449418
cursor: pointer;
450-
}
451-
452-
.toggle-password i {
453-
color: #333; /* Icon color */
454-
}
419+
}

login.html

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,9 @@ <h2 class="title">Sign in</h2>
1919
<i class="fas fa-user"></i>
2020
<input type="text" placeholder="Username" />
2121
</div>
22-
<div class="input-field input-field-password">
23-
<i class="fas fa-lock"></i>
24-
<input type="password" id="password" placeholder="&nbsp;&nbsp;&nbsp;Password" />
25-
<span class="toggle-password">
26-
<i class="fas fa-eye" id="togglePassword"></i>
27-
</span>
22+
<div class="input-field">
23+
<i class="fas fa-lock toggle-password" id="toggle-password"></i>
24+
<input type="password" id="password-input" placeholder="Password" />
2825
</div>
2926

3027
<input type="submit" value="Login" class="btn solid" />
@@ -47,14 +44,10 @@ <h2 class="title">Sign up</h2>
4744
<i class="fas fa-envelope"></i>
4845
<input type="email" placeholder="Email" />
4946
</div>
50-
<div class="input-field input-field-password">
51-
<i class="fas fa-lock"></i>
52-
<input type="password" id="password" placeholder="&nbsp;&nbsp;&nbsp; Password" />
53-
<span class="toggle-password">
54-
<i class="fas fa-eye" id="togglePassword"></i>
55-
</span>
47+
<div class="input-field">
48+
<i class="fas fa-lock toggle-password" id="toggle-password"></i>
49+
<input type="password" id="password-input" placeholder="Password" />
5650
</div>
57-
5851
<input type="submit" class="btn" value="Sign up" />
5952
<p class="social-text">Or Sign up with social platforms</p>
6053
<div class="social-media">

login.js

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,6 @@
11
// Wait until the DOM is fully loaded before executing
22
document.addEventListener('DOMContentLoaded', () => {
33

4-
// Toggle password visibility for both sign-in and sign-up forms
5-
const togglePasswordIcons = document.querySelectorAll('.toggle-password');
6-
7-
togglePasswordIcons.forEach(iconWrapper => {
8-
iconWrapper.addEventListener('click', function () {
9-
const passwordField = this.previousElementSibling;
10-
const icon = this.querySelector('i');
11-
12-
// Toggle password visibility
13-
const isPasswordVisible = passwordField.type === 'password';
14-
passwordField.type = isPasswordVisible ? 'text' : 'password';
15-
16-
// Toggle icon between eye and eye-slash
17-
icon.classList.toggle('fa-eye', !isPasswordVisible);
18-
icon.classList.toggle('fa-eye-slash', isPasswordVisible);
19-
});
20-
});
21-
224
// Toggle between sign-in and sign-up mode
235
const sign_in_btn = document.querySelector("#sign-in-btn");
246
const sign_up_btn = document.querySelector("#sign-up-btn");
@@ -75,6 +57,26 @@ document.addEventListener('DOMContentLoaded', () => {
7557
window.location.href = 'index.html';
7658
});
7759

60+
// Toggle password visibility for sign-up form
61+
const forms = document.querySelectorAll('form');
62+
63+
forms.forEach(form => {
64+
const togglePassword = form.querySelector('#toggle-password');
65+
const passwordInput = form.querySelector('#password-input');
66+
67+
togglePassword.addEventListener('click', () => {
68+
if (passwordInput.type === 'password') {
69+
passwordInput.type = 'text';
70+
togglePassword.classList.add('fa-lock-open');
71+
togglePassword.classList.remove('fa-lock');
72+
} else {
73+
passwordInput.type = 'password';
74+
togglePassword.classList.add('fa-lock');
75+
togglePassword.classList.remove('fa-lock-open');
76+
}
77+
});
78+
});
79+
7880
// Check password strength for sign-up form
7981
function checkPasswordStrength() {
8082
const password = document.querySelector(".sign-up-form input[type='password']").value;
@@ -104,4 +106,4 @@ document.addEventListener('DOMContentLoaded', () => {
104106
// Monitor password input on the sign-up form to check password strength
105107
document.querySelector(".sign-up-form input[type='password']").addEventListener('input', checkPasswordStrength);
106108

107-
});
109+
});

0 commit comments

Comments
 (0)