-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlist_provider.dart
61 lines (57 loc) · 2.46 KB
/
list_provider.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'notifyy.dart';
class ListColor extends StatelessWidget {
final List<Colour> listcolor = [
Colour(name: 'Terry', color: Colors.pinkAccent, icon: Icons.control_camera),
Colour(name: 'Jasmine', color: Colors.greenAccent, icon: Icons.control_camera),
Colour(name: 'Koh-e-noor', color: Colors.amberAccent, icon: Icons.control_camera),
Colour(name: 'Boss', color: Colors.deepOrange, icon: Icons.control_camera),
Colour(name: 'Mitra', color: Colors.green, icon: Icons.control_camera),
Colour(name: 'Nofel', color: Colors.cyan, icon: Icons.control_camera),
Colour(name: 'Ghost', color: Colors.purpleAccent, icon: Icons.control_camera),
Colour(name: 'Witch', color: Colors.purple, icon: Icons.control_camera),
Colour(name: 'Rose', color: Colors.pink, icon: Icons.control_camera),
Colour(name: 'Tulip', color: Colors.amber, icon: Icons.control_camera),
Colour(name: 'Snow Flake', color: Colors.blue, icon: Icons.control_camera),
Colour(name: 'Cherry Blossom', color: Colors.teal, icon: Icons.control_camera),
Colour(name: 'Nature', color: Colors.brown, icon: Icons.control_camera),
Colour(name: 'Moon', color: Colors.lightGreen, icon: Icons.control_camera),
Colour(name: 'Galaxy', color: Colors.red, icon: Icons.control_camera),
Colour(name: 'Jalebi', color: Colors.black, icon: Icons.control_camera),
];
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: listcolor.length,
itemBuilder: (context, index) {
return ListTile(
leading: Icon(
listcolor[index].icon,
color: listcolor[index].color,
),
title: Text(listcolor[index].name),
trailing: Consumer<Notifyy>(
builder: (context, notifyy, child) {
return TextButton(
onPressed: () {
notifyy.togglePrice(index);
},
child: Icon(
notifyy.isSelected(index) ? Icons.remove : Icons.add_box_outlined,
color: Colors.black26,
),
);
},
),
);
},
);
}
}
class Colour {
final String name;
final Color color;
final IconData icon; // Use IconData for the icon property
Colour({required this.name, required this.color, required this.icon});
}