Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Hoàng Văn Đạt
mypoint_flutter_app
Commits
6b980613
Commit
6b980613
authored
Nov 14, 2025
by
DatHV
Browse files
update project structure
parent
bfff9e47
Changes
507
Hide whitespace changes
Inline
Side-by-side
lib/
screen
/quiz_campaign/quiz_campaign_screen.dart
→
lib/
features
/quiz_campaign/quiz_campaign_screen.dart
View file @
6b980613
import
'package:flutter/material.dart'
;
import
'package:get/get.dart'
;
import
'package:mypoint_flutter_app/extensions/collection_extension.dart'
;
import
'package:mypoint_flutter_app/
screen
/quiz_campaign/quiz_campaign_header.dart'
;
import
'package:mypoint_flutter_app/
screen
/quiz_campaign/quiz_campaign_model.dart'
;
import
'package:mypoint_flutter_app/
screen
/quiz_campaign/quiz_campaign_viewmodel.dart'
;
import
'../../
base
/base_screen.dart'
;
import
'../../
base
/basic_state.dart'
;
import
'../../
resources
/base_color.dart'
;
import
'../../widgets/alert/data_alert_model.dart'
;
import
'../../widgets/custom_empty_widget.dart'
;
import
'package:mypoint_flutter_app/
core/utils/
extensions/collection_extension.dart'
;
import
'package:mypoint_flutter_app/
features
/quiz_campaign/quiz_campaign_header.dart'
;
import
'package:mypoint_flutter_app/
features
/quiz_campaign/quiz_campaign_model.dart'
;
import
'package:mypoint_flutter_app/
features
/quiz_campaign/quiz_campaign_viewmodel.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/alert/data_alert_model.dart'
;
import
'../../
shared/
widgets/custom_empty_widget.dart'
;
class
SurveyQuestionScreen
extends
BaseScreen
{
const
SurveyQuestionScreen
({
super
.
key
});
...
...
@@ -51,7 +51,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
_viewModel
.
getQuizCampaignDetail
();
}
_onQuitScreen
()
{
void
_onQuitScreen
()
{
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
Get
.
back
();
});
...
...
@@ -77,7 +77,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
textController
.
text
=
currentQuestion
?.
inputText
??
''
;
}
if
(
currentQuestion
==
null
)
{
return
const
EmptyWidget
();
return
EmptyWidget
(
isLoading:
_viewModel
.
isLoading
.
value
);
}
return
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
...
...
@@ -125,7 +125,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
),
),
onChanged:
(
value
)
{
currentQuestion
?
.
inputText
=
value
;
currentQuestion
.
inputText
=
value
;
},
),
...
List
.
generate
(
currentQuestion
.
choices
?.
length
??
0
,
(
index
)
{
...
...
@@ -212,7 +212,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
);
}
_next
()
{
void
_next
()
{
if
(
currentIndex
<
(
_viewModel
.
surveyData
.
value
?.
questions
?.
length
??
0
)
-
1
)
{
setState
(()
=>
currentIndex
++);
}
else
{
...
...
@@ -229,7 +229,7 @@ class _SurveyQuestionScreenState extends BaseState<SurveyQuestionScreen> with Ba
}
}
_showAlertConfirmSubmit
()
{
void
_showAlertConfirmSubmit
()
{
final
dataAlert
=
DataAlertModel
(
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."
,
...
...
lib/
screen
/quiz_campaign/quiz_campaign_viewmodel.dart
→
lib/
features
/quiz_campaign/quiz_campaign_viewmodel.dart
View file @
6b980613
import
'package:get/get_rx/src/rx_types/rx_types.dart'
;
import
'package:mypoint_flutter_app/configs/constants.dart'
;
import
'package:mypoint_flutter_app/networking/restful_api_client_all_request.dart'
;
import
'package:mypoint_flutter_app/screen/quiz_campaign/quiz_campaign_model.dart'
;
import
'../../networking/restful_api_viewmodel.dart'
;
import
'../../widgets/alert/popup_data_model.dart'
;
import
'package:mypoint_flutter_app/app/config/constants.dart'
;
import
'package:mypoint_flutter_app/core/network/restful_api_client_all_request.dart'
;
import
'package:mypoint_flutter_app/features/quiz_campaign/quiz_campaign_model.dart'
;
import
'../../core/network/restful_api_viewmodel.dart'
;
import
'../../shared/widgets/alert/popup_data_model.dart'
;
class
QuizCampaignViewModel
extends
RestfulApiViewModel
{
var
surveyData
=
Rxn
<
SurveyCampaignInfoModel
>();
...
...
lib/
screen
/register_campaign/input_form_cell.dart
→
lib/
features
/register_campaign/input_form_cell.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/form_input_description_model.dart
→
lib/
features
/register_campaign/model/form_input_description_model.dart
View file @
6b980613
import
'package:json_annotation/json_annotation.dart'
;
import
'package:mypoint_flutter_app/
direc
tion
al
/directional_screen.dart'
;
import
'package:mypoint_flutter_app/
shared/naviga
tion/directional_screen.dart'
;
part
'form_input_description_model.g.dart'
;
@JsonSerializable
()
...
...
lib/
screen
/register_campaign/model/form_input_description_model.g.dart
→
lib/
features
/register_campaign/model/form_input_description_model.g.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/input_cell_model.dart
→
lib/
features
/register_campaign/model/input_cell_model.dart
View file @
6b980613
import
'package:flutter/cupertino.dart'
;
import
'package:json_annotation/json_annotation.dart'
;
import
'input_data_default_code.dart'
;
part
'input_cell_model.g.dart'
;
...
...
@@ -27,7 +26,7 @@ class InputCellModel {
final
String
?
codeDefault
;
String
?
content
;
get
value
=>
content
??
defaultValue
??
''
;
String
get
value
=>
content
??
defaultValue
??
''
;
TextInputType
get
keyboardType
{
if
(
type
==
"NUMBER"
)
return
TextInputType
.
number
;
if
(
inputDefaultType
==
InputDataDefaultCode
.
email
)
return
TextInputType
.
emailAddress
;
...
...
lib/
screen
/register_campaign/model/input_cell_model.g.dart
→
lib/
features
/register_campaign/model/input_cell_model.g.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/input_data_default_code.dart
→
lib/
features
/register_campaign/model/input_data_default_code.dart
View file @
6b980613
enum
InputDataDefaultCode
{
fullName
,
phoneNumber
,
...
...
lib/
screen
/register_campaign/model/input_form_registration_model.dart
→
lib/
features
/register_campaign/model/input_form_registration_model.dart
View file @
6b980613
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
'input_cell_model.dart'
;
...
...
lib/
screen
/register_campaign/model/input_form_registration_model.g.dart
→
lib/
features
/register_campaign/model/input_form_registration_model.g.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/registration_form_package_model.dart
→
lib/
features
/register_campaign/model/registration_form_package_model.dart
View file @
6b980613
import
'dart:convert'
;
import
'package:json_annotation/json_annotation.dart'
;
import
'package:mypoint_flutter_app/extensions/string_extension.dart'
;
import
'package:mypoint_flutter_app/screen/register_campaign/model/registration_form_package_verify_model.dart'
;
import
'package:mypoint_flutter_app/features/register_campaign/model/registration_form_package_verify_model.dart'
;
import
'input_form_registration_model.dart'
;
part
'registration_form_package_model.g.dart'
;
...
...
lib/
screen
/register_campaign/model/registration_form_package_model.g.dart
→
lib/
features
/register_campaign/model/registration_form_package_model.g.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/registration_form_package_verify_model.dart
→
lib/
features
/register_campaign/model/registration_form_package_verify_model.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/registration_form_package_verify_model.g.dart
→
lib/
features
/register_campaign/model/registration_form_package_verify_model.g.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/verify_register_model.dart
→
lib/
features
/register_campaign/model/verify_register_model.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/model/verify_register_model.g.dart
→
lib/
features
/register_campaign/model/verify_register_model.g.dart
View file @
6b980613
File moved
lib/
screen
/register_campaign/register_form_input_screen.dart
→
lib/
features
/register_campaign/register_form_input_screen.dart
View file @
6b980613
import
'package:flutter/foundation.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart'
;
import
'package:get/get.dart'
;
import
'package:mypoint_flutter_app/
screen
/register_campaign/register_form_input_viewmodel.dart'
;
import
'../../
base
/base_screen.dart'
;
import
'../../
base
/basic_state.dart'
;
import
'../../
resources
/base_color.dart'
;
import
'package:mypoint_flutter_app/
features
/register_campaign/register_form_input_viewmodel.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/router_gage.dart'
;
import
'../../widgets/custom_navigation_bar.dart'
;
import
'../../
shared/
widgets/custom_navigation_bar.dart'
;
import
'../voucher/models/product_model.dart'
;
import
'input_form_cell.dart'
;
import
'model/registration_form_package_model.dart'
;
...
...
lib/
screen
/register_campaign/register_form_input_viewmodel.dart
→
lib/
features
/register_campaign/register_form_input_viewmodel.dart
View file @
6b980613
import
'package:get/get_rx/src/rx_types/rx_types.dart'
;
import
'package:mypoint_flutter_app/config
s
/constants.dart'
;
import
'package:mypoint_flutter_app/network
ing
/restful_api_client_all_request.dart'
;
import
'../../network
ing
/restful_api_viewmodel.dart'
;
import
'package:mypoint_flutter_app/
app/
config/constants.dart'
;
import
'package:mypoint_flutter_app/
core/
network/restful_api_client_all_request.dart'
;
import
'../../
core/
network/restful_api_viewmodel.dart'
;
import
'model/registration_form_package_model.dart'
;
import
'model/verify_register_model.dart'
;
...
...
lib/
screen
/setting/setting_screen.dart
→
lib/
features
/setting/setting_screen.dart
View file @
6b980613
// setting_screen.dart
import
'package:flutter/foundation.dart'
;
import
'package:flutter/material.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
'../../widgets/bottom_sheet_helper.dart'
;
import
'../../widgets/custom_navigation_bar.dart'
;
import
'../../
shared/
widgets/bottom_sheet_helper.dart'
;
import
'../../
shared/
widgets/custom_navigation_bar.dart'
;
import
'../change_pass/change_pass_screen.dart'
;
import
'../delete_account/delete_account_dialog.dart'
;
...
...
lib/
screen
/setting/setting_viewmodel.dart
→
lib/
features
/setting/setting_viewmodel.dart
View file @
6b980613
import
'package:get/get.dart'
;
import
'package:mypoint_flutter_app/networking/restful_api_client_all_request.dart'
;
import
'../../networking/restful_api_viewmodel.dart'
;
import
'../../permission/biometric_manager.dart'
;
import
'../../preference/data_preference.dart'
;
import
'package:mypoint_flutter_app/core/network/restful_api_client_all_request.dart'
;
import
'../../core/network/restful_api_viewmodel.dart'
;
import
'../../core/services/biometric_manager.dart'
;
import
'../../shared/preferences/data_preference.dart'
;
class
SettingViewModel
extends
RestfulApiViewModel
{
bool
biometricEnabled
=
false
;
...
...
Prev
1
…
14
15
16
17
18
19
20
21
22
…
26
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment