Commit Graph

7 Commits

Author SHA1 Message Date
hunteraraujo
41f0b472c0 Remove dark mode toggle until implementation is completed 2023-09-28 00:00:07 -07:00
hunteraraujo
41a4ff828c Clean up settings view 2023-09-24 22:01:50 -07:00
hunteraraujo
da8b9d58ac Refactor Settings and Task Views for API Base URL Management
- Deprecated `ApiSettingsViewModel` in favor of enhancing `SettingsViewModel`.
- Moved the API Base URL field from `TaskView` to `SettingsView` to centralize configuration.
- Integrated `RestApiUtility` dependency into `SettingsViewModel` to ensure consistent URL management across the app.
2023-09-24 21:41:12 -07:00
hunteraraujo
9463fbbe2b Refactor SettingsView to Accept External ViewModel
Changed the architecture of the SettingsView to align with the existing pattern in the application. Instead of creating its own instance of SettingsViewModel, the view now accepts an external viewModel as a parameter. This ensures consistency across the application and allows for better modularity and reusability of components.
2023-09-24 13:31:47 -07:00
hunteraraujo
9bd06cefdd Change color of settings app bar 2023-09-24 12:13:05 -07:00
hunteraraujo
a09d2a581f Enhance SettingsViewModel with State Persistence and Sign Out
This commit enriches the `SettingsViewModel` by integrating state persistence functionality and a sign-out method, thus ensuring a more robust and user-friendly settings feature.

Key Enhancements:
1. **State Persistence**:
   - Leveraging the `shared_preferences` package, the app now stores and retrieves user preferences related to app settings, ensuring consistency across app restarts.
   - Preferences like Dark Mode, Developer Mode, Base URL, and Continuous Mode Steps are persistently stored and loaded when the ViewModel is initialized.

2. **Sign Out Method**:
   - A `signOut` method has been introduced in the ViewModel, utilizing the `AuthService` to facilitate user sign-out processes.
   - This addition allows for seamless integration of sign-out functionality within the settings interface, granting users the ability to easily terminate sessions.

3. **SettingsView Enhancement**:
   - The `SettingsView` has been adapted to incorporate a UI element invoking the `signOut` method, enhancing user interaction within the settings environment.

This enhancement not only bolsters the resilience and usability of the app’s settings but also lays down a structured approach for potential future additions to user preferences and settings-related functionalities.
2023-09-23 21:51:07 -07:00
hunteraraujo
bb627442d4 Implement SettingsView for User Configurable Settings
This commit introduces the `SettingsView` class, which is responsible for rendering the user interface for the settings feature of the app. This View is associated with the `SettingsViewModel` for state management and logic.

Features Represented in this View:
- Dark Mode: A switch to enable or disable Dark Mode.
- Developer Mode: A switch to enable or disable Developer Mode.
- Base URL: A text field to input and configure the Base URL.
- Continuous Mode Steps: User-friendly '+' and '-' buttons allowing users to configure the number of steps for continuous mode.

The `SettingsView` utilizes the Flutter `ListView` to display various settings options, providing an intuitive and user-friendly experience. It employs reactive state management using the `Provider` package, ensuring that any state changes in the associated ViewModel are reflected immediately in the View. Proper documentation and comments have been added for better code readability and maintenance.
2023-09-22 14:41:41 -07:00