fix: some fixes in example app
This commit is contained in:
@@ -166,13 +166,14 @@ class GymHistoryItem {
|
||||
final String date;
|
||||
final String sum;
|
||||
final String photo;
|
||||
final String timestamp;
|
||||
|
||||
GymHistoryItem({
|
||||
required this.id,
|
||||
required this.date,
|
||||
required this.sum,
|
||||
required this.photo,
|
||||
});
|
||||
GymHistoryItem(
|
||||
{required this.id,
|
||||
required this.date,
|
||||
required this.sum,
|
||||
required this.photo,
|
||||
required this.timestamp});
|
||||
|
||||
factory GymHistoryItem.fromRawJson(String str) =>
|
||||
GymHistoryItem.fromJson(json.decode(str));
|
||||
@@ -184,12 +185,14 @@ class GymHistoryItem {
|
||||
date: json["date"],
|
||||
sum: json["sum"],
|
||||
photo: json["photo"],
|
||||
timestamp: json["timestamp"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"date": date,
|
||||
"sum": sum,
|
||||
"timestamp": timestamp,
|
||||
"photo": photo,
|
||||
};
|
||||
}
|
||||
@@ -201,19 +204,20 @@ class GymHistoryItemDetail {
|
||||
String? payUrl;
|
||||
final String receiver;
|
||||
final String email;
|
||||
final String timestamp;
|
||||
final String address;
|
||||
final List<GymHistoryItemDetailProvider> providers;
|
||||
|
||||
GymHistoryItemDetail({
|
||||
required this.id,
|
||||
required this.date,
|
||||
required this.sum,
|
||||
this.payUrl,
|
||||
required this.providers,
|
||||
required this.receiver,
|
||||
required this.email,
|
||||
required this.address,
|
||||
});
|
||||
GymHistoryItemDetail(
|
||||
{required this.id,
|
||||
required this.date,
|
||||
required this.sum,
|
||||
this.payUrl,
|
||||
required this.providers,
|
||||
required this.receiver,
|
||||
required this.email,
|
||||
required this.address,
|
||||
required this.timestamp});
|
||||
|
||||
factory GymHistoryItemDetail.fromRawJson(String str) =>
|
||||
GymHistoryItemDetail.fromJson(json.decode(str));
|
||||
@@ -222,16 +226,16 @@ class GymHistoryItemDetail {
|
||||
|
||||
factory GymHistoryItemDetail.fromJson(Map<String, dynamic> json) =>
|
||||
GymHistoryItemDetail(
|
||||
id: json["id"],
|
||||
date: json["date"],
|
||||
sum: json["sum"],
|
||||
receiver: json["receiver"],
|
||||
email: json["email"],
|
||||
address: json["address"],
|
||||
payUrl: json["pay_url"] as String?,
|
||||
providers: List<GymHistoryItemDetailProvider>.from(json["providers"]
|
||||
.map((x) => GymHistoryItemDetailProvider.fromJson(x))),
|
||||
);
|
||||
id: json["id"],
|
||||
date: json["date"],
|
||||
sum: json["sum"],
|
||||
receiver: json["receiver"],
|
||||
email: json["email"],
|
||||
address: json["address"],
|
||||
payUrl: json["pay_url"] as String?,
|
||||
providers: List<GymHistoryItemDetailProvider>.from(json["providers"]
|
||||
.map((x) => GymHistoryItemDetailProvider.fromJson(x))),
|
||||
timestamp: json["timestamp"]);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
@@ -241,6 +245,7 @@ class GymHistoryItemDetail {
|
||||
"providers": List<dynamic>.from(providers.map((x) => x.toJson())),
|
||||
"receiver": receiver,
|
||||
"email": email,
|
||||
"timestamp": timestamp,
|
||||
"address": address,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -53,32 +53,49 @@ Widget getDrawer(BuildContext context) => Drawer(
|
||||
children: [
|
||||
const DrawerHeader(child: Text('Drawer Header')),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.home),
|
||||
title: const Text('Home'),
|
||||
onTap: () => Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const ExampleMainPage(),
|
||||
),
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.sell),
|
||||
title: const Text('Club 2'),
|
||||
onTap: () => Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ChangeNotifierProvider(
|
||||
create: (_) => GymLinkProvider(),
|
||||
child: Consumer<GymLinkProvider>(
|
||||
builder: (_, value, __) => const ExampleClub2Page(),
|
||||
leading: const Icon(Icons.home),
|
||||
title: const Text('Home'),
|
||||
onTap: () {
|
||||
Future.microtask(() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
prefs.remove('token');
|
||||
prefs.remove('history');
|
||||
prefs.remove('cart');
|
||||
prefs.remove('detail_history');
|
||||
});
|
||||
Navigator.of(context).pushReplacement(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const ExampleMainPage(),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.sell),
|
||||
title: const Text('Club 2'),
|
||||
onTap: () {
|
||||
Future.microtask(() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
prefs.remove('token');
|
||||
prefs.remove('history');
|
||||
prefs.remove('cart');
|
||||
prefs.remove('detail_history');
|
||||
});
|
||||
Navigator.of(context).pushReplacement(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ChangeNotifierProvider(
|
||||
create: (_) => GymLinkProvider(),
|
||||
child: Consumer<GymLinkProvider>(
|
||||
builder: (_, value, __) => const ExampleClub2Page(),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.search),
|
||||
title: const Text('Example page'),
|
||||
onTap: () => Navigator.of(context).push(MaterialPageRoute(
|
||||
onTap: () =>
|
||||
Navigator.of(context).pushReplacement(MaterialPageRoute(
|
||||
builder: (context) => const ExampleSecondPage(),
|
||||
)),
|
||||
),
|
||||
@@ -143,26 +160,25 @@ class _ExamplePageState extends State<ExamplePage> {
|
||||
),
|
||||
resizeToAvoidBottomInset: false,
|
||||
drawer: getDrawer(context),
|
||||
body: const Column(
|
||||
body: Column(
|
||||
children: [
|
||||
Text('test'),
|
||||
Expanded(
|
||||
IconButton(
|
||||
icon: const Icon(Icons.colorize),
|
||||
onPressed: () {
|
||||
context.read<GymLinkProvider>().changeTheme(
|
||||
Random().nextInt(0xffffff + 1),
|
||||
blackTheme: Random().nextBool());
|
||||
},
|
||||
),
|
||||
const Expanded(
|
||||
child: MyApp(),
|
||||
),
|
||||
SizedBox(
|
||||
const SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
Text('Bottom text')
|
||||
const Text('Bottom text')
|
||||
],
|
||||
),
|
||||
floatingActionButton: IconButton(
|
||||
icon: const Icon(Icons.search),
|
||||
onPressed: () {
|
||||
context.read<GymLinkProvider>().changeTheme(
|
||||
Random().nextInt(0xffffff + 1),
|
||||
blackTheme: Random().nextBool());
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -231,12 +247,6 @@ class _ExampleClub2PageState extends State<ExampleClub2Page> {
|
||||
Text('Bottom text')
|
||||
],
|
||||
),
|
||||
floatingActionButton: IconButton(
|
||||
icon: const Icon(Icons.search),
|
||||
onPressed: () {
|
||||
// context.read<GymLinkProvider>().changeTheme(0xFFAABCAB);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,6 +118,7 @@ class _OrderConfirmationPageState extends State<OrderConfirmationPage> {
|
||||
sum: totalPrice.toString(),
|
||||
date: '',
|
||||
providers: providers,
|
||||
timestamp: DateTime.now().millisecondsSinceEpoch.toString(),
|
||||
);
|
||||
await addToHistory(order);
|
||||
}
|
||||
|
||||
@@ -11,8 +11,7 @@ Future<List<GymHistoryItem>> getHistory() async {
|
||||
for (var historyItem in jsonDecode(historyString) as List<dynamic>) {
|
||||
history.add(GymHistoryItem.fromJson(historyItem));
|
||||
}
|
||||
history.sort((a, b) => b.id.compareTo(a.id));
|
||||
history = history.reversed.toList();
|
||||
history.sort((a, b) => b.timestamp.compareTo(a.timestamp));
|
||||
return history;
|
||||
}
|
||||
|
||||
@@ -50,7 +49,8 @@ Future<void> addToHistory(GymHistoryItemDetail item) async {
|
||||
"receiver": item.receiver,
|
||||
"email": item.email,
|
||||
"address": item.address,
|
||||
"providers": providers
|
||||
"providers": providers,
|
||||
"timestamp": DateTime.now().millisecondsSinceEpoch.toString(),
|
||||
};
|
||||
final detailHistoryItem = GymHistoryItemDetail.fromJson(json);
|
||||
detailHistory.add(detailHistoryItem);
|
||||
@@ -59,6 +59,7 @@ Future<void> addToHistory(GymHistoryItemDetail item) async {
|
||||
id: detailHistoryItem.id,
|
||||
photo: detailHistoryItem.providers[0].items[0].photo,
|
||||
sum: detailHistoryItem.sum,
|
||||
timestamp: detailHistoryItem.timestamp,
|
||||
));
|
||||
prefs.setString('history', jsonEncode(history));
|
||||
prefs.setString('detail_history', jsonEncode(detailHistory));
|
||||
|
||||
Reference in New Issue
Block a user