iiitl / iiitl/Tap2Eat

[feat]: Implement password visibility toggle on Login Screen

Open Beginner friendly
#1 7 comments 0 reactions 0 assignees View on GitHub
easy feat good first issue
Dominant language
Kotlin
Stars
0
Forks
7
PR merge metrics
No merged PRs in 30d

Description

Users frequently mistype their passwords during login because characters are hidden by default with no way to verify what they have typed. This is a common source of login frustration, especially on mobile where typing accuracy is lower.

A simple password visibility toggle — the standard eye icon at the end of the password field — gives users the confidence to verify their input before submitting, reducing failed login attempts significantly.

This is a built-in feature of Material Design's `TextInputLayout` and requires minimal implementation effort.

## Current Behavior

The password field on the Login Screen hides all characters by default. There is no way for the user to reveal what they have typed, making it easy to unknowingly submit an incorrect password.

## Expected Behavior

An eye icon appears at the trailing end of the password input field. Tapping it toggles between:
- **Hidden** — characters masked as dots (default)
- **Visible** — characters shown as plain text

## Expected Solution

- Wrap the existing password `EditText` inside a `TextInputLayout` in the Login Screen XML.
- Add `app:endIconMode="password_toggle"` to the `TextInputLayout`.
- Ensure the inner `TextInputEditText` has `android:inputType="textPassword"` set so the toggle works correctly.

## Example

**Before (`activity_main.xml`):**
```xml

```

**After (`activity_main.xml`):**
```xml



```

## Acceptance Criteria

- [ ] The app compiles and runs without crashes after the change.
- [ ] A screenshot showing both the hidden and visible states is attached to the PR.

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate the Login Screen XML and the existing password EditText, using the activity_main.xml example as a reference. Confirm the Material TextInputLayout dependency and run the app to verify that the password starts hidden and the eye control switches between hidden and visible states. Done means the app compiles without crashes and the pull request includes screenshots of both states.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
authentication, mobile
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.