This document describes the "phone_login" Flutter application, its purpose, implementation details, and file layout.
## Purpose
The "phone_login" app is a simple Flutter application that demonstrates a phone number-based authentication flow. It includes screens for entering a phone number, verifying an SMS code, and displaying different content based on the user's authentication status. The app also features a basic home screen and a profile screen.
## Implementation Details
The application is built using the Flutter framework and follows a layered architecture to separate concerns.
***Authentication:** The authentication flow is designed to be handled by Firebase Authentication, but it is currently mocked for demonstration purposes. The `AuthState` class manages the user's authentication state, now including `logout()` functionality and a more flexible `toggleLogin()` method.
***UI:** The user interface is built with Flutter's Material Design widgets. The screens are designed to be simple and intuitive. The `HomeScreen` now dynamically renders a `_LoggedInView` or `_LoggedOutView` based on the user's authentication status.