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

update project structure

parent bfff9e47
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:mypoint_flutter_app/extensions/collection_extension.dart'; import 'package:mypoint_flutter_app/core/utils/extensions/collection_extension.dart';
import 'package:mypoint_flutter_app/screen/quiz_campaign/quiz_campaign_header.dart'; import 'package:mypoint_flutter_app/features/quiz_campaign/quiz_campaign_header.dart';
import 'package:mypoint_flutter_app/screen/quiz_campaign/quiz_campaign_model.dart'; import 'package:mypoint_flutter_app/features/quiz_campaign/quiz_campaign_model.dart';
import 'package:mypoint_flutter_app/screen/quiz_campaign/quiz_campaign_viewmodel.dart'; import 'package:mypoint_flutter_app/features/quiz_campaign/quiz_campaign_viewmodel.dart';
import '../../base/base_screen.dart'; import '../../shared/widgets/base_view/base_screen.dart';
import '../../base/basic_state.dart'; import '../../shared/widgets/base_view/basic_state.dart';
import '../../resources/base_color.dart'; import '../../core/theme/base_color.dart';
import '../../widgets/alert/data_alert_model.dart'; import '../../shared/widgets/alert/data_alert_model.dart';
import '../../widgets/custom_empty_widget.dart'; import '../../shared/widgets/custom_empty_widget.dart';
class SurveyQuestionScreen extends BaseScreen { class SurveyQuestionScreen extends BaseScreen {
const SurveyQuestionScreen({super.key}); const SurveyQuestionScreen({super.key});
...@@ -51,7 +51,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba ...@@ -51,7 +51,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
_viewModel.getQuizCampaignDetail(); _viewModel.getQuizCampaignDetail();
} }
_onQuitScreen() { void _onQuitScreen() {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
Get.back(); Get.back();
}); });
...@@ -77,7 +77,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba ...@@ -77,7 +77,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
textController.text = currentQuestion?.inputText ?? ''; textController.text = currentQuestion?.inputText ?? '';
} }
if (currentQuestion == null) { if (currentQuestion == null) {
return const EmptyWidget(); return EmptyWidget(isLoading: _viewModel.isLoading.value);
} }
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
...@@ -125,7 +125,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba ...@@ -125,7 +125,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
), ),
), ),
onChanged: (value) { onChanged: (value) {
currentQuestion?.inputText = value; currentQuestion.inputText = value;
}, },
), ),
...List.generate(currentQuestion.choices?.length ?? 0, (index) { ...List.generate(currentQuestion.choices?.length ?? 0, (index) {
...@@ -212,7 +212,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba ...@@ -212,7 +212,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
); );
} }
_next() { void _next() {
if (currentIndex < (_viewModel.surveyData.value?.questions?.length ?? 0) - 1) { if (currentIndex < (_viewModel.surveyData.value?.questions?.length ?? 0) - 1) {
setState(() => currentIndex++); setState(() => currentIndex++);
} else { } else {
...@@ -229,7 +229,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba ...@@ -229,7 +229,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
} }
} }
_showAlertConfirmSubmit() { void _showAlertConfirmSubmit() {
final dataAlert = DataAlertModel( final dataAlert = DataAlertModel(
title: "Xác nhận", title: "Xác nhận",
description: "Bạn chắc chắn muốn nộp khảo sát? Sau khi gửi, bạn sẽ không thể thay đổi câu trả lời.", description: "Bạn chắc chắn muốn nộp khảo sát? Sau khi gửi, bạn sẽ không thể thay đổi câu trả lời.",
......
import 'package:get/get_rx/src/rx_types/rx_types.dart'; import 'package:get/get_rx/src/rx_types/rx_types.dart';
import 'package:mypoint_flutter_app/configs/constants.dart'; import 'package:mypoint_flutter_app/app/config/constants.dart';
import 'package:mypoint_flutter_app/networking/restful_api_client_all_request.dart'; import 'package:mypoint_flutter_app/core/network/restful_api_client_all_request.dart';
import 'package:mypoint_flutter_app/screen/quiz_campaign/quiz_campaign_model.dart'; import 'package:mypoint_flutter_app/features/quiz_campaign/quiz_campaign_model.dart';
import '../../core/network/restful_api_viewmodel.dart';
import '../../networking/restful_api_viewmodel.dart'; import '../../shared/widgets/alert/popup_data_model.dart';
import '../../widgets/alert/popup_data_model.dart';
class QuizCampaignViewModel extends RestfulApiViewModel { class QuizCampaignViewModel extends RestfulApiViewModel {
var surveyData = Rxn<SurveyCampaignInfoModel>(); var surveyData = Rxn<SurveyCampaignInfoModel>();
......
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'package:mypoint_flutter_app/directional/directional_screen.dart'; import 'package:mypoint_flutter_app/shared/navigation/directional_screen.dart';
part 'form_input_description_model.g.dart'; part 'form_input_description_model.g.dart';
@JsonSerializable() @JsonSerializable()
......
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'input_data_default_code.dart'; import 'input_data_default_code.dart';
part 'input_cell_model.g.dart'; part 'input_cell_model.g.dart';
...@@ -27,7 +26,7 @@ class InputCellModel { ...@@ -27,7 +26,7 @@ class InputCellModel {
final String? codeDefault; final String? codeDefault;
String? content; String? content;
get value => content ?? defaultValue ?? ''; String get value => content ?? defaultValue ?? '';
TextInputType get keyboardType { TextInputType get keyboardType {
if (type == "NUMBER") return TextInputType.number; if (type == "NUMBER") return TextInputType.number;
if (inputDefaultType == InputDataDefaultCode.email) return TextInputType.emailAddress; if (inputDefaultType == InputDataDefaultCode.email) return TextInputType.emailAddress;
......
enum InputDataDefaultCode { enum InputDataDefaultCode {
fullName, fullName,
phoneNumber, phoneNumber,
......
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'package:mypoint_flutter_app/screen/register_campaign/model/verify_register_model.dart'; import 'package:mypoint_flutter_app/features/register_campaign/model/verify_register_model.dart';
import 'form_input_description_model.dart'; import 'form_input_description_model.dart';
import 'input_cell_model.dart'; import 'input_cell_model.dart';
......
import 'dart:convert'; import 'dart:convert';
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'package:mypoint_flutter_app/extensions/string_extension.dart'; import 'package:mypoint_flutter_app/features/register_campaign/model/registration_form_package_verify_model.dart';
import 'package:mypoint_flutter_app/screen/register_campaign/model/registration_form_package_verify_model.dart';
import 'input_form_registration_model.dart'; import 'input_form_registration_model.dart';
part 'registration_form_package_model.g.dart'; part 'registration_form_package_model.g.dart';
......
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart'; import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:mypoint_flutter_app/screen/register_campaign/register_form_input_viewmodel.dart'; import 'package:mypoint_flutter_app/features/register_campaign/register_form_input_viewmodel.dart';
import '../../base/base_screen.dart'; import '../../shared/widgets/base_view/base_screen.dart';
import '../../base/basic_state.dart'; import '../../shared/widgets/base_view/basic_state.dart';
import '../../resources/base_color.dart'; import '../../core/theme/base_color.dart';
import '../../shared/router_gage.dart'; import '../../shared/router_gage.dart';
import '../../widgets/custom_navigation_bar.dart'; import '../../shared/widgets/custom_navigation_bar.dart';
import '../voucher/models/product_model.dart'; import '../voucher/models/product_model.dart';
import 'input_form_cell.dart'; import 'input_form_cell.dart';
import 'model/registration_form_package_model.dart'; import 'model/registration_form_package_model.dart';
......
import 'package:get/get_rx/src/rx_types/rx_types.dart'; import 'package:get/get_rx/src/rx_types/rx_types.dart';
import 'package:mypoint_flutter_app/configs/constants.dart'; import 'package:mypoint_flutter_app/app/config/constants.dart';
import 'package:mypoint_flutter_app/networking/restful_api_client_all_request.dart'; import 'package:mypoint_flutter_app/core/network/restful_api_client_all_request.dart';
import '../../networking/restful_api_viewmodel.dart'; import '../../core/network/restful_api_viewmodel.dart';
import 'model/registration_form_package_model.dart'; import 'model/registration_form_package_model.dart';
import 'model/verify_register_model.dart'; import 'model/verify_register_model.dart';
......
// setting_screen.dart
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:mypoint_flutter_app/screen/setting/setting_viewmodel.dart'; import 'package:mypoint_flutter_app/features/setting/setting_viewmodel.dart';
import '../../shared/router_gage.dart'; import '../../shared/router_gage.dart';
import '../../widgets/bottom_sheet_helper.dart'; import '../../shared/widgets/bottom_sheet_helper.dart';
import '../../widgets/custom_navigation_bar.dart'; import '../../shared/widgets/custom_navigation_bar.dart';
import '../change_pass/change_pass_screen.dart'; import '../change_pass/change_pass_screen.dart';
import '../delete_account/delete_account_dialog.dart'; import '../delete_account/delete_account_dialog.dart';
......
import 'package:get/get.dart'; import 'package:mypoint_flutter_app/core/network/restful_api_client_all_request.dart';
import 'package:mypoint_flutter_app/networking/restful_api_client_all_request.dart'; import '../../core/network/restful_api_viewmodel.dart';
import '../../core/services/biometric_manager.dart';
import '../../networking/restful_api_viewmodel.dart'; import '../../shared/preferences/data_preference.dart';
import '../../permission/biometric_manager.dart';
import '../../preference/data_preference.dart';
class SettingViewModel extends RestfulApiViewModel { class SettingViewModel extends RestfulApiViewModel {
bool biometricEnabled = false; bool biometricEnabled = false;
......
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