@ -12,6 +12,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import ' package:diplomaticquarterapp/widgets/avatar/large_avatar.dart ' ;
import ' package:diplomaticquarterapp/widgets/avatar/large_avatar.dart ' ;
import ' package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart ' ;
import ' package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart ' ;
import ' package:diplomaticquarterapp/widgets/buttons/button.dart ' ;
import ' package:diplomaticquarterapp/widgets/buttons/button.dart ' ;
import ' package:diplomaticquarterapp/widgets/buttons/defaultButton.dart ' ;
import ' package:diplomaticquarterapp/widgets/buttons/secondary_button.dart ' ;
import ' package:diplomaticquarterapp/widgets/buttons/secondary_button.dart ' ;
import ' package:diplomaticquarterapp/widgets/data_display/text.dart ' ;
import ' package:diplomaticquarterapp/widgets/data_display/text.dart ' ;
import ' package:diplomaticquarterapp/widgets/input/text_field.dart ' ;
import ' package:diplomaticquarterapp/widgets/input/text_field.dart ' ;
@ -102,49 +103,52 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
builder: ( _ , model , widget ) = > AppScaffold (
builder: ( _ , model , widget ) = > AppScaffold (
baseViewModel: model ,
baseViewModel: model ,
isShowDecPage: false ,
isShowDecPage: false ,
body: Container (
body: Column (
height: MediaQuery . of ( context ) . size . height * 0.8 ,
children: [
Expanded (
child: SingleChildScrollView (
child: SingleChildScrollView (
physics: BouncingScrollPhysics ( ) ,
padding: EdgeInsets . only ( top: 16 , bottom: 16 , right: 21 , left: 21 ) ,
child: Form (
child: Form (
key: formKey ,
key: formKey ,
child: Column (
child: Column (
crossAxisAlignment: CrossAxisAlignment . start ,
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
children: < Widget > [
SizedBox (
Text (
height: 65 ,
) ,
Container (
margin: EdgeInsets . only ( left: 20 , right: 20 , top: 8 ) ,
child: Texts (
TranslationBase . of ( context ) . likeToHear ,
TranslationBase . of ( context ) . likeToHear ,
textAlign: TextAlign . center ,
textAlign: TextAlign . center ,
style: TextStyle ( fontSize: 16 , fontWeight: FontWeight . w600 , color: Color ( 0xff2B353E ) , letterSpacing: - 0.64 , height: 23 / 16 ) ,
) ,
) ,
) ,
SizedBox ( height: 21 ) ,
InkWell (
InkWell (
onTap: ( ) {
onTap: ( ) {
confirmBox ( model ) ;
confirmBox ( model ) ;
} ,
} ,
child: Container (
child: Container (
margin: EdgeInsets . only ( left: 10 , right: 10 , top: 15 ) ,
padding: EdgeInsets . only ( left: 16 , right: 16 , bottom: 15 , top: 15 ) ,
height: 50 ,
alignment: Alignment . center ,
decoration: BoxDecoration (
decoration: BoxDecoration (
border: Border . all ( color: Colors . grey ) ,
borderRadius: BorderRadius . circular ( 15 ) ,
borderRadius: BorderRadius . circular ( 7 ) ,
color: Colors . white ,
color: Colors . white ,
shape: BoxShape . rectangle ,
border: Border . all (
color: Color ( 0xffefefef ) ,
width: 1 ,
) ,
) ,
) ,
child: Row (
child: Row (
mainAxisAlignment: MainAxisAlignment . spaceBetween ,
mainAxisAlignment: MainAxisAlignment . spaceBetween ,
children: < Widget > [
children: < Widget > [
Container (
Text (
child: Texts (
getSelected ( context ) ,
getSelected ( context ) ,
variant: ' bodyText ' ,
style: TextStyle (
fontSize: 16 ,
fontWeight: FontWeight . w600 ,
letterSpacing: - 0.48 ,
color: Color ( 0xff2B353E ) ,
) ,
) ,
margin: EdgeInsets . only ( left: 10 , right: 10 ) ,
) ,
) ,
Icon (
Icon (
Icons . arrow_drop _down,
Icons . keyboard_ arrow_down,
size: 22 ,
size: 22 ,
color: Colors . grey ,
color: Colors . grey ,
)
)
@ -152,8 +156,8 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
) ,
) ,
) ,
) ,
) ,
) ,
if ( appointHistory ! = null & &
SizedBox ( height: 12 ) ,
messageType = = MessageType . ComplaintOnAnAppointment )
if ( appointHistory ! = null & & messageType = = MessageType . ComplaintOnAnAppointment )
InkWell (
InkWell (
onTap: ( ) {
onTap: ( ) {
setState ( ( ) {
setState ( ( ) {
@ -161,11 +165,8 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
} ) ;
} ) ;
} ,
} ,
child: Container (
child: Container (
margin: EdgeInsets . all ( 8.0 ) ,
/ / margin: EdgeInsets . all ( 8.0 ) ,
decoration: BoxDecoration (
decoration: BoxDecoration ( color: Colors . white , borderRadius: BorderRadius . circular ( 8 ) ) ,
color: Colors . white ,
borderRadius: BorderRadius . circular ( 8 )
) ,
child: Row (
child: Row (
children: < Widget > [
children: < Widget > [
Container (
Container (
@ -179,18 +180,10 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
? Colors . red [ 900 ]
? Colors . red [ 900 ]
: Theme . of ( context ) . primaryColor ,
: Theme . of ( context ) . primaryColor ,
borderRadius: BorderRadius . only (
borderRadius: BorderRadius . only (
topLeft: projectViewModel . isArabic
topLeft: projectViewModel . isArabic ? Radius . circular ( 0 ) : Radius . circular ( 8 ) ,
? Radius . circular ( 0 )
bottomLeft: projectViewModel . isArabic ? Radius . circular ( 0 ) : Radius . circular ( 8 ) ,
: Radius . circular ( 8 ) ,
topRight: projectViewModel . isArabic ? Radius . circular ( 8 ) : Radius . circular ( 0 ) ,
bottomLeft: projectViewModel . isArabic
bottomRight: projectViewModel . isArabic ? Radius . circular ( 8 ) : Radius . circular ( 0 ) ,
? Radius . circular ( 0 )
: Radius . circular ( 8 ) ,
topRight: projectViewModel . isArabic
? Radius . circular ( 8 )
: Radius . circular ( 0 ) ,
bottomRight: projectViewModel . isArabic
? Radius . circular ( 8 )
: Radius . circular ( 0 ) ,
) ,
) ,
) ,
) ,
child: RotatedBox (
child: RotatedBox (
@ -200,13 +193,9 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
appointHistory . isLiveCareAppointment
appointHistory . isLiveCareAppointment
? TranslationBase . of ( context ) . liveCare . toUpperCase ( )
? TranslationBase . of ( context ) . liveCare . toUpperCase ( )
: ! appointHistory . isInOutPatient
: ! appointHistory . isInOutPatient
? TranslationBase . of ( context )
? TranslationBase . of ( context ) . inPatient . toUpperCase ( )
. inPatient
: TranslationBase . of ( context ) . outpatient . toUpperCase ( ) ,
. toUpperCase ( )
style: TextStyle ( color: Colors . white , fontSize: 12 ) ,
: TranslationBase . of ( context )
. outpatient
. toUpperCase ( ) ,
style: TextStyle ( color: Colors . white , fontSize: 12 ) ,
) ,
) ,
) ) ,
) ) ,
) ,
) ,
@ -231,23 +220,17 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
child: Container (
child: Container (
margin: EdgeInsets . all ( 10 ) ,
margin: EdgeInsets . all ( 10 ) ,
child: Column (
child: Column (
crossAxisAlignment:
crossAxisAlignment: CrossAxisAlignment . start ,
CrossAxisAlignment . start ,
children: < Widget > [
children: < Widget > [
Texts (
Texts (
appointHistory . doctorNameObj ,
appointHistory . doctorNameObj ,
bold: true ,
bold: true ,
) ,
) ,
Texts (
Texts (
DateUtil
DateUtil . getMonthDayYearDateFormatted ( DateUtil . convertStringToDate ( appointHistory . appointmentDate ) ) ,
. getMonthDayYearDateFormatted ( DateUtil . convertStringToDate ( appointHistory . appointmentDate ) ) ,
variant: ' caption3 ' ,
variant: ' caption3 ' ,
) ,
) ,
StarRating (
StarRating ( totalAverage: appointHistory . doctorRate . toDouble ( ) , forceStars: true ) ,
totalAverage: appointHistory
. doctorRate
. toDouble ( ) ,
forceStars: true ) ,
] ,
] ,
) ,
) ,
) ,
) ,
@ -271,13 +254,9 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
) ,
) ,
) ,
) ,
) ,
) ,
if ( messageType = = MessageType . ComplaintOnAnAppointment & &
if ( messageType = = MessageType . ComplaintOnAnAppointment & & model . appointHistoryList . length ! = 0 & & isShowListAppointHistory )
model . appointHistoryList . length ! = 0 & &
isShowListAppointHistory )
Container (
Container (
height: model . appointHistoryList . length > 2
height: model . appointHistoryList . length > 2 ? MediaQuery . of ( context ) . size . height * 0.25 : MediaQuery . of ( context ) . size . height * 0.15 ,
? MediaQuery . of ( context ) . size . height * 0.25
: MediaQuery . of ( context ) . size . height * 0.15 ,
child: ListView . builder (
child: ListView . builder (
itemCount: model . appointHistoryList . length ,
itemCount: model . appointHistoryList . length ,
itemBuilder: ( context , index ) = > InkWell (
itemBuilder: ( context , index ) = > InkWell (
@ -297,8 +276,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
Expanded (
Expanded (
flex: 4 ,
flex: 4 ,
child: Column (
child: Column (
crossAxisAlignment:
crossAxisAlignment: CrossAxisAlignment . start ,
CrossAxisAlignment . start ,
children: < Widget > [
children: < Widget > [
Padding (
Padding (
padding: const EdgeInsets . all ( 10.0 ) ,
padding: const EdgeInsets . all ( 10.0 ) ,
@ -307,14 +285,8 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
Expanded (
Expanded (
flex: 1 ,
flex: 1 ,
child: LargeAvatar (
child: LargeAvatar (
name: model
name: model . appointHistoryList [ index ] . doctorNameObj ,
. appointHistoryList [
url: model . appointHistoryList [ index ] . doctorImageURL ,
index ]
. doctorNameObj ,
url: model
. appointHistoryList [
index ]
. doctorImageURL ,
) ,
) ,
) ,
) ,
Expanded (
Expanded (
@ -322,28 +294,17 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
child: Container (
child: Container (
margin: EdgeInsets . all ( 10 ) ,
margin: EdgeInsets . all ( 10 ) ,
child: Column (
child: Column (
crossAxisAlignment:
crossAxisAlignment: CrossAxisAlignment . start ,
CrossAxisAlignment
. start ,
children: < Widget > [
children: < Widget > [
Texts (
Texts (
model
model . appointHistoryList [ index ] . doctorNameObj ,
. appointHistoryList [
index ]
. doctorNameObj ,
bold: true ,
bold: true ,
) ,
) ,
Texts (
Texts (
DateUtil . getMonthDayYearDateFormatted ( DateUtil . convertStringToDate ( model . appointHistoryList [ index ] . appointmentDate ) ) ,
DateUtil . getMonthDayYearDateFormatted ( DateUtil . convertStringToDate ( model . appointHistoryList [ index ] . appointmentDate ) ) ,
variant: ' caption3 ' ,
variant: ' caption3 ' ,
) ,
) ,
StarRating (
StarRating ( totalAverage: model . appointHistoryList [ index ] . doctorRate . toDouble ( ) , forceStars: true ) ,
totalAverage: model
. appointHistoryList [
index ]
. doctorRate
. toDouble ( ) ,
forceStars: true ) ,
] ,
] ,
) ,
) ,
) ,
) ,
@ -378,83 +339,47 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
) ,
) ,
) ,
) ,
) ,
) ,
Container (
inputWidget ( TranslationBase . of ( context ) . subject , " xxxxxxxx " , titleController ) ,
margin: EdgeInsets . only ( left: 10 , right: 10 , top: 15 ) ,
SizedBox ( height: 12 ) ,
child: TextFields (
inputWidget ( TranslationBase . of ( context ) . message , " xxxxxxxx " , messageController , lines: 11 , suffixTap: ( ) {
hintText: TranslationBase . of ( context ) . subject ,
controller: titleController ,
fontSize: 13.5 ,
hintColor: Colors . black ,
fontWeight: FontWeight . w600 ,
onChanged: ( v ) {
setState ( ( ) { } ) ;
} ,
validator: ( value ) {
if ( value . isEmpty )
return TranslationBase . of ( context ) . emptySubject ;
else
return null ;
} ,
) ,
) ,
Container (
margin: EdgeInsets . only ( left: 10 , right: 10 , top: 15 ) ,
child: TextFields (
hintText: TranslationBase . of ( context ) . message ,
fontSize: 13.5 ,
hintColor: Colors . black ,
fontWeight: FontWeight . w600 ,
maxLines: 25 ,
minLines: 13 ,
controller: messageController ,
suffixIcon: Icons . mic ,
onSuffixTap: ( ) {
openSpeechReco ( ) ;
openSpeechReco ( ) ;
} ,
onChanged: ( v ) {
setState ( ( ) { } ) ;
} ,
validator: ( value ) {
if ( value . isEmpty )
return TranslationBase . of ( context ) . emptyMessage ;
else
return null ;
} ) ,
} ) ,
) ,
SizedBox ( height: 12 ) ,
InkWell (
InkWell (
onTap: ( ) {
onTap: ( ) {
ImageOptions . showImageOptions ( context ,
ImageOptions . showImageOptions ( context , ( String image , File file ) {
( String image , File file ) {
setState ( ( ) {
setState ( ( ) {
images . add ( image ) ;
images . add ( image ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ,
} ,
child: Container (
child: Container (
margin: EdgeInsets . only ( left: 10 , right: 10 , top: 15 ) ,
padding: EdgeInsets . only ( left: 16 , right: 16 , bottom: 15 , top: 15 ) ,
height: 50 ,
alignment: Alignment . center ,
decoration: BoxDecoration (
decoration: BoxDecoration (
border: Border . all ( color: Colors . grey ) ,
borderRadius: BorderRadius . circular ( 15 ) ,
borderRadius: BorderRadius . circular ( 7 ) ,
color: Colors . white ,
color: Colors . white ,
shape: BoxShape . rectangle ,
border: Border . all (
color: Color ( 0xffefefef ) ,
width: 1 ,
) ,
) ,
) ,
child: Center (
child: Row (
child: Row (
crossAxisAlignment: CrossAxisAlignment . center ,
crossAxisAlignment: CrossAxisAlignment . center ,
mainAxisAlignment: MainAxisAlignment . center ,
mainAxisAlignment: MainAxisAlignment . center ,
children: < Widget > [
children: < Widget > [
Icon ( Icons . attach_file ) ,
Icon (
Texts (
Icons . attach_file ,
color: Color ( 0xff2B353E ) ,
) ,
Text (
TranslationBase . of ( context ) . selectAttachment ,
TranslationBase . of ( context ) . selectAttachment ,
variant: ' bodyText ' ,
style: TextStyle ( fontSize: 16 , fontWeight: FontWeight . w600 , color: Color ( 0xff2B353E ) , letterSpacing: - 0.64 , height: 23 / 16 ) ,
textAlign: TextAlign . center ,
) ,
) ,
] ,
] ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
. . . List . generate (
. . . List . generate (
images . length ,
images . length ,
( index ) = > Container (
( index ) = > Container (
@ -488,27 +413,19 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
] ,
] ,
) ,
) ,
) ) ,
) ) ,
SizedBox (
height: 100 ,
) ,
] ,
] ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
bottomSheet: Container (
Container (
height: 80 ,
color: Colors . white ,
width: double . infinity ,
padding: EdgeInsets . only ( top: 16 , bottom: 16 , right: 21 , left: 21 ) ,
padding: EdgeInsets . all ( 15.0 ) ,
child: DefaultButton (
child: Center (
TranslationBase . of ( context ) . send ,
child: Container (
( titleController . text . toString ( ) . isEmpty | | messageController . text . toString ( ) . isEmpty )
height: MediaQuery . of ( context ) . size . height * 0.1 ,
? null
child: SecondaryButton (
: ( ) {
label: TranslationBase . of ( context ) . send ,
textColor: Colors . white ,
disabled: ( titleController . text . toString ( ) . isEmpty | |
messageController . text . toString ( ) . isEmpty ) ,
onTap: ( ) {
final form = formKey . currentState ;
final form = formKey . currentState ;
if ( form . validate ( ) ) {
if ( form . validate ( ) ) {
GifLoaderDialogUtils . showMyDialog ( context ) ;
GifLoaderDialogUtils . showMyDialog ( context ) ;
@ -518,10 +435,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
attachment: images . length > 0 ? images [ 0 ] : " " ,
attachment: images . length > 0 ? images [ 0 ] : " " ,
details: messageController . text ,
details: messageController . text ,
cOCTypeName: getCOCName ( ) ,
cOCTypeName: getCOCName ( ) ,
appointHistory: messageType = =
appointHistory: messageType = = MessageType . ComplaintOnAnAppointment ? appointHistory : null )
MessageType . ComplaintOnAnAppointment
? appointHistory
: null )
. then ( ( value ) {
. then ( ( value ) {
if ( value ) {
if ( value ) {
setState ( ( ) {
setState ( ( ) {
@ -531,8 +445,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
} ) ;
} ) ;
setMessageType ( MessageType . NON ) ;
setMessageType ( MessageType . NON ) ;
GifLoaderDialogUtils . hideDialog ( context ) ;
GifLoaderDialogUtils . hideDialog ( context ) ;
AppToast . showSuccessToast (
AppToast . showSuccessToast ( message: TranslationBase . of ( context ) . yourFeedback ) ;
message: TranslationBase . of ( context ) . yourFeedback ) ;
} else {
} else {
AppToast . showErrorToast ( message: model . error ) ;
AppToast . showErrorToast ( message: model . error ) ;
GifLoaderDialogUtils . hideDialog ( context ) ;
GifLoaderDialogUtils . hideDialog ( context ) ;
@ -540,9 +453,97 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
} ) ;
} ) ;
}
}
} ,
} ,
color: Color ( 0xffD02127 ) ,
textColor: ( titleController . text . toString ( ) . isEmpty | | messageController . text . toString ( ) . isEmpty ) ? Color ( 0xff000000 ) : Colors . white ,
disabledColor: Color ( 0xffEAEAEA ) ,
) ,
) ,
] ,
) ,
) ,
) ;
}
Widget inputWidget ( String _labelText , String _hintText , TextEditingController _controller , { VoidCallback suffixTap , bool isEnable = true , bool hasSelection = false , int lines } ) {
return Container (
padding: EdgeInsets . only ( left: 16 , right: 16 , bottom: 15 , top: 15 ) ,
alignment: Alignment . center ,
decoration: BoxDecoration (
borderRadius: BorderRadius . circular ( 15 ) ,
color: Colors . white ,
border: Border . all (
color: Color ( 0xffefefef ) ,
width: 1 ,
) ,
) ,
) ,
) ,
child: InkWell (
onTap: hasSelection ? ( ) { } : null ,
child: Row (
children: [
Expanded (
child: Column (
mainAxisSize: MainAxisSize . min ,
crossAxisAlignment: CrossAxisAlignment . start ,
children: [
Text (
_labelText ,
style: TextStyle (
fontSize: 11 ,
fontWeight: FontWeight . w600 ,
color: Color ( 0xff2B353E ) ,
letterSpacing: - 0.44 ,
) ,
) ,
TextField (
enabled: isEnable ,
scrollPadding: EdgeInsets . zero ,
keyboardType: TextInputType . number ,
controller: _controller ,
maxLines: lines ,
onChanged: ( value ) = > { setState ( ( ) { } ) } ,
style: TextStyle (
fontSize: 14 ,
height: 21 / 14 ,
fontWeight: FontWeight . w400 ,
color: Color ( 0xff2B353E ) ,
letterSpacing: - 0.44 ,
) ,
decoration: InputDecoration (
isDense: true ,
hintText: _hintText ,
hintStyle: TextStyle (
fontSize: 14 ,
height: 21 / 14 ,
fontWeight: FontWeight . w400 ,
color: Color ( 0xff575757 ) ,
letterSpacing: - 0.56 ,
) ,
suffixIconConstraints: BoxConstraints ( minWidth: 50 ) ,
suffixIcon: suffixTap = = null ? null : IconButton ( icon: Icon ( Icons . mic , color: Color ( 0xff2E303A ) ) , onPressed: suffixTap ) ,
/ / prefixIconConstraints: BoxConstraints ( minWidth: 50 ) ,
/ / prefixIcon: suffix = = null
/ / ? null
/ / : Text (
/ / " + " + suffix ,
/ / style: TextStyle (
/ / fontSize: 14 ,
/ / height: 21 / 14 ,
/ / fontWeight: FontWeight . w500 ,
/ / color: Color ( 0xff2E303A ) ,
/ / letterSpacing: - 0.56 ,
/ / ) ,
/ / ) ,
contentPadding: EdgeInsets . zero ,
border: InputBorder . none ,
focusedBorder: InputBorder . none ,
enabledBorder: InputBorder . none ,
) ,
) ,
) ,
] ,
) ,
) ,
if ( hasSelection ) Icon ( Icons . keyboard_arrow_down_outlined ) ,
] ,
) ,
) ,
) ,
) ,
) ;
) ;
@ -595,10 +596,8 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
openSpeechReco ( ) async {
openSpeechReco ( ) async {
new RoboSearch ( context: context ) . showAlertDialog ( context ) ;
new RoboSearch ( context: context ) . showAlertDialog ( context ) ;
_currentLocaleId =
_currentLocaleId = TranslationBase . of ( AppGlobal . context ) . locale . languageCode ;
TranslationBase . of ( AppGlobal . context ) . locale . languageCode ;
bool available = await speech . initialize ( onStatus: statusListener , onError: errorListener ) ;
bool available = await speech . initialize (
onStatus: statusListener , onError: errorListener ) ;
if ( available ) {
if ( available ) {
speech . listen (
speech . listen (
onResult: resultListener ,
onResult: resultListener ,
@ -641,8 +640,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
}
}
Future < void > initSpeechState ( ) async {
Future < void > initSpeechState ( ) async {
bool hasSpeech = await speech . initialize (
bool hasSpeech = await speech . initialize ( onError: errorListener , onStatus: statusListener ) ;
onError: errorListener , onStatus: statusListener ) ;
print ( hasSpeech ) ;
print ( hasSpeech ) ;
if ( ! mounted ) return ;
if ( ! mounted ) return ;
}
}
@ -652,9 +650,7 @@ class FeedbackTypeDialog extends StatefulWidget {
final Function ( MessageType ) onValueSelected ;
final Function ( MessageType ) onValueSelected ;
final MessageType messageTypeDialog ;
final MessageType messageTypeDialog ;
const FeedbackTypeDialog (
const FeedbackTypeDialog ( { Key key , this . onValueSelected , this . messageTypeDialog = MessageType . NON } ) : super ( key: key ) ;
{ Key key , this . onValueSelected , this . messageTypeDialog = MessageType . NON } )
: super ( key: key ) ;
@ override
@ override
State createState ( ) = > new FeedbackTypeDialogState ( ) ;
State createState ( ) = > new FeedbackTypeDialogState ( ) ;
@ -699,14 +695,12 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
child: InkWell (
child: InkWell (
onTap: ( ) = > setMessageDialogType ( MessageType . NON ) ,
onTap: ( ) = > setMessageDialogType ( MessageType . NON ) ,
child: ListTile (
child: ListTile (
title:
title: Texts ( TranslationBase . of ( context ) . notClassified ) ,
Texts ( TranslationBase . of ( context ) . notClassified ) ,
leading: Radio (
leading: Radio (
value: MessageType . NON ,
value: MessageType . NON ,
groupValue: messageTypeDialog ,
groupValue: messageTypeDialog ,
activeColor: Theme . of ( context ) . primaryColor ,
activeColor: Theme . of ( context ) . primaryColor ,
onChanged: ( MessageType value ) = >
onChanged: ( MessageType value ) = > setMessageDialogType ( value ) ,
setMessageDialogType ( value ) ,
) ,
) ,
) ,
) ,
) ,
) ,
@ -721,17 +715,14 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
Expanded (
Expanded (
flex: 1 ,
flex: 1 ,
child: InkWell (
child: InkWell (
onTap: ( ) = > setMessageDialogType (
onTap: ( ) = > setMessageDialogType ( MessageType . ComplaintOnAnAppointment ) ,
MessageType . ComplaintOnAnAppointment ) ,
child: ListTile (
child: ListTile (
title:
title: Texts ( TranslationBase . of ( context ) . complainAppo ) ,
Texts ( TranslationBase . of ( context ) . complainAppo ) ,
leading: Radio (
leading: Radio (
value: MessageType . ComplaintOnAnAppointment ,
value: MessageType . ComplaintOnAnAppointment ,
groupValue: messageTypeDialog ,
groupValue: messageTypeDialog ,
activeColor: Theme . of ( context ) . primaryColor ,
activeColor: Theme . of ( context ) . primaryColor ,
onChanged: ( MessageType value ) = >
onChanged: ( MessageType value ) = > setMessageDialogType ( value ) ,
setMessageDialogType ( value ) ,
) ,
) ,
) ,
) ,
) ,
) ,
@ -746,17 +737,14 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
Expanded (
Expanded (
flex: 1 ,
flex: 1 ,
child: InkWell (
child: InkWell (
onTap: ( ) = > setMessageDialogType (
onTap: ( ) = > setMessageDialogType ( MessageType . ComplaintWithoutAppointment ) ,
MessageType . ComplaintWithoutAppointment ) ,
child: ListTile (
child: ListTile (
title: Texts (
title: Texts ( TranslationBase . of ( context ) . complainWithoutAppo ) ,
TranslationBase . of ( context ) . complainWithoutAppo ) ,
leading: Radio (
leading: Radio (
value: MessageType . ComplaintWithoutAppointment ,
value: MessageType . ComplaintWithoutAppointment ,
groupValue: messageTypeDialog ,
groupValue: messageTypeDialog ,
activeColor: Theme . of ( context ) . primaryColor ,
activeColor: Theme . of ( context ) . primaryColor ,
onChanged: ( MessageType value ) = >
onChanged: ( MessageType value ) = > setMessageDialogType ( value ) ,
setMessageDialogType ( value ) ,
) ,
) ,
) ,
) ,
) ,
) ,
@ -778,8 +766,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
value: MessageType . Question ,
value: MessageType . Question ,
groupValue: messageTypeDialog ,
groupValue: messageTypeDialog ,
activeColor: Theme . of ( context ) . primaryColor ,
activeColor: Theme . of ( context ) . primaryColor ,
onChanged: ( MessageType value ) = >
onChanged: ( MessageType value ) = > setMessageDialogType ( value ) ,
setMessageDialogType ( value ) ,
) ,
) ,
) ,
) ,
) ,
) ,
@ -794,16 +781,14 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
Expanded (
Expanded (
flex: 1 ,
flex: 1 ,
child: InkWell (
child: InkWell (
onTap: ( ) = >
onTap: ( ) = > setMessageDialogType ( MessageType . Compliment ) ,
setMessageDialogType ( MessageType . Compliment ) ,
child: ListTile (
child: ListTile (
title: Texts ( TranslationBase . of ( context ) . compliment ) ,
title: Texts ( TranslationBase . of ( context ) . compliment ) ,
leading: Radio (
leading: Radio (
value: MessageType . Compliment ,
value: MessageType . Compliment ,
groupValue: messageTypeDialog ,
groupValue: messageTypeDialog ,
activeColor: Theme . of ( context ) . primaryColor ,
activeColor: Theme . of ( context ) . primaryColor ,
onChanged: ( MessageType value ) = >
onChanged: ( MessageType value ) = > setMessageDialogType ( value ) ,
setMessageDialogType ( value ) ,
) ,
) ,
) ,
) ,
) ,
) ,
@ -818,16 +803,14 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
Expanded (
Expanded (
flex: 1 ,
flex: 1 ,
child: InkWell (
child: InkWell (
onTap: ( ) = >
onTap: ( ) = > setMessageDialogType ( MessageType . Suggestion ) ,
setMessageDialogType ( MessageType . Suggestion ) ,
child: ListTile (
child: ListTile (
title: Texts ( TranslationBase . of ( context ) . suggestion ) ,
title: Texts ( TranslationBase . of ( context ) . suggestion ) ,
leading: Radio (
leading: Radio (
value: MessageType . Suggestion ,
value: MessageType . Suggestion ,
groupValue: messageTypeDialog ,
groupValue: messageTypeDialog ,
activeColor: Theme . of ( context ) . primaryColor ,
activeColor: Theme . of ( context ) . primaryColor ,
onChanged: ( MessageType value ) = >
onChanged: ( MessageType value ) = > setMessageDialogType ( value ) ,
setMessageDialogType ( value ) ,
) ,
) ,
) ,
) ,
) ,
) ,