Screens
Login · Register · Forgot
Overview
Three Flutter screens — LoginScreen, RegisterScreen, ForgotPasswordScreen — that bind to AuthController and submit the form payload. UI-only: no business logic.
Screens
Loginwireframe
default
Email + password with 'Forgot?' link — the app's front door.
Login — submittingwireframe
loading
Button swaps to a spinner; inputs disabled to block double-submit.
Login — invalid credentialswireframe
error
Neutral error banner — never reveals which field was wrong.
Registration formwireframe
default
Live password-strength meter is UI-only — real rules live in the use case.
Reset passwordwireframe
default
Single email field; confirmation is identical for known and unknown emails.
Set new passwordwireframe
default
Reached via the email deep link — strength meter mirrors registration.
Profile drawer — sign outwireframe
default
Sign-out entry point. Capture pending — drop the PNG to light it up.
User Flow
- Screen mounts → reads AuthController via Get.find().
- Form validates locally (TextFormField validators) before calling the controller.
- While controller.isBusy → button shows a spinner, fields disable.
- Errors render via Get.snackbar from the controller; success navigates away.
Cases & Edge Cases
- Keyboard-driven 'submit on enter' wired with TextInputAction.next/done.
- Forgot-password screen always shows the same neutral confirmation (anti-enumeration).
- Register screen shows a live password-strength meter (UI-only).
Code References
- lib/features/auth/presentation/screens/login_screen.dart
- lib/features/auth/presentation/screens/register_screen.dart
- lib/features/auth/presentation/screens/forgot_password_screen.dart
API Calls
Empty — fill this in later. Open the manifest and add content here.
Notes
Screens never import use cases or repositories directly. The controller is the only door in.