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

Commit 307c827

Browse files
committed
Refactor WardrobeScreen to use AppRepository and improve data fetching, and readd material design
1 parent 189726a commit 307c827

File tree

4 files changed

+38
-34
lines changed

4 files changed

+38
-34
lines changed

lib/router/app_router.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class AppRouter {
5959
GoRoute(
6060
path: '/wardrobe',
6161
name: 'Wardrobe',
62-
builder: (context, state) => const WardrobeScreen(),
62+
builder: (context, state) => WardrobeScreen(),
6363
),
6464
],
6565
),

lib/ui/screens/wardrobe/page.dart

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
import 'package:flutter/material.dart';
2-
import 'package:openwardrobe/brick/models/Wardrobe_Item.model.dart';
3-
import 'package:openwardrobe/services/wardrobe_item_service.dart';
2+
import 'package:openwardrobe/brick/models/wardrobe_item.model.dart';
3+
import 'package:openwardrobe/repositories/app_repository.dart';
44
// import waardrobe service from this project
55
import 'package:get_it/get_it.dart';
6+
import 'package:openwardrobe/ui/widgets/wardrobe_item/wardrobe_item_component.dart';
67

78
class WardrobeScreen extends StatelessWidget {
8-
const WardrobeScreen({super.key});
9+
WardrobeScreen({super.key});
10+
11+
final appRepo = GetIt.instance<AppRepository>();
12+
913

1014
@override
1115
Widget build(BuildContext context) {
@@ -26,30 +30,26 @@ class WardrobeScreen extends StatelessWidget {
2630
child: ConstrainedBox(
2731
constraints: const BoxConstraints(maxWidth: 500),
2832
child: FutureBuilder<List<WardrobeItem>>(
29-
future: GetIt.instance<WardrobeItemService>().getAll(),
30-
builder: (context, snapshot) {
31-
if (snapshot.connectionState == ConnectionState.waiting) {
32-
return const Center(child: CircularProgressIndicator());
33-
}
34-
35-
if (snapshot.hasError) {
36-
return Center(child: Text('Error: ${snapshot.error}'));
37-
}
38-
39-
final items = snapshot.data ?? [];
40-
41-
if (items.isEmpty) {
42-
return const Center(child: Text('No items found'));
43-
}
33+
future: appRepo.get<WardrobeItem>(),
34+
builder: (context, snapshot) {
4435

36+
if (snapshot.connectionState == ConnectionState.waiting) {
37+
return const Center(child: CircularProgressIndicator());
38+
} else if (snapshot.hasError) {
39+
return Center(
40+
child: Text('Error: ${snapshot.error}'),
41+
);
42+
} else if (!snapshot.hasData || snapshot.data!.isEmpty) {
43+
return const Center(child: Text('No items found'));
44+
} else {
45+
final items = snapshot.data!;
4546
return ListView.builder(
4647
itemCount: items.length,
47-
itemBuilder: (context, index) {
48-
return ListTile(title: Text("test"));
49-
},
48+
itemBuilder: (context, i) => WardrobeItemComponent(item: items[i]),
5049
);
51-
},
52-
),
50+
}
51+
},
52+
),
5353
),
5454
)
5555
],

pubspec.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,14 @@ packages:
334334
url: "https://pub.dev"
335335
source: hosted
336336
version: "3.0.6"
337+
cupertino_icons:
338+
dependency: "direct main"
339+
description:
340+
name: cupertino_icons
341+
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
342+
url: "https://pub.dev"
343+
source: hosted
344+
version: "1.0.8"
337345
dart_style:
338346
dependency: transitive
339347
description:
@@ -427,14 +435,6 @@ packages:
427435
url: "https://pub.dev"
428436
source: hosted
429437
version: "9.0.0"
430-
flutter_dotenv:
431-
dependency: "direct main"
432-
description:
433-
name: flutter_dotenv
434-
sha256: b7c7be5cd9f6ef7a78429cabd2774d3c4af50e79cb2b7593e3d5d763ef95c61b
435-
url: "https://pub.dev"
436-
source: hosted
437-
version: "5.2.1"
438438
flutter_lints:
439439
dependency: "direct dev"
440440
description:

pubspec.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,23 @@ version: 1.0.0+1
77
environment:
88
sdk: '>=3.6.2 <4.0.0'
99

10+
flutter:
11+
uses-material-design: true
12+
13+
1014
dependencies:
1115
flutter:
1216
sdk: flutter
1317

14-
flutter_dotenv: ^5.2.1
15-
supabase_flutter: ^2.8.3
18+
cupertino_icons: ^1.0.8
1619
go_router: ^14.7.2
1720
connectivity_plus: ^6.1.2
1821
path_provider: ^2.1.5
1922
flutter_bloc: ^9.0.0
2023
equatable: ^2.0.7
2124
supabase_auth_ui: ^0.5.4
2225
file_picker: ^8.3.5
26+
supabase_flutter: ^2.8.3
2327
brick_offline_first_with_supabase: ^1.3.0
2428
get_it: ^8.0.3
2529
sqflite: ^2.4.1

0 commit comments

Comments
 (0)