From 870fa5488aa2d062550e8cae636b628ab5383a22 Mon Sep 17 00:00:00 2001 From: Alex <78383757+Lextical@users.noreply.github.com> Date: Sun, 12 Apr 2026 01:08:25 -0600 Subject: [PATCH] added Forgetpassword page with no logic yet --- android/app/src/main/AndroidManifest.xml | 3 + .../activities/ForgotPasswordActivity.java | 46 +++++++++ .../activities/MainActivity.java | 5 + .../res/layout/activity_forgot_password.xml | 93 +++++++++++++++++++ .../app/src/main/res/layout/activity_main.xml | 12 +++ 5 files changed, 159 insertions(+) create mode 100644 android/app/src/main/java/com/example/petstoremobile/activities/ForgotPasswordActivity.java create mode 100644 android/app/src/main/res/layout/activity_forgot_password.xml diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index cef8c8c2..2a5bfc14 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -34,6 +34,9 @@ android:name=".activities.HomeActivity" android:windowSoftInputMode="adjustResize" android:exported="false" /> + diff --git a/android/app/src/main/java/com/example/petstoremobile/activities/ForgotPasswordActivity.java b/android/app/src/main/java/com/example/petstoremobile/activities/ForgotPasswordActivity.java new file mode 100644 index 00000000..385444ed --- /dev/null +++ b/android/app/src/main/java/com/example/petstoremobile/activities/ForgotPasswordActivity.java @@ -0,0 +1,46 @@ +package com.example.petstoremobile.activities; + +import android.os.Bundle; +import android.widget.Toast; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.example.petstoremobile.databinding.ActivityForgotPasswordBinding; +import com.example.petstoremobile.utils.InputValidator; + +import dagger.hilt.android.AndroidEntryPoint; + +@AndroidEntryPoint +public class ForgotPasswordActivity extends AppCompatActivity { + + private ActivityForgotPasswordBinding binding; + + @Override + protected void onCreate(Bundle savedInstanceState) { + EdgeToEdge.enable(this); + super.onCreate(savedInstanceState); + binding = ActivityForgotPasswordBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + ViewCompat.setOnApplyWindowInsetsListener(binding.forgotPasswordRoot, (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + binding.btnSubmit.setOnClickListener(v -> { + if (InputValidator.isValidEmail(binding.etEmail)) { + String email = binding.etEmail.getText().toString().trim(); + // TODO: Implement password reset logic here + Toast.makeText(this, "If this email is linked, a reset email will be sent.", Toast.LENGTH_LONG).show(); + finish(); + } + }); + + binding.btnBackToLogin.setOnClickListener(v -> finish()); + } +} diff --git a/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java b/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java index 022192f1..25969757 100644 --- a/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java +++ b/android/app/src/main/java/com/example/petstoremobile/activities/MainActivity.java @@ -89,6 +89,11 @@ public class MainActivity extends AppCompatActivity { performLogin(username, password); }); + + // Set click listener for forgot password link + binding.tvForgotPassword.setOnClickListener(v -> { + startActivity(new Intent(this, ForgotPasswordActivity.class)); + }); } /** diff --git a/android/app/src/main/res/layout/activity_forgot_password.xml b/android/app/src/main/res/layout/activity_forgot_password.xml new file mode 100644 index 00000000..b63ae318 --- /dev/null +++ b/android/app/src/main/res/layout/activity_forgot_password.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + +