transfer table

This commit is contained in:
efrilm
2025-10-26 19:36:59 +07:00
parent d5ed3f62ff
commit 5c683eda8d
15 changed files with 736 additions and 54 deletions
@@ -9,6 +9,7 @@ import '../../../../../common/theme/theme.dart';
import '../../../../../domain/table/table.dart' as t;
import '../../../../../injection.dart';
import '../../../../components/dialog/table/table_create_dialog.dart';
import '../../../../components/dialog/table/table_transfer_dialog.dart';
import '../../../../components/loader/loader_with_text.dart';
import '../../../../components/toast/flushbar.dart';
import 'widgets/floating_bottom_navbar.dart';
@@ -44,23 +45,47 @@ class _TablePageState extends State<TablePage> {
final double mapWidth = context.deviceWidth * 2;
final double mapHeight = context.deviceHeight * 1.5;
return BlocListener<TableFormBloc, TableFormState>(
listenWhen: (previous, current) =>
previous.failureOrTable != current.failureOrTable,
listener: (context, state) {
state.failureOrTable.fold(() {}, (either) {
either.fold((f) => AppFlushbar.showTableFailureToast(context, f), (
success,
) {
if (context.mounted) {
context.router.maybePop();
context.read<TableLoaderBloc>().add(
TableLoaderEvent.fetched(isRefresh: true),
return MultiBlocListener(
listeners: [
BlocListener<TableFormBloc, TableFormState>(
listenWhen: (previous, current) =>
previous.failureOrTable != current.failureOrTable,
listener: (context, state) {
state.failureOrTable.fold(() {}, (either) {
either.fold(
(f) => AppFlushbar.showTableFailureToast(context, f),
(success) {
if (context.mounted) {
context.router.maybePop();
context.read<TableLoaderBloc>().add(
TableLoaderEvent.fetched(isRefresh: true),
);
}
},
);
}
});
});
},
});
},
),
BlocListener<TableFormBloc, TableFormState>(
listenWhen: (previous, current) =>
previous.failureOrTableTransfer != current.failureOrTableTransfer,
listener: (context, state) {
state.failureOrTableTransfer.fold(() {}, (either) {
either.fold(
(f) => AppFlushbar.showTableFailureToast(context, f),
(success) {
if (context.mounted) {
context.router.maybePop();
context.read<TableLoaderBloc>().add(
TableLoaderEvent.fetched(isRefresh: true),
);
}
},
);
});
},
),
],
child: Scaffold(
backgroundColor: AppColor.background,
appBar: AppBar(
@@ -297,10 +322,10 @@ class _TablePageState extends State<TablePage> {
items: [
PopupMenuItem(
onTap: () {
// showDialog(
// context: context,
// builder: (context) => TransferTableDialog(fromTable: table),
// );
showDialog(
context: context,
builder: (context) => TableTransferDialog(fromTable: table),
);
},
child: Row(
children: [