Commit 6b980613 authored by DatHV's avatar DatHV
Browse files

update project structure

parent bfff9e47
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:mypoint_flutter_app/screen/transaction/history/transaction_history_emun.dart';
import 'package:mypoint_flutter_app/features/transaction/history/transaction_history_emun.dart';
import 'package:mypoint_flutter_app/shared/router_gage.dart';
import 'package:mypoint_flutter_app/widgets/dashed_line.dart';
import '../../../base/base_screen.dart';
import '../../../base/basic_state.dart';
import '../../../resources/base_color.dart';
import '../../../widgets/back_button.dart';
import '../../../widgets/custom_navigation_bar.dart';
import '../../../widgets/custom_toast_message.dart';
import '../../../widgets/image_loader.dart';
import 'package:mypoint_flutter_app/shared/widgets/custom_empty_widget.dart';
import 'package:mypoint_flutter_app/shared/widgets/dashed_line.dart';
import '../../../shared/widgets/base_view/base_screen.dart';
import '../../../shared/widgets/base_view/basic_state.dart';
import '../../../core/theme/base_color.dart';
import '../../../shared/widgets/back_button.dart';
import '../../../shared/widgets/custom_navigation_bar.dart';
import '../../../shared/widgets/custom_toast_message.dart';
import '../../../shared/widgets/image_loader.dart';
import 'transaction_history_detail_viewmodel.dart';
import 'transaction_history_model.dart';
......@@ -56,13 +57,9 @@ class _TransactionHistoryDetailScreenState extends BaseState<TransactionHistoryD
],
),
body: Obx(() {
final isLoading = _viewModel.isLoading.value;
final data = _viewModel.transactionData.value;
if (isLoading) {
return const Center(child: CircularProgressIndicator());
}
if (data == null) {
return const Center(child: Text('Không tìm thấy dữ liệu giao dịch'));
return Center(child: EmptyWidget(isLoading: _viewModel.isLoading.value));
}
return Column(
children: [
......@@ -250,7 +247,7 @@ class _TransactionHistoryDetailScreenState extends BaseState<TransactionHistoryD
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
if (transaction.titleRedButton != null)
if (transaction.titleRedButton.isNotEmpty)
ElevatedButton(
onPressed: () {
final finish = transaction.directionScreenRedButton?.begin();
......
import 'package:get/get_rx/src/rx_types/rx_types.dart';
import 'package:mypoint_flutter_app/networking/restful_api_client_all_request.dart';
import 'package:mypoint_flutter_app/screen/transaction/history/transaction_history_model.dart';
import '../../../networking/restful_api_viewmodel.dart';
import '../../../configs/constants.dart';
import 'package:mypoint_flutter_app/core/network/restful_api_client_all_request.dart';
import 'package:mypoint_flutter_app/features/transaction/history/transaction_history_model.dart';
import '../../../core/network/restful_api_viewmodel.dart';
class TransactionHistoryDetailViewModel extends RestfulApiViewModel {
String orderID;
TransactionHistoryDetailViewModel({required this.orderID});
var transactionData = Rxn<TransactionHistoryModel>();
final RxBool isLoading = false.obs;
void Function(String message)? onShowAlertError;
@override
......@@ -19,14 +17,14 @@ class TransactionHistoryDetailViewModel extends RestfulApiViewModel {
}
Future<void> _loadData() async {
showLoading();
client.getTransactionHistoryDetail(orderID).then((value) {
hideLoading();
if (value.isSuccess) {
transactionData.value = value.data;
} else {
onShowAlertError?.call(value.errorMessage ?? Constants.commonError);
}
});
await callApi<TransactionHistoryModel>(
request: () => client.getTransactionHistoryDetail(orderID),
onSuccess: (data, _) {
transactionData.value = data;
},
onFailure: (message, _, _) {
onShowAlertError?.call(message);
},
);
}
}
import 'package:json_annotation/json_annotation.dart';
import 'package:mypoint_flutter_app/screen/transaction/history/transaction_history_emun.dart';
import '../../../directional/directional_action_type.dart';
import '../../../directional/directional_screen.dart';
import 'package:mypoint_flutter_app/features/transaction/history/transaction_history_emun.dart';
import '../../../app/routing/directional_action_type.dart';
import '../../../shared/navigation/directional_screen.dart';
import '../../voucher/models/product_type.dart';
part 'transaction_history_model.g.dart';
......
import 'package:mypoint_flutter_app/screen/transaction/history/transaction_history_model.dart';
import 'package:mypoint_flutter_app/features/transaction/history/transaction_history_model.dart';
class TransactionHistoryResponse {
List<TransactionHistoryModel>? items;
......
import 'package:json_annotation/json_annotation.dart';
import '../../voucher/models/product_type.dart';
import 'order_items_product_payment_response_model.dart';
part 'order_product_payment_response_model.g.dart';
......
import 'package:json_annotation/json_annotation.dart';
import 'package:mypoint_flutter_app/screen/transaction/model/payment_method_type.dart';
import 'package:mypoint_flutter_app/features/transaction/model/payment_method_type.dart';
part 'payment_method_model.g.dart';
@JsonSerializable()
......
import 'dart:core';
import 'package:json_annotation/json_annotation.dart';
import 'package:mypoint_flutter_app/screen/transaction/model/preview_order_payment_point_data_model.dart';
import 'package:mypoint_flutter_app/screen/transaction/model/preview_order_product_info_model.dart';
import 'package:mypoint_flutter_app/features/transaction/model/preview_order_payment_point_data_model.dart';
import 'package:mypoint_flutter_app/features/transaction/model/preview_order_product_info_model.dart';
part 'preview_order_payment_model.g.dart';
@JsonSerializable()
......
Supports Markdown
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