Skip to content
This repository was archived by the owner on Jul 17, 2025. It is now read-only.

Conversation

@lammersluc
Copy link
Collaborator

No description provided.

suggestied and others added 30 commits February 11, 2025 10:38
…velop

# Conflicts:
#	lib/ui/screens/home/page.dart
#	lib/ui/screens/profile/page.dart
#	lib/ui/screens/wardrobe/page.dart
#	lib/ui/widgets/tab_scaffold.dart
…layout; adjust max width in Wardrobe screen and update tab navigation logic
…ity result; update constructors to use shorthand syntax and remove unnecessary comments
…mplement indexed stack for navigation and enhance Profile screen with a tab bar for public items and outfits
…or ScaffoldWithNavBar to use dynamic destinations and simplify layout
…navigation bar to reflect settings instead of profile
…improve user profile loading and disposal of controllers
suggestied and others added 30 commits February 15, 2025 00:11
Add UI components for various models to be used in the app with just their model passed.

* **Brand Component**
  - Add `lib/ui/widgets/brand/brand_component.dart` to display brand name.

* **Community Post Components**
  - Add `lib/ui/widgets/community_post/community_post_component.dart` to display post content and user profile.
  - Add `lib/ui/widgets/community_post_comment/community_post_comment_component.dart` to display comment and user profile.
  - Add `lib/ui/widgets/community_post_like/community_post_like_component.dart` to display user profile who liked the post.

* **Item Components**
  - Add `lib/ui/widgets/item_category/item_category_component.dart` to display item category name.
  - Add `lib/ui/widgets/item_metadata/item_metadata_component.dart` to display item metadata details.
  - Add `lib/ui/widgets/lookbook_item/lookbook_item_component.dart` to display lookbook item details.
  - Add `lib/ui/widgets/outfit_item/outfit_item_component.dart` to display outfit item details.
  - Add `lib/ui/widgets/use_item/use_item_component.dart` to display use item details.
  - Add `lib/ui/widgets/use_outfit/use_outfit_component.dart` to display use outfit details.
Refactor the screen folder to use controllers and update views accordingly.

* **Auth Screen**: Replace direct authentication logic with `AuthController` methods. Update UI to reflect controller-based state management.
* **Camera Screen**: Replace direct image picking and uploading logic with `CameraController` methods. Update UI to reflect controller-based state management.
* **Home Screen**: Replace direct data fetching logic with `HomeController` methods. Update UI to reflect controller-based state management.
* **Lookbook Screen**: Replace direct data fetching logic with `LookbookController` methods. Update UI to reflect controller-based state management.
* **Settings Screen**: Replace direct settings logic with `SettingsController` methods. Update UI to reflect controller-based state management.
* **Wardrobe Screen**: Replace direct data fetching logic with `WardrobeController` methods. Update UI to reflect controller-based state management.

* **Controllers**: 
  - Add `AuthController` to handle user authentication.
  - Add `CameraController` to handle camera interactions.
  - Add `HomeController` to handle home screen interactions.
  - Add `LookbookController` to handle lookbook interactions.
  - Add `SettingsController` to handle settings interactions.
  - Add `WardrobeController` to handle wardrobe interactions.
Rewrite screens to use controllers and create views
Add settings account page view and controller to upsert user profile, load initial data, and include avatar uploader.

* **Controller**: Add `SettingsAccountController` in `lib/controllers/settings_account_controller.dart` to handle upserting user profile, loading initial data, and image uploading.
* **Dependency Injection**: Update `lib/di/service_locator.dart` to register `SettingsAccountController`.
* **Routing**: Update `lib/router/app_router.dart` to include a route for the settings account page.
* **View**: Add `lib/ui/screens/wardrobe/settings/account_page.dart` to create the settings account page view with avatar uploader and profile data.
* **Navigation**: Update `lib/ui/screens/wardrobe/settings/page.dart` to navigate to the new settings account page when "Account" option is selected.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/OpenWardrobe/app/tree/develop?shareId=XXXX-XXXX-XXXX-XXXX).
…ccount-page

Create settings account page view and controller
Fix memory leaks in various parts of the application.

* **Camera Cubit**: Dispose `CameraController` in the `close` method in `lib/presentation/blocs/camera/camera_cubit.dart`.
* **Camera Controller**: Clear previous selections in the `pickImages` method in `lib/controllers/camera_controller.dart`.
* **Settings Account Controller**: Clear previous selections in the `pickImage` method in `lib/controllers/settings_account_controller.dart`.
* **Wardrobe Page**: Dispose of resources or controllers in the `dispose` method in `lib/ui/screens/wardrobe/page.dart`.
* **Camera Page**: Dispose of resources or controllers in the `dispose` method in `lib/ui/screens/camera/page.dart`.
* **Lookbook Page**: Convert `LookbookScreen` to a `StatefulWidget` and dispose of resources or controllers in the `dispose` method in `lib/ui/screens/lookbook/page.dart`.
* **Settings Page**: Convert `SettingsScreen` to a `StatefulWidget` and dispose of resources or controllers in the `dispose` method in `lib/ui/screens/settings/page.dart`.
* **Wardrobe Item Page**: Convert `WardrobeItemPage` to a `StatefulWidget` and dispose of resources or controllers in the `dispose` method in `lib/ui/screens/wardrobe_item/page.dart`.
* **Account Page**: Dispose of resources or controllers in the `dispose` method in `lib/ui/screens/wardrobe/settings/account_page.dart`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/OpenWardrobe/app/tree/develop?shareId=XXXX-XXXX-XXXX-XXXX).
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants