From 4bbe7fbc0bebea7774485f69e1bb0c902948e087 Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Fri, 3 May 2024 13:59:06 +0300 Subject: [PATCH] Clearing shopping cart --- lib/pages/basket.dart | 17 +++++++++++++++++ lib/tools/prefs.dart | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/lib/pages/basket.dart b/lib/pages/basket.dart index f365135..6f97f8a 100644 --- a/lib/pages/basket.dart +++ b/lib/pages/basket.dart @@ -151,6 +151,23 @@ class _BasketPageState extends State { ), child: const Text('Оформить заказ'), ), + const SizedBox(height: 10), + ElevatedButton( + onPressed: () async { + await clearCart(); + setState(() { + cartItems = []; + }); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Theme.of(context).primaryColor, + shape: const RoundedRectangleBorder( + borderRadius: + BorderRadius.all(Radius.circular(50))), + foregroundColor: Colors.white, + ), + child: const Text('Очистить корзину'), + ), ], ), ), diff --git a/lib/tools/prefs.dart b/lib/tools/prefs.dart index 3db9b80..887cbeb 100644 --- a/lib/tools/prefs.dart +++ b/lib/tools/prefs.dart @@ -40,3 +40,8 @@ Future removeItemFromCart(String id) async { } prefs.setString('cart', jsonEncode(cart)); } + +Future clearCart() async { + final prefs = await SharedPreferences.getInstance(); + prefs.setString('cart', "[]"); +}