Skip to content

Commit 14366dd

Browse files
update ui|added cart bottom view
1 parent e90b891 commit 14366dd

39 files changed

+870
-506
lines changed

assets/icons/done.svg

+43
Loading

lib/data/source/orderDataSource.dart

+8
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ class OrderDataSourceApiImple extends OrderDataSource {
2121
var response = await _apiClient.get('order/customer/$customerId') as List;
2222
// print('order fetch response: $response');
2323
var orders = response.map((e) => Order.fromMap(e)).toList();
24+
orders.forEach((element) {
25+
element.dateTime = element.dateTime.toLocal();
26+
});
27+
28+
var dateTime = orders[0].dateTime.toLocal();
29+
print('order date: ${orders[0].dateTime} ');
30+
print('order date local: $dateTime ');
2431
// print('order response : ${orders.length}');
2532

2633
return orders;
@@ -60,6 +67,7 @@ class OrderDataSourceApiImple extends OrderDataSource {
6067
try {
6168
var response = await _apiClient.post('order/new', orderItem.toMap());
6269
orderItem = Order.fromMap(response);
70+
orderItem.dateTime = orderItem.dateTime.toLocal();
6371
// print('order dateItme from data source: ${orderItem.dateTime}');
6472
return orderItem;
6573
} catch (err) {

lib/domain/models/order.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Order {
1818
@HiveField(2)
1919
final num amount;
2020
@HiveField(3)
21-
final DateTime dateTime;
21+
DateTime dateTime;
2222
@HiveField(4)
2323
String deliveryStatus;
2424
@HiveField(5)

lib/domain/provider/cartProvider.dart

+20-20
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,31 @@ class CartProvider extends ChangeNotifier {
1515
Cart _cart;
1616
List<Order> _listOfOrders = [];
1717
CartReposotory _cartReposotory;
18-
Socket _socket;
19-
final socketUrl = ApiConstants.BASE_URL;
18+
// Socket _socket;
19+
// final socketUrl = ApiConstants.BASE_URL;
2020

2121
CartProvider(this._cartReposotory) {
2222
print('cart is null: ${_cart == null}');
23-
_setSocket();
23+
// _setSocket();
2424
_initCart();
2525
}
2626

27-
_setSocket() {
28-
var socketValue = _socket = IO.io(socketUrl, <String, dynamic>{
29-
'transports': ['websocket'],
30-
// "autoConnect": false
31-
});
32-
_socket.onConnect((data) {
33-
print('_socket connected !');
34-
_socket = socketValue;
35-
initSocket();
36-
});
37-
}
27+
// _setSocket() {
28+
// var socketValue = _socket = IO.io(socketUrl, <String, dynamic>{
29+
// 'transports': ['websocket'],
30+
// // "autoConnect": false
31+
// });
32+
// _socket.onConnect((data) {
33+
// print('_socket connected !');
34+
// _socket = socketValue;
35+
// initSocket();
36+
// });
37+
// }
3838

39-
initSocket() {
40-
if (globalCustomer?.uid != null)
41-
_socket?.on(globalCustomer.uid, (data) => onOrderStatusChange(data));
42-
}
39+
// initSocket() {
40+
// if (globalCustomer?.uid != null)
41+
// _socket?.on(globalCustomer.uid, (data) => onOrderStatusChange(data));
42+
// }
4343

4444
_initCart() {
4545
_cart = _cartReposotory.getCartData() ?? Cart(product: [], amount: 0.0);
@@ -57,7 +57,7 @@ class CartProvider extends ChangeNotifier {
5757
print('status change of orderId: $orderId with status: $status');
5858
}
5959

60-
Cart get getCartItems => _cart;
60+
Cart get getCart => _cart;
6161
List<Order> get getListOfOrders => _listOfOrders;
6262
int get getNoOfItemsInCart => _cart?.product?.length ?? 0;
6363

@@ -77,7 +77,7 @@ class CartProvider extends ChangeNotifier {
7777

7878
directRemoveFromCart(Product product) {
7979
_cart.product
80-
?.removeWhere((element) => element.productId == product.productId);
80+
.removeWhere((element) => element.productId == product.productId);
8181
_cart.amount -= product.price * product.quantity;
8282
_cart.amount = double.parse(_cart.amount.toStringAsFixed(2));
8383
_cartReposotory.addToCart(_cart);

lib/domain/provider/orderProvider.dart

+29-29
Original file line numberDiff line numberDiff line change
@@ -27,34 +27,34 @@ class OrderProvider extends ChangeNotifier {
2727

2828
List<Product> get getListOfAllSortProduct => _listOfAllSortProducts;
2929

30-
setSocket() {
31-
var socketValue = _socket = IO.io(socketUrl, <String, dynamic>{
32-
'transports': ['websocket'],
33-
// "autoConnect": false
34-
});
35-
_socket.onConnect((data) {
36-
print('_socket connected !');
37-
_socket = socketValue;
38-
initSocket();
39-
});
40-
}
41-
42-
initSocket() {
43-
if (globalCustomer?.uid != null)
44-
_socket?.on(globalCustomer.uid, (data) => onOrderStatusChange(data));
45-
}
46-
47-
onOrderStatusChange(dynamic data) {
48-
var orderId = data['orderId'];
49-
var status = data['status'];
50-
51-
_listOfOrders
52-
.firstWhere((element) => element.orderId == orderId, orElse: () => null)
53-
?.deliveryStatus = status;
54-
55-
notifyListeners();
56-
print('status change of orderId: $orderId with status: $status');
57-
}
30+
// setSocket() {
31+
// var socketValue = _socket = IO.io(socketUrl, <String, dynamic>{
32+
// 'transports': ['websocket'],
33+
// // "autoConnect": false
34+
// });
35+
// _socket.onConnect((data) {
36+
// print('_socket connected !');
37+
// _socket = socketValue;
38+
// initSocket();
39+
// });
40+
// }
41+
42+
// initSocket() {
43+
// if (globalCustomer?.uid != null)
44+
// _socket?.on(globalCustomer.uid, (data) => onOrderStatusChange(data));
45+
// }
46+
47+
// onOrderStatusChange(dynamic data) {
48+
// var orderId = data['orderId'];
49+
// var status = data['status'];
50+
51+
// _listOfOrders
52+
// .firstWhere((element) => element.orderId == orderId, orElse: () => null)
53+
// ?.deliveryStatus = status;
54+
55+
// notifyListeners();
56+
// print('status change of orderId: $orderId with status: $status');
57+
// }
5858

5959
List<Order> get getListOfOrders => _listOfOrders;
6060

@@ -77,7 +77,7 @@ class OrderProvider extends ChangeNotifier {
7777
await getAllSortOrderedProducts();
7878
}
7979
} else {
80-
print('order data already exist: ${_listOfOrders.length}');
80+
// print('order data already exist: ${_listOfOrders.length}');
8181
}
8282
}
8383

lib/domain/provider/productProvider.dart

+3-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class ProductProvider extends ChangeNotifier {
3131

3232
List<Product> getProductsOfSub(String sid) {
3333
if (_mapOfSubcategory[sid] != null) {
34-
// refreshProductsWithCartItems(_mapOfSubcategory[sid]);
34+
refreshProductsWithCartItems(_mapOfSubcategory[sid]);
3535
return _mapOfSubcategory[sid];
3636
} else
3737
return [];
@@ -69,6 +69,8 @@ class ProductProvider extends ChangeNotifier {
6969
refreshProductsWithCartItems(productValue); // load cart items
7070
_mapOfSubcategory[sid] = productValue;
7171
notifyListeners();
72+
} else {
73+
refreshProductsWithCartItems(_mapOfSubcategory[sid]);
7274
}
7375
}
7476
} catch (err) {

lib/domain/provider/screenRouteProvider.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:ShopyFast/view/screens/bottomNavScreens/categories/categories.dart';
1+
import 'package:ShopyFast/view/screens/bottomNavScreens/categories/categoriesScreen.dart';
22
import 'package:ShopyFast/view/screens/bottomNavScreens/orders/orders.dart';
33
import 'package:ShopyFast/view/screens/bottomNavScreens/profile/profile_screen.dart';
44
import 'package:ShopyFast/view/screens/home/home.dart';

lib/utils/constants/constants.dart

-55
This file was deleted.
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const defaultDuration = Duration(milliseconds: 250);
2+
// Form Error
3+
final RegExp emailValidatorRegExp =
4+
RegExp(r"^[a-zA-Z0-9.]+@[a-zA-Z0-9]+\.[a-zA-Z]+");
5+
const String kEmailNullError = "Please Enter your email";
6+
const String kInvalidEmailError = "Please Enter Valid Email";
7+
const String kPassNullError = "Please Enter your password";
8+
const String kShortPassError = "Password is too short";
9+
const String kMatchPassError = "Passwords don't match";
10+
const String kNamelNullError = "Please Enter your name";
11+
const String kPhoneNumberNullError = "Please Enter your phone number";
12+
const String kAddressNullError = "Please Enter your address";
13+
14+
class StatusConstant {
15+
static const PROCESSING = 'PROCESSING';
16+
static const ON_WAY = 'ON WAY';
17+
static const DONE = 'DONE';
18+
}

lib/utils/constants/routes.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import 'package:flutter/widgets.dart';
66
import 'package:ShopyFast/view/screens/bottomNavScreens/profile/components/editProfileScreen.dart';
77

88
import '../../view/helper/wrapper.dart';
9-
import '../../view/screens/bottomNavScreens/categories/categories.dart';
9+
import '../../view/screens/bottomNavScreens/categories/categoriesScreen.dart';
1010
import '../../view/screens/bottomNavScreens/orders/ordersScreen.dart';
1111
import '../../view/screens/bottomNavScreens/profile/profile_screen.dart';
1212
import '../../view/screens/cart/cart_screen.dart';
+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import 'package:flutter/material.dart';
2+
import 'size_config.dart';
3+
4+
const kPrimaryColor = Color(0xFFf85717);
5+
const kAccentColor = Color(0xff1f2e4e);
6+
const kActiveGreenColor = Color(0xff29AB87);
7+
// const kPrimaryColor = Color(0xFFFF7643);
8+
const kPrimaryLightColor = Color(0xFFFFECDF);
9+
const kPrimaryGradientColor = [Color(0xFFFFA53E), Color(0xFFFF7643)];
10+
const kSecondaryColor = Color(0xFF979797);
11+
const kTextColor = Color(0xFF757575);
12+
const errorColor = Color(0xffff0033);
13+
14+
const kAnimationDuration = Duration(milliseconds: 200);
15+
16+
final headingStyle = TextStyle(
17+
fontSize: getHeight(28),
18+
fontWeight: FontWeight.bold,
19+
color: Colors.black,
20+
height: 1.5,
21+
);
22+
23+
ElevatedButtonThemeData kElevatedButtonThemeData = ElevatedButtonThemeData(
24+
style: ButtonStyle(
25+
backgroundColor: MaterialStateProperty.resolveWith((states) =>
26+
states.contains(MaterialState.pressed)
27+
? kAccentColor.withOpacity(.9)
28+
: kAccentColor),
29+
shape: MaterialStateProperty.all(
30+
RoundedRectangleBorder(
31+
borderRadius: BorderRadius.circular(100),
32+
),
33+
)));
34+
TextButtonThemeData kTextButtonThemeData = TextButtonThemeData(
35+
style: ButtonStyle(
36+
textStyle: MaterialStateProperty.all(TextStyle(color: kAccentColor)),
37+
shape: MaterialStateProperty.all(
38+
RoundedRectangleBorder(
39+
borderRadius: BorderRadius.circular(100),
40+
),
41+
)));
42+
OutlinedButtonThemeData kOutlinedButtonThemeData = OutlinedButtonThemeData(
43+
style: ButtonStyle(
44+
textStyle: MaterialStateProperty.all(TextStyle(color: kAccentColor)),
45+
side: MaterialStateProperty.all(
46+
BorderSide(color: kAccentColor, width: 1))));
47+
48+
final otpInputDecoration = InputDecoration(
49+
contentPadding: EdgeInsets.symmetric(vertical: getHeight(15)),
50+
border: outlineInputBorder(),
51+
focusedBorder: outlineInputBorder(),
52+
enabledBorder: outlineInputBorder(),
53+
);
54+
55+
OutlineInputBorder outlineInputBorder() {
56+
return OutlineInputBorder(
57+
borderRadius: BorderRadius.circular(getWidth(15)),
58+
borderSide: BorderSide(color: kTextColor),
59+
);
60+
}

0 commit comments

Comments
 (0)