Commit 7e2362fc authored by Dio Maulana's avatar Dio Maulana

change ordersbloc from array to json

parent 89abd9a1
import 'package:byod/models/order_details.dart'; import 'package:byod/models/order_details.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import '../models/orders.dart'; import '../models/orders.dart';
class OrdersBloc extends Cubit<List<Orders>> { class OrdersBloc extends Cubit<List<Orders>> {
OrdersBloc() : super([]); OrdersBloc() : super([]);
void insertData(List<dynamic> list, BuildContext context) { void insertData(Map<String, dynamic> json) {
if (list[0][0] == 'editVariant') { if (json['action'] == 'editVariant') {
// hanya ketika bottom sheet muncul untuk order yang mempunyai variant // hanya ketika bottom sheet muncul untuk order yang mempunyai variant
// Orders singleOrder = list[0][1]; // Orders singleOrder = list[0][1];
List<Orders> listOrders = list[0][2]; List<Orders> listOrders = json['list_orders'];
OrderDetail singleOrderDetail = list[0][3]; OrderDetail singleOrderDetail = json['single_order_detail'];
int indexListOrder = 0; int indexListOrder = 0;
int indexListOrderDetail = 0; int indexListOrderDetail = 0;
...@@ -36,7 +35,7 @@ class OrdersBloc extends Cubit<List<Orders>> { ...@@ -36,7 +35,7 @@ class OrdersBloc extends Cubit<List<Orders>> {
} }
emit(listOrders); emit(listOrders);
} else { } else {
var listOrderOld = list[0][4]; // orderan lama var listOrderOld = json['old_order']; // orderan lama
List<Orders> orders = []; List<Orders> orders = [];
if (listOrderOld.length != 0) { if (listOrderOld.length != 0) {
// orders = listOrderOld; // orders = listOrderOld;
...@@ -68,123 +67,240 @@ class OrdersBloc extends Cubit<List<Orders>> { ...@@ -68,123 +67,240 @@ class OrdersBloc extends Cubit<List<Orders>> {
} }
} }
for (var i = 0; i < list.length; i++) { int index = orders.indexWhere((order) => order.id == json['menu_id']);
// check apakah ada order dengan ID menu
int index = orders.indexWhere((order) => order.id == list[i][0]); if (index == -1) {
List<OrderDetail> orderDetail = [];
if (index == -1) { if (json['order_variant'].length > 0) {
List<OrderDetail> orderDetail = []; var strItem = json['initvalue'].toString();
if (list[i][6].length > 0) { var intItem = int.parse(strItem);
var strItem = list[i][2].toString(); String allIdVariant = '';
var intItem = int.parse(strItem); for (int ii = 0; ii < json['order_variant'].length; ii++) {
String allIdVariant = ''; allIdVariant = allIdVariant + json['order_variant'][ii].id;
for (int ii = 0; ii < list[i][6].length; ii++) {
allIdVariant = allIdVariant + list[i][6][ii].id;
}
var ss = {
'all_id_variant': allIdVariant,
'total_item': intItem,
'total_harga': list[i][7],
'note': list[i][8],
'variants': list[i][6],
};
orderDetail.add(OrderDetail.createOrderDetail(ss));
} }
if (list[i][2] != 0) { var ss = {
var x = { 'all_id_variant': allIdVariant,
'id': list[i][0], 'total_item': intItem,
'namaMenu': list[i][1], 'total_harga': json['total_price'],
'totalItem': list[i][2], 'note': json['note'],
'satuanHarga': list[i][3], 'variants': json['order_variant'],
'image_url': list[i][5], };
'order_detail': orderDetail, orderDetail.add(OrderDetail.createOrderDetail(ss));
'totalHarga': list[i][7], }
'note': list[i][8], if (json['initvalue'] != 0) {
var x = {
'id': json['menu_id'],
'namaMenu': json['menu_name'],
'totalItem': json['initvalue'],
'satuanHarga': json['menu_price'],
'image_url': json['image_url'],
'order_detail': orderDetail,
'totalHarga': json['total_price'],
'note': json['note'],
};
orders.add(Orders.createOrders(x));
}
} else {
int finalTotalItem = 0;
int finalTotalHarga = 0;
if (orders[index].orderDetail.isNotEmpty) {
List<OrderDetail> oldOrderDetail = [];
// oldOrderDetail = orders[index].orderDetail;
// harus di looping orderan lama, kalau gak blocnya gak ke update, gatau kenapa ?????
for (int yx = 0; yx < orders[index].orderDetail.length; yx++) {
var ty = {
"all_id_variant": orders[index].orderDetail[yx].allIdVariant,
"total_item": orders[index].orderDetail[yx].totalItem,
"total_harga": orders[index].orderDetail[yx].totalHarga,
"note": orders[index].orderDetail[yx].note,
"variants": orders[index].orderDetail[yx].orderVariant,
}; };
orders.add(Orders.createOrders(x)); oldOrderDetail.add(OrderDetail.createOrderDetail(ty));
} }
} else { // check apakah order detail dengan variant yang sama ada atau tidak
int finalTotalItem = 0; String allIdVariantCheck = '';
int finalTotalHarga = 0; for (int ii = 0; ii < json['order_variant'].length; ii++) {
if (orders[index].orderDetail.isNotEmpty) { allIdVariantCheck =
List<OrderDetail> oldOrderDetail = []; allIdVariantCheck + json['order_variant'][ii].id;
// oldOrderDetail = orders[index].orderDetail; }
int indexOrderDetail = oldOrderDetail
// harus di looping orderan lama, kalau gak blocnya gak ke update, gatau kenapa ????? .indexWhere((detail) => detail.allIdVariant == allIdVariantCheck);
for (int yx = 0; yx < orders[index].orderDetail.length; yx++) { if (indexOrderDetail == -1) {
var ty = { // ini jika tidak ada maka tambahkan order detail yang baru
"all_id_variant": orders[index].orderDetail[yx].allIdVariant, if (json['order_variant'].length > 0) {
"total_item": orders[index].orderDetail[yx].totalItem, String allIdVariant = '';
"total_harga": orders[index].orderDetail[yx].totalHarga, for (int ii = 0; ii < json['order_variant'].length; ii++) {
"note": orders[index].orderDetail[yx].note, allIdVariant = allIdVariant + json['order_variant'][ii].id;
"variants": orders[index].orderDetail[yx].orderVariant, }
var ss = {
'all_id_variant': allIdVariant,
'total_item': json['initvalue'],
'total_harga': json['total_price'],
'note': json['note'],
'variants': json['order_variant'],
}; };
oldOrderDetail.add(OrderDetail.createOrderDetail(ty)); oldOrderDetail.add(OrderDetail.createOrderDetail(ss));
}
// check apakah order detail dengan variant yang sama ada atau tidak
String allIdVariantCheck = '';
for (int ii = 0; ii < list[i][6].length; ii++) {
allIdVariantCheck = allIdVariantCheck + list[i][6][ii].id;
} }
int indexOrderDetail = oldOrderDetail.indexWhere( int totalItemOrderDetail = 0;
(detail) => detail.allIdVariant == allIdVariantCheck); int totalHargaOrderDetail = 0;
if (indexOrderDetail == -1) { for (int ky = 0; ky < oldOrderDetail.length; ky++) {
// ini jika tidak ada maka tambahkan order detail yang baru totalItemOrderDetail += oldOrderDetail[ky].totalItem;
if (list[i][6].length > 0) { totalHargaOrderDetail += oldOrderDetail[ky].totalHarga;
String allIdVariant = '';
for (int ii = 0; ii < list[i][6].length; ii++) {
allIdVariant = allIdVariant + list[i][6][ii].id;
}
var ss = {
'all_id_variant': allIdVariant,
'total_item': list[i][2],
'total_harga': list[i][7],
'note': list[i][8],
'variants': list[i][6],
};
oldOrderDetail.add(OrderDetail.createOrderDetail(ss));
}
int totalItemOrderDetail = 0;
int totalHargaOrderDetail = 0;
for (int ky = 0; ky < oldOrderDetail.length; ky++) {
totalItemOrderDetail += oldOrderDetail[ky].totalItem;
totalHargaOrderDetail += oldOrderDetail[ky].totalHarga;
}
orders[index].orderDetail = oldOrderDetail;
finalTotalItem = totalItemOrderDetail;
finalTotalHarga = totalHargaOrderDetail;
} else {
// jika sama, maka hanya tambahkan total item dan total harga
orders[index].orderDetail[indexOrderDetail].totalItem =
orders[index].orderDetail[indexOrderDetail].totalItem +
int.parse(list[i][2].toString());
finalTotalItem =
orders[index].orderDetail[indexOrderDetail].totalItem +
int.parse(list[i][2].toString());
orders[index].orderDetail[indexOrderDetail].totalHarga =
orders[index].orderDetail[indexOrderDetail].totalHarga +
int.parse(list[i][7].toString());
finalTotalHarga =
orders[index].orderDetail[indexOrderDetail].totalHarga +
int.parse(list[i][7].toString());
} }
orders[index].orderDetail = oldOrderDetail;
finalTotalItem = totalItemOrderDetail;
finalTotalHarga = totalHargaOrderDetail;
} else { } else {
var s = list[i][2].toString(); // jika sama, maka hanya tambahkan total item dan total harga
var ss = int.parse(s); orders[index].orderDetail[indexOrderDetail].totalItem =
finalTotalItem = ss; orders[index].orderDetail[indexOrderDetail].totalItem +
finalTotalHarga = int.parse(list[i][7].toString()); int.parse(json['initvalue'].toString());
} finalTotalItem =
orders[index].note = list[i][8]; // note di array ke 8 orders[index].orderDetail[indexOrderDetail].totalItem +
int.parse(json['initvalue'].toString());
orders[index].totalItem = finalTotalItem; orders[index].orderDetail[indexOrderDetail].totalHarga =
orders[index].totalHarga = finalTotalHarga; orders[index].orderDetail[indexOrderDetail].totalHarga +
if (orders[index].totalItem == 0) { int.parse(json['total_price'].toString());
orders.removeAt(index); finalTotalHarga =
orders[index].orderDetail[indexOrderDetail].totalHarga +
int.parse(json['total_price'].toString());
} }
} else {
var s = json['initvalue'].toString();
var ss = int.parse(s);
finalTotalItem = ss;
finalTotalHarga = int.parse(json['total_price'].toString());
}
orders[index].note = json['note']; // note di array ke 8
orders[index].totalItem = finalTotalItem;
orders[index].totalHarga = finalTotalHarga;
if (orders[index].totalItem == 0) {
orders.removeAt(index);
} }
} }
emit(orders); emit(orders);
// for (var i = 0; i < list.length; i++) {
// // check apakah ada order dengan ID menu
// int index = orders.indexWhere((order) => order.id == list[i][0]);
// if (index == -1) {
// List<OrderDetail> orderDetail = [];
// if (list[i][6].length > 0) {
// var strItem = list[i][2].toString();
// var intItem = int.parse(strItem);
// String allIdVariant = '';
// for (int ii = 0; ii < list[i][6].length; ii++) {
// allIdVariant = allIdVariant + list[i][6][ii].id;
// }
// var ss = {
// 'all_id_variant': allIdVariant,
// 'total_item': intItem,
// 'total_harga': list[i][7],
// 'note': list[i][8],
// 'variants': list[i][6],
// };
// orderDetail.add(OrderDetail.createOrderDetail(ss));
// }
// if (list[i][2] != 0) {
// var x = {
// 'id': list[i][0],
// 'namaMenu': list[i][1],
// 'totalItem': list[i][2],
// 'satuanHarga': list[i][3],
// 'image_url': list[i][5],
// 'order_detail': orderDetail,
// 'totalHarga': list[i][7],
// 'note': list[i][8],
// };
// orders.add(Orders.createOrders(x));
// }
// } else {
// int finalTotalItem = 0;
// int finalTotalHarga = 0;
// if (orders[index].orderDetail.isNotEmpty) {
// List<OrderDetail> oldOrderDetail = [];
// // oldOrderDetail = orders[index].orderDetail;
// // harus di looping orderan lama, kalau gak blocnya gak ke update, gatau kenapa ?????
// for (int yx = 0; yx < orders[index].orderDetail.length; yx++) {
// var ty = {
// "all_id_variant": orders[index].orderDetail[yx].allIdVariant,
// "total_item": orders[index].orderDetail[yx].totalItem,
// "total_harga": orders[index].orderDetail[yx].totalHarga,
// "note": orders[index].orderDetail[yx].note,
// "variants": orders[index].orderDetail[yx].orderVariant,
// };
// oldOrderDetail.add(OrderDetail.createOrderDetail(ty));
// }
// // check apakah order detail dengan variant yang sama ada atau tidak
// String allIdVariantCheck = '';
// for (int ii = 0; ii < list[i][6].length; ii++) {
// allIdVariantCheck = allIdVariantCheck + list[i][6][ii].id;
// }
// int indexOrderDetail = oldOrderDetail.indexWhere(
// (detail) => detail.allIdVariant == allIdVariantCheck);
// if (indexOrderDetail == -1) {
// // ini jika tidak ada maka tambahkan order detail yang baru
// if (list[i][6].length > 0) {
// String allIdVariant = '';
// for (int ii = 0; ii < list[i][6].length; ii++) {
// allIdVariant = allIdVariant + list[i][6][ii].id;
// }
// var ss = {
// 'all_id_variant': allIdVariant,
// 'total_item': list[i][2],
// 'total_harga': list[i][7],
// 'note': list[i][8],
// 'variants': list[i][6],
// };
// oldOrderDetail.add(OrderDetail.createOrderDetail(ss));
// }
// int totalItemOrderDetail = 0;
// int totalHargaOrderDetail = 0;
// for (int ky = 0; ky < oldOrderDetail.length; ky++) {
// totalItemOrderDetail += oldOrderDetail[ky].totalItem;
// totalHargaOrderDetail += oldOrderDetail[ky].totalHarga;
// }
// orders[index].orderDetail = oldOrderDetail;
// finalTotalItem = totalItemOrderDetail;
// finalTotalHarga = totalHargaOrderDetail;
// } else {
// // jika sama, maka hanya tambahkan total item dan total harga
// orders[index].orderDetail[indexOrderDetail].totalItem =
// orders[index].orderDetail[indexOrderDetail].totalItem +
// int.parse(list[i][2].toString());
// finalTotalItem =
// orders[index].orderDetail[indexOrderDetail].totalItem +
// int.parse(list[i][2].toString());
// orders[index].orderDetail[indexOrderDetail].totalHarga =
// orders[index].orderDetail[indexOrderDetail].totalHarga +
// int.parse(list[i][7].toString());
// finalTotalHarga =
// orders[index].orderDetail[indexOrderDetail].totalHarga +
// int.parse(list[i][7].toString());
// }
// } else {
// var s = list[i][2].toString();
// var ss = int.parse(s);
// finalTotalItem = ss;
// finalTotalHarga = int.parse(list[i][7].toString());
// }
// orders[index].note = list[i][8]; // note di array ke 8
// orders[index].totalItem = finalTotalItem;
// orders[index].totalHarga = finalTotalHarga;
// if (orders[index].totalItem == 0) {
// orders.removeAt(index);
// }
// }
// }
// emit(orders);
} }
} }
......
...@@ -30,9 +30,12 @@ class OrderDetailVariant extends Cubit<OrderDetail> { ...@@ -30,9 +30,12 @@ class OrderDetailVariant extends Cubit<OrderDetail> {
totalHarga: totalHarga, totalHarga: totalHarga,
note: note, note: note,
orderVariant: orderVariant); orderVariant: orderVariant);
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
['editVariant', orders, listCurrentOrder, orderDetailNow] 'action': 'editVariant',
], context); 'list_orders': listCurrentOrder,
'single_order_detail': orderDetailNow,
};
context.read<OrdersBloc>().insertData(insertData);
emit(orderDetailNow); emit(orderDetailNow);
} }
......
...@@ -86,19 +86,18 @@ class NoteModalBottomSheet extends StatelessWidget { ...@@ -86,19 +86,18 @@ class NoteModalBottomSheet extends StatelessWidget {
GestureDetector( GestureDetector(
onTap: () { onTap: () {
if (from == fromMenu) { if (from == fromMenu) {
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuItem.id,
menuItem.id, 'menu_name': menuItem.name,
menuItem.name, 'initvalue': initialValue,
initialValue, 'menu_price': amountParseToInt(menuItem.price),
amountParseToInt(menuItem.price), 'old_order': lisrOrders,
lisrOrders, 'image_url': menuItem.imageUrlMedium,
menuItem.imageUrlMedium, 'total_price': amountParseToInt(menuItem.price),
orderVariants, 'order_variant': orderVariants,
amountParseToInt(menuItem.price), 'note': noteController.text,
noteController.text };
] context.read<OrdersBloc>().insertData(insertData);
], context);
} else if (from == fromBill) { } else if (from == fromBill) {
if (idOrderan != '') { if (idOrderan != '') {
Api.changeOrderDetail( Api.changeOrderDetail(
......
...@@ -192,21 +192,22 @@ class _ShowMenuModalState extends State<ShowMenuModal> { ...@@ -192,21 +192,22 @@ class _ShowMenuModalState extends State<ShowMenuModal> {
} }
} else { } else {
initialValue += 1; initialValue += 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': widget.id,
widget.id, 'menu_name': widget.namaMenu,
widget.namaMenu, 'initvalue': initialValue,
initialValue, 'menu_price': widget.hargaMenu,
widget.hargaMenu, 'total_price': widget.hargaMenu,
list, 'old_order': list,
widget.imageUrl, 'image_url': widget.imageUrl,
orderVariants, 'order_variant': [],
widget.hargaMenu, 'note': (indexListOrderan != -1)
(indexListOrderan != -1) ? list[indexListOrderan].note
? list[indexListOrderan].note : '',
: '', };
] context
], context); .read<OrdersBloc>()
.insertData(insertData);
Navigator.pop(context); Navigator.pop(context);
} }
} }
......
...@@ -158,21 +158,22 @@ class ShowMenuBottomSheet extends StatelessWidget { ...@@ -158,21 +158,22 @@ class ShowMenuBottomSheet extends StatelessWidget {
} }
} else { } else {
initialValue += 1; initialValue += 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuDetail[i].id,
menuDetail[i].id, 'menu_name': menuDetail[i].name,
menuDetail[i].name, 'initvalue': initialValue,
initialValue, 'menu_price':
amountParseToInt(menuDetail[i].price), amountParseToInt(menuDetail[i].price),
list, 'total_price':
menuDetail[i].imageUrlMedium, amountParseToInt(menuDetail[i].price),
[], 'old_order': list,
amountParseToInt(menuDetail[i].price), 'image_url': menuDetail[i].imageUrlMedium,
(indexListOrderan != -1) 'order_variant': [],
? list[indexListOrderan].note 'note': (indexListOrderan != -1)
: '', ? list[indexListOrderan].note
] : '',
], context); };
context.read<OrdersBloc>().insertData(insertData);
Navigator.pop(context); Navigator.pop(context);
} }
} }
......
...@@ -109,19 +109,20 @@ GestureDetector noteMenu( ...@@ -109,19 +109,20 @@ GestureDetector noteMenu(
onPressed: () async { onPressed: () async {
// list[index].note = noteController.text; // list[index].note = noteController.text;
if (callFrom == fromMenu) { if (callFrom == fromMenu) {
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': id,
id, 'menu_name': namaMenu,
namaMenu, 'initvalue': initialValue,
initialValue, 'menu_price': hargaFix,
hargaFix, 'total_price': hargaFix,
list, 'old_order': list,
imageUrl, 'image_url': imageUrl,
orderVariants, 'order_variant': [],
hargaFix, 'note': noteController.text,
noteController.text };
] context
], context); .read<OrdersBloc>()
.insertData(insertData);
} else if (callFrom == fromBill) { } else if (callFrom == fromBill) {
await Api.changeOrderDetail( await Api.changeOrderDetail(
context, context,
......
...@@ -222,19 +222,19 @@ class FavGridMenu extends StatelessWidget { ...@@ -222,19 +222,19 @@ class FavGridMenu extends StatelessWidget {
} }
if (initialValue > 0) { if (initialValue > 0) {
initialValue -= 1; initialValue -= 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuFav.id,
menuFav.id, 'menu_name': menuFav.name,
menuFav.name, 'initvalue': initialValue,
initialValue, 'menu_price': amountParseToInt(menuFav.price),
amountParseToInt(menuFav.price), 'old_order': list,
list, 'total_price': amountParseToInt(menuFav.price),
menuFav.imageUrlMedium, 'image_url': menuFav.imageUrlMedium,
orderVariants, 'order_variant': [],
amountParseToInt(menuFav.price), 'note':
(indexListOrderan != -1) ? list[indexListOrderan].note : '' (indexListOrderan != -1) ? list[indexListOrderan].note : '',
] };
], context); context.read<OrdersBloc>().insertData(insertData);
// setState(() {}); // setState(() {});
} }
} }
...@@ -246,19 +246,18 @@ class FavGridMenu extends StatelessWidget { ...@@ -246,19 +246,18 @@ class FavGridMenu extends StatelessWidget {
currentFocus.unfocus(); currentFocus.unfocus();
} }
initialValue += 1; initialValue += 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuFav.id,
menuFav.id, 'menu_name': menuFav.name,
menuFav.name, 'initvalue': initialValue,
initialValue, 'menu_price': amountParseToInt(menuFav.price),
amountParseToInt(menuFav.price), 'total_price': amountParseToInt(menuFav.price),
list, 'old_order': list,
menuFav.imageUrlMedium, 'image_url': menuFav.imageUrlMedium,
orderVariants, 'order_variant': [],
amountParseToInt(menuFav.price), 'note': (indexListOrderan != -1) ? list[indexListOrderan].note : '',
(indexListOrderan != -1) ? list[indexListOrderan].note : '', };
] context.read<OrdersBloc>().insertData(insertData);
], context);
} }
return AnimatedSwitcher( return AnimatedSwitcher(
...@@ -320,21 +319,20 @@ class FavGridMenu extends StatelessWidget { ...@@ -320,21 +319,20 @@ class FavGridMenu extends StatelessWidget {
} else { } else {
if (initialValue == 0) { if (initialValue == 0) {
initialValue += 1; initialValue += 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuFav.id,
menuFav.id, 'menu_name': menuFav.name,
menuFav.name, 'initvalue': initialValue,
initialValue, 'menu_price': amountParseToInt(menuFav.price),
amountParseToInt(menuFav.price), 'total_price': amountParseToInt(menuFav.price),
list, 'old_order': list,
menuFav.imageUrlMedium, 'image_url': menuFav.imageUrlMedium,
orderVariants, 'order_variant': [],
amountParseToInt(menuFav.price), 'note': (indexListOrderan != -1)
(indexListOrderan != -1) ? list[indexListOrderan].note
? list[indexListOrderan].note : '',
: '' };
] context.read<OrdersBloc>().insertData(insertData);
], context);
// setState(() {}); // setState(() {});
} }
} }
......
...@@ -278,21 +278,19 @@ class _MenuViewState extends State<MenuView> { ...@@ -278,21 +278,19 @@ class _MenuViewState extends State<MenuView> {
} else { } else {
if (initialValue == 0) { if (initialValue == 0) {
initialValue += 1; initialValue += 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': widget.id,
widget.id, 'menu_name': widget.namaMenu,
widget.namaMenu, 'initvalue': initialValue,
initialValue, 'menu_price': widget.hargaFix,
widget.hargaFix, 'old_order': list,
list, 'image_url': widget.imageUrl,
widget.imageUrl, 'order_variant': [],
orderVariants, 'note': (indexListOrderan != -1)
widget.hargaFix, ? list[indexListOrderan].note
(indexListOrderan != -1) : '',
? list[indexListOrderan].note };
: '' context.read<OrdersBloc>().insertData(insertData);
]
], context);
// setState(() {}); // setState(() {});
} }
} }
...@@ -339,24 +337,21 @@ class _MenuViewState extends State<MenuView> { ...@@ -339,24 +337,21 @@ class _MenuViewState extends State<MenuView> {
onTap: () { onTap: () {
if (initialValue > 0) { if (initialValue > 0) {
initialValue -= 1; initialValue -= 1;
Map<String, dynamic> insertData = {
'menu_id': widget.id,
'menu_name': widget.namaMenu,
'initvalue': initialValue,
'menu_price': widget.hargaFix,
'old_order': list,
'image_url': widget.imageUrl,
'order_variant': [],
'note': (indexListOrderan != -1)
? list[indexListOrderan].note
: '',
};
context context
.read<OrdersBloc>() .read<OrdersBloc>()
.insertData([ .insertData(insertData);
[
widget.id,
widget.namaMenu,
initialValue,
widget.hargaFix,
list,
widget.imageUrl,
orderVariants,
widget.hargaFix,
(indexListOrderan != -1)
? list[indexListOrderan]
.note
: ''
]
], context);
// setState(() {}); // setState(() {});
} }
}, },
...@@ -394,23 +389,22 @@ class _MenuViewState extends State<MenuView> { ...@@ -394,23 +389,22 @@ class _MenuViewState extends State<MenuView> {
GestureDetector( GestureDetector(
onTap: () { onTap: () {
initialValue += 1; initialValue += 1;
Map<String, dynamic> insertData = {
'menu_id': widget.id,
'menu_name': widget.namaMenu,
'initvalue': initialValue,
'menu_price': widget.hargaFix,
'total_price': widget.hargaFix,
'old_order': list,
'image_url': widget.imageUrl,
'order_variant': [],
'note': (indexListOrderan != -1)
? list[indexListOrderan].note
: '',
};
context context
.read<OrdersBloc>() .read<OrdersBloc>()
.insertData([ .insertData(insertData);
[
widget.id,
widget.namaMenu,
initialValue,
widget.hargaFix,
list,
widget.imageUrl,
orderVariants,
widget.hargaFix,
(indexListOrderan != -1)
? list[indexListOrderan].note
: '',
]
], context);
// setState(() {}); // setState(() {});
}, },
child: Container( child: Container(
......
// ignore_for_file: must_be_immutable // // ignore_for_file: must_be_immutable
import 'package:byod/models/orders.dart'; // import 'package:byod/models/orders.dart';
import 'package:flutter/material.dart'; // import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; // import 'package:flutter_bloc/flutter_bloc.dart';
import '../../bloc/order_bloc.dart'; // import '../../bloc/order_bloc.dart';
import '../../helper/helper.dart'; // import '../../helper/helper.dart';
class MenuFavorite extends StatefulWidget { // class MenuFavorite extends StatefulWidget {
String id; // String id;
int hargaFix; // int hargaFix;
int hargaCoret; // int hargaCoret;
String namaMenu; // String namaMenu;
MenuFavorite( // MenuFavorite(
{Key? key, // {Key? key,
required this.id, // required this.id,
required this.hargaFix, // required this.hargaFix,
required this.hargaCoret, // required this.hargaCoret,
required this.namaMenu}) // required this.namaMenu})
: super(key: key); // : super(key: key);
@override // @override
State<MenuFavorite> createState() => _MenuFavoriteState(); // State<MenuFavorite> createState() => _MenuFavoriteState();
} // }
class _MenuFavoriteState extends State<MenuFavorite> { // class _MenuFavoriteState extends State<MenuFavorite> {
int initialValue = 0; // int initialValue = 0;
@override // @override
Widget build(BuildContext context) { // Widget build(BuildContext context) {
return Container( // return Container(
// alignment: Alignment.center, // // alignment: Alignment.center,
padding: const EdgeInsets.only(top: 5), // padding: const EdgeInsets.only(top: 5),
decoration: BoxDecoration( // decoration: BoxDecoration(
// color: Colors.red, // // color: Colors.red,
borderRadius: BorderRadius.circular(15)), // borderRadius: BorderRadius.circular(15)),
child: BlocBuilder<OrdersBloc, List<Orders>>( // child: BlocBuilder<OrdersBloc, List<Orders>>(
builder: (context, list) { // builder: (context, list) {
return Column( // return Column(
children: [ // children: [
Container( // Container(
height: MediaQuery.of(context).size.height * 0.25, // height: MediaQuery.of(context).size.height * 0.25,
decoration: BoxDecoration( // decoration: BoxDecoration(
// color: Colors.red, // // color: Colors.red,
borderRadius: BorderRadius.circular(15)), // borderRadius: BorderRadius.circular(15)),
child: ClipRRect( // child: ClipRRect(
borderRadius: BorderRadius.circular(15), // borderRadius: BorderRadius.circular(15),
child: const Image( // child: const Image(
fit: BoxFit.fill, // fit: BoxFit.fill,
image: NetworkImage( // image: NetworkImage(
'https://www.siftandsimmer.com/wp-content/uploads/2021/03/matcha-espresso-fusion1.jpg'), // 'https://www.siftandsimmer.com/wp-content/uploads/2021/03/matcha-espresso-fusion1.jpg'),
), // ),
), // ),
), // ),
Container( // Container(
height: MediaQuery.of(context).size.height * 0.075, // height: MediaQuery.of(context).size.height * 0.075,
width: double.infinity, // width: double.infinity,
margin: EdgeInsets.only( // margin: EdgeInsets.only(
top: MediaQuery.of(context).size.height * 0.01, // top: MediaQuery.of(context).size.height * 0.01,
bottom: MediaQuery.of(context).size.width * 0.01), // bottom: MediaQuery.of(context).size.width * 0.01),
// color: Colors.green, // // color: Colors.green,
child: Column( // child: Column(
crossAxisAlignment: CrossAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start,
children: [ // children: [
Text( // Text(
widget.namaMenu, // widget.namaMenu,
maxLines: 2, // maxLines: 2,
overflow: TextOverflow.ellipsis, // overflow: TextOverflow.ellipsis,
style: const TextStyle( // style: const TextStyle(
fontWeight: FontWeight.w500, fontSize: 20), // fontWeight: FontWeight.w500, fontSize: 20),
), // ),
const SizedBox(height: 10), // const SizedBox(height: 10),
Row( // Row(
children: [ // children: [
Text( // Text(
formatNumber().format(widget.hargaFix), // formatNumber().format(widget.hargaFix),
overflow: TextOverflow.clip, // overflow: TextOverflow.clip,
style: const TextStyle( // style: const TextStyle(
fontWeight: FontWeight.w500, fontSize: 15), // fontWeight: FontWeight.w500, fontSize: 15),
), // ),
const SizedBox(width: 5), // const SizedBox(width: 5),
Text( // Text(
formatNumber().format(widget.hargaCoret), // formatNumber().format(widget.hargaCoret),
overflow: TextOverflow.clip, // overflow: TextOverflow.clip,
style: const TextStyle( // style: const TextStyle(
fontWeight: FontWeight.w400, // fontWeight: FontWeight.w400,
fontSize: 15, // fontSize: 15,
color: Colors.black45, // color: Colors.black45,
decoration: TextDecoration.lineThrough), // decoration: TextDecoration.lineThrough),
), // ),
], // ],
), // ),
], // ],
), // ),
), // ),
GestureDetector( // GestureDetector(
onTap: () { // onTap: () {
if (initialValue == 0) { // if (initialValue == 0) {
initialValue += 1; // initialValue += 1;
context.read<OrdersBloc>().insertData([ // context.read<OrdersBloc>().insertData([
[widget.id, widget.namaMenu, 1, widget.hargaFix, list] // [widget.id, widget.namaMenu, 1, widget.hargaFix, list]
], context); // ], context);
setState(() {}); // setState(() {});
} // }
}, // },
child: Container( // child: Container(
height: MediaQuery.of(context).size.height * 0.04, // height: MediaQuery.of(context).size.height * 0.04,
width: MediaQuery.of(context).size.width * 0.3, // width: MediaQuery.of(context).size.width * 0.3,
decoration: BoxDecoration( // decoration: BoxDecoration(
color: (initialValue == 0) ? buttonColor : null, // color: (initialValue == 0) ? buttonColor : null,
borderRadius: BorderRadius.circular(20)), // borderRadius: BorderRadius.circular(20)),
child: AnimatedSwitcher( // child: AnimatedSwitcher(
duration: Duration(milliseconds: animatedTime), // duration: Duration(milliseconds: animatedTime),
transitionBuilder: (child, animation) => // transitionBuilder: (child, animation) =>
ScaleTransition(scale: animation, child: child), // ScaleTransition(scale: animation, child: child),
child: (initialValue > 0) // child: (initialValue > 0)
? Row( // ? Row(
key: const Key('1'), // key: const Key('1'),
mainAxisAlignment: MainAxisAlignment.spaceAround, // mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [ // children: [
GestureDetector( // GestureDetector(
onTap: () { // onTap: () {
if (initialValue > 0) { // if (initialValue > 0) {
initialValue -= 1; // initialValue -= 1;
context.read<OrdersBloc>().insertData([ // context.read<OrdersBloc>().insertData([
[ // [
widget.id, // widget.id,
widget.namaMenu, // widget.namaMenu,
-1, // -1,
widget.hargaFix, // widget.hargaFix,
list // list
] // ]
], context); // ], context);
setState(() {}); // setState(() {});
} // }
}, // },
child: Icon( // child: Icon(
Icons.remove_circle_outline_rounded, // Icons.remove_circle_outline_rounded,
color: buttonColor, // color: buttonColor,
), // ),
), // ),
// const SizedBox(width: 10), // // const SizedBox(width: 10),
Text( // Text(
initialValue.toString(), // initialValue.toString(),
style: const TextStyle( // style: const TextStyle(
fontSize: 20, // fontSize: 20,
fontWeight: FontWeight.w400, // fontWeight: FontWeight.w400,
color: Colors.black54), // color: Colors.black54),
), // ),
// const SizedBox(width: 10), // // const SizedBox(width: 10),
GestureDetector( // GestureDetector(
onTap: () { // onTap: () {
initialValue += 1; // initialValue += 1;
context.read<OrdersBloc>().insertData([ // context.read<OrdersBloc>().insertData([
[ // [
widget.id, // widget.id,
widget.namaMenu, // widget.namaMenu,
1, // 1,
widget.hargaFix, // widget.hargaFix,
list // list
] // ]
], context); // ], context);
setState(() {}); // setState(() {});
}, // },
child: Icon( // child: Icon(
Icons.add_circle_outline_rounded, // Icons.add_circle_outline_rounded,
color: buttonColor, // color: buttonColor,
), // ),
), // ),
], // ],
) // )
: const Center( // : const Center(
key: Key('2'), // key: Key('2'),
child: Text( // child: Text(
"Add", // "Add",
style: TextStyle( // style: TextStyle(
fontWeight: FontWeight.w600, // fontWeight: FontWeight.w600,
color: textInButton), // color: textInButton),
)), // )),
)), // )),
) // )
], // ],
); // );
}, // },
), // ),
); // );
} // }
} // }
...@@ -4,7 +4,6 @@ import 'package:byod/bloc/order_bloc.dart'; ...@@ -4,7 +4,6 @@ import 'package:byod/bloc/order_bloc.dart';
import 'package:byod/helper/widget/button_modal.dart'; import 'package:byod/helper/widget/button_modal.dart';
import 'package:byod/helper/widget/plus_minus_button.dart'; import 'package:byod/helper/widget/plus_minus_button.dart';
import 'package:byod/models/orders.dart'; import 'package:byod/models/orders.dart';
import 'package:byod/ui/home/variant_cat.dart';
import 'package:byod/ui/screen_responsive.dart'; import 'package:byod/ui/screen_responsive.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
...@@ -14,7 +13,6 @@ import '../../helper/helper.dart'; ...@@ -14,7 +13,6 @@ import '../../helper/helper.dart';
import '../../helper/widget/note_modal_bottom_sheet.dart'; import '../../helper/widget/note_modal_bottom_sheet.dart';
import '../../helper/widget/style.dart'; import '../../helper/widget/style.dart';
import '../../models/filter_menu.dart'; import '../../models/filter_menu.dart';
import '../../models/order_details.dart';
import '../../models/order_variants.dart'; import '../../models/order_variants.dart';
import 'bottom_sheet_menu_new.dart'; import 'bottom_sheet_menu_new.dart';
import 'bottom_sheet_variant.dart'; import 'bottom_sheet_variant.dart';
...@@ -195,7 +193,7 @@ class MenuListUtama extends StatelessWidget { ...@@ -195,7 +193,7 @@ class MenuListUtama extends StatelessWidget {
addCondition; // true untuk menampilkan tambah, false untuk menampilkan quantity plus minus addCondition; // true untuk menampilkan tambah, false untuk menampilkan quantity plus minus
int indexListOrderan = int indexListOrderan =
list.indexWhere((listOrderan) => listOrderan.id == menuUtama.id); list.indexWhere((listOrderan) => listOrderan.id == menuUtama.id);
int initialValue; int initialValue = 0;
if (indexListOrderan != -1) { if (indexListOrderan != -1) {
if (menuUtama.variantCat.isNotEmpty) { if (menuUtama.variantCat.isNotEmpty) {
addCondition = true; // kalau menu itu ada variantnya, biarin true addCondition = true; // kalau menu itu ada variantnya, biarin true
...@@ -203,7 +201,15 @@ class MenuListUtama extends StatelessWidget { ...@@ -203,7 +201,15 @@ class MenuListUtama extends StatelessWidget {
addCondition = false; addCondition = false;
} }
initialValue = list[indexListOrderan].totalItem; if (list[indexListOrderan].orderDetail.isNotEmpty) {
for (int d = 0;
d < list[indexListOrderan].orderDetail.length;
d++) {
initialValue += list[indexListOrderan].orderDetail[d].totalItem;
}
} else {
initialValue = list[indexListOrderan].totalItem;
}
} else { } else {
addCondition = true; addCondition = true;
initialValue = 0; initialValue = 0;
...@@ -225,19 +231,19 @@ class MenuListUtama extends StatelessWidget { ...@@ -225,19 +231,19 @@ class MenuListUtama extends StatelessWidget {
} }
if (initialValue > 0) { if (initialValue > 0) {
initialValue -= 1; initialValue -= 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuUtama.id,
menuUtama.id, 'menu_name': menuUtama.name,
menuUtama.name, 'initvalue': initialValue,
initialValue, 'menu_price': amountParseToInt(menuUtama.price),
amountParseToInt(menuUtama.price), 'total_price': amountParseToInt(menuUtama.price),
list, 'old_order': list,
menuUtama.imageUrlMedium, 'image_url': menuUtama.imageUrlMedium,
orderVariants, 'order_variant': [],
amountParseToInt(menuUtama.price), 'note':
(indexListOrderan != -1) ? list[indexListOrderan].note : '' (indexListOrderan != -1) ? list[indexListOrderan].note : '',
] };
], context); context.read<OrdersBloc>().insertData(insertData);
// setState(() {}); // setState(() {});
} }
} }
...@@ -249,19 +255,18 @@ class MenuListUtama extends StatelessWidget { ...@@ -249,19 +255,18 @@ class MenuListUtama extends StatelessWidget {
currentFocus.unfocus(); currentFocus.unfocus();
} }
initialValue += 1; initialValue += 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuUtama.id,
menuUtama.id, 'menu_name': menuUtama.name,
menuUtama.name, 'initvalue': initialValue,
initialValue, 'menu_price': amountParseToInt(menuUtama.price),
amountParseToInt(menuUtama.price), 'total_price': amountParseToInt(menuUtama.price),
list, 'old_order': list,
menuUtama.imageUrlMedium, 'image_url': menuUtama.imageUrlMedium,
orderVariants, 'order_variant': [],
amountParseToInt(menuUtama.price), 'note': (indexListOrderan != -1) ? list[indexListOrderan].note : '',
(indexListOrderan != -1) ? list[indexListOrderan].note : '', };
] context.read<OrdersBloc>().insertData(insertData);
], context);
} }
return AnimatedSwitcher( return AnimatedSwitcher(
...@@ -325,6 +330,9 @@ class MenuListUtama extends StatelessWidget { ...@@ -325,6 +330,9 @@ class MenuListUtama extends StatelessWidget {
amountParseToInt(menuUtama.price), amountParseToInt(menuUtama.price),
variantCategories: menuUtama.variantCat, variantCategories: menuUtama.variantCat,
namaMenu: menuUtama.name, namaMenu: menuUtama.name,
idItem: menuUtama.id,
imageUrl: menuUtama.imageUrlMedium,
listCurrentOrder: list,
), ),
), ),
); );
...@@ -343,21 +351,24 @@ class MenuListUtama extends StatelessWidget { ...@@ -343,21 +351,24 @@ class MenuListUtama extends StatelessWidget {
} else { } else {
if (initialValue == 0) { if (initialValue == 0) {
initialValue += 1; initialValue += 1;
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': menuUtama.id,
menuUtama.id, 'menu_name': menuUtama.name,
menuUtama.name, 'initvalue': initialValue,
initialValue, 'menu_price':
amountParseToInt(menuUtama.price), amountParseToInt(menuUtama.price),
list, 'total_price':
menuUtama.imageUrlMedium, amountParseToInt(menuUtama.price),
orderVariants, 'old_order': list,
amountParseToInt(menuUtama.price), 'image_url': menuUtama.imageUrlMedium,
(indexListOrderan != -1) 'order_variant': [],
? list[indexListOrderan].note 'note': (indexListOrderan != -1)
: '' ? list[indexListOrderan].note
] : '',
], context); };
context
.read<OrdersBloc>()
.insertData(insertData);
// setState(() {}); // setState(() {});
} }
} }
......
...@@ -345,21 +345,20 @@ class _VariantCatState extends State<VariantCat> { ...@@ -345,21 +345,20 @@ class _VariantCatState extends State<VariantCat> {
} }
} }
if (prosesOrderan) { if (prosesOrderan) {
context.read<OrdersBloc>().insertData([ Map<String, dynamic> insertData = {
[ 'menu_id': widget.idItem,
widget.idItem, 'menu_name': widget.namaMenu,
widget.namaMenu, 'initvalue': initialValue,
initialValue, 'menu_price': widget.initPrice,
widget.initPrice, 'total_price': totalPrice,
widget.listCurrentOrder, 'old_order': widget.listCurrentOrder,
widget.imageUrl, 'image_url': widget.imageUrl,
orderVariants, 'order_variant': orderVariants,
totalPrice, 'note': (noteCatController.text.isEmpty)
(noteCatController.text.isEmpty) ? ''
? '' : noteCatController.text,
: noteCatController.text };
] context.read<OrdersBloc>().insertData(insertData);
], context);
Navigator.pop(context); Navigator.pop(context);
} else { } else {
EasyLoading.showToast( EasyLoading.showToast(
......
// ignore_for_file: sized_box_for_whitespace, must_be_immutable // ignore_for_file: sized_box_for_whitespace, must_be_immutable
import 'package:byod/helper/helper.dart'; import 'package:byod/helper/helper.dart';
import 'package:byod/helper/widget/button_modal.dart';
import 'package:byod/helper/widget/style.dart'; import 'package:byod/helper/widget/style.dart';
import 'package:byod/models/order_details.dart'; import 'package:byod/models/order_details.dart';
import 'package:byod/ui/home/variant_new.dart'; import 'package:byod/ui/home/variant_new.dart';
import 'package:byod/ui/screen_responsive.dart'; import 'package:byod/ui/screen_responsive.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import '../../bloc/order_bloc.dart';
import '../../bloc/order_variant_temporary.dart'; import '../../bloc/order_variant_temporary.dart';
import '../../bloc/order_variant_value.dart'; import '../../bloc/order_variant_value.dart';
import '../../helper/widget/plus_minus_button.dart'; import '../../helper/widget/plus_minus_button.dart';
import '../../main.dart'; import '../../main.dart';
import '../../models/order_variants.dart'; import '../../models/order_variants.dart';
import '../../models/orders.dart';
import '../../models/variant_categories.dart'; import '../../models/variant_categories.dart';
class VariantCatNew extends StatefulWidget { class VariantCatNew extends StatefulWidget {
final List<VariantCategories> variantCategories; final List<VariantCategories> variantCategories;
final int initPrice; final int initPrice;
final String namaMenu; final String namaMenu;
final String idItem;
final List<Orders> listCurrentOrder;
final String imageUrl;
const VariantCatNew({ const VariantCatNew({
Key? key, Key? key,
required this.variantCategories, required this.variantCategories,
required this.initPrice, required this.initPrice,
required this.namaMenu, required this.namaMenu,
required this.idItem,
required this.listCurrentOrder,
required this.imageUrl,
}) : super(key: key); }) : super(key: key);
@override @override
...@@ -93,6 +103,8 @@ class _VariantCatNewState extends State<VariantCatNew> { ...@@ -93,6 +103,8 @@ class _VariantCatNewState extends State<VariantCatNew> {
satuanPrice: satuanPrice, satuanPrice: satuanPrice,
totalPrice: totalPrice, totalPrice: totalPrice,
context: context, context: context,
orderVariants: orderVariants,
noteCatController: noteCatController,
), ),
isCoreLayout: true, isCoreLayout: true,
widthScreen: MediaQuery.of(context).size.width, widthScreen: MediaQuery.of(context).size.width,
...@@ -118,6 +130,8 @@ class CoreVariant extends StatelessWidget { ...@@ -118,6 +130,8 @@ class CoreVariant extends StatelessWidget {
required this.satuanPrice, required this.satuanPrice,
required this.totalPrice, required this.totalPrice,
required this.context, required this.context,
required this.orderVariants,
required this.noteCatController,
}) : super(key: key); }) : super(key: key);
final double widthScreen; final double widthScreen;
...@@ -129,6 +143,8 @@ class CoreVariant extends StatelessWidget { ...@@ -129,6 +143,8 @@ class CoreVariant extends StatelessWidget {
final int satuanPrice; final int satuanPrice;
final int totalPrice; final int totalPrice;
final BuildContext context; final BuildContext context;
final List<OrderVariant> orderVariants;
final TextEditingController noteCatController;
void plus() { void plus() {
initialValue += 1; initialValue += 1;
context context
...@@ -301,6 +317,7 @@ class CoreVariant extends StatelessWidget { ...@@ -301,6 +317,7 @@ class CoreVariant extends StatelessWidget {
Container( Container(
height: 35, height: 35,
child: TextField( child: TextField(
controller: noteCatController,
maxLength: maxLengthTextField, maxLength: maxLengthTextField,
autofocus: false, autofocus: false,
style: const TextStyle( style: const TextStyle(
...@@ -397,21 +414,46 @@ class CoreVariant extends StatelessWidget { ...@@ -397,21 +414,46 @@ class CoreVariant extends StatelessWidget {
const SizedBox( const SizedBox(
height: 14, height: 14,
), ),
Container( GestureDetector(
height: 43, onTap: () {
decoration: BoxDecoration( bool prosesOrderan = true;
borderRadius: BorderRadius.circular(33), for (int y = 0;
color: buttonColor, y < widget.variantCategories.length;
), y++) {
child: Center( if (widget.variantCategories[y].type == typeMandatory) {
child: defaultText( int index = orderVariants.indexWhere((order) =>
context, order.categoryId ==
'Tambahkan - Rp ${formatNumber().format(totalPrice)}', widget.variantCategories[y].id);
style: addButton( if (index == -1) {
font: 14, prosesOrderan = false;
), }
), }
), }
if (prosesOrderan) {
Map<String, dynamic> insertData = {
'menu_id': widget.idItem,
'menu_name': widget.namaMenu,
'initvalue': initialValue,
'menu_price': widget.initPrice,
'old_order': widget.listCurrentOrder,
'image_url': widget.imageUrl,
'order_variant': orderVariants,
'note': (noteCatController.text.isEmpty)
? ''
: noteCatController.text,
'total_price': totalPrice,
};
context.read<OrdersBloc>().insertData(insertData);
Navigator.pop(context);
} else {
EasyLoading.showToast(
'Masih ada variant yang belum dipilih');
}
},
child: ButtonComponent(
buttonColor: buttonColor,
teksButton:
'Tambahkan - Rp ${formatNumber().format(totalPrice)}'),
) )
], ],
), ),
......
...@@ -512,10 +512,9 @@ class CoreBill extends StatelessWidget { ...@@ -512,10 +512,9 @@ class CoreBill extends StatelessWidget {
isHistory: isHistory, isHistory: isHistory,
tableStatus: dataBill[0].tableStatus, tableStatus: dataBill[0].tableStatus,
), ),
const SizedBox( (dataBill[0].tableStatus == tableStatusOpen)
height: 24, ? const AddMoreOrder()
), : const SizedBox(),
const AddMoreOrder(),
const SizedBox( const SizedBox(
height: 24, height: 24,
), ),
...@@ -1838,52 +1837,59 @@ class AddMoreOrder extends StatelessWidget { ...@@ -1838,52 +1837,59 @@ class AddMoreOrder extends StatelessWidget {
color: backgroundWhite, color: backgroundWhite,
padding: const EdgeInsets.symmetric(horizontal: paddingLeftRight), padding: const EdgeInsets.symmetric(horizontal: paddingLeftRight),
// color: Colors.red, // color: Colors.red,
child: Row( child: Column(
children: [ children: [
Expanded(
child: Container(
child: defaultText(
context,
'Tambahkan menu lainnya?',
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 16,
fontWeight: FontWeight.w400,
),
),
),
),
const SizedBox( const SizedBox(
width: 19, height: 24,
), ),
GestureDetector( Row(
onTap: () { children: [
Navigator.push( Expanded(
context, child: Container(
MaterialPageRoute( child: defaultText(
builder: (_) => const NewHome2(), context,
'Tambahkan menu lainnya?',
maxLines: 2,
overFlow: TextOverflow.ellipsis,
style: viewbillStyle(
font: 16,
fontWeight: FontWeight.w400,
),
),
), ),
);
},
child: Container(
width: 98,
height: 30,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(21),
color: buttonColor,
), ),
child: Center( const SizedBox(
child: defaultText( width: 19,
context, ),
'Tambah', GestureDetector(
style: addButton( onTap: () {
font: 8, Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const NewHome2(),
),
);
},
child: Container(
width: 98,
height: 30,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(21),
color: buttonColor,
),
child: Center(
child: defaultText(
context,
'Tambah',
style: addButton(
font: 8,
),
),
), ),
), ),
), )
), ],
) ),
], ],
), ),
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment