import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';

class CustomBlanceListTitle extends StatefulWidget {
EdgeInsets edgeInsets;
String leftText;
TextStyle leftTextStyle;
String rightText;
TextStyle rightTextStyle;
String eyeText;
TextStyle eyeTextStyle;
@required Color iconColor;
String imgName;
IconData iconSel;
IconData iconNor;
double iconSize;
bool iconState;
PAFFSTFCustomBlanceListTitle({
this.edgeInsets,
@required this.leftText,
this.leftTextStyle,
this.rightText,
this.rightTextStyle,
this.eyeText,
this.eyeTextStyle,
this.iconColor = Colors.orange,
this.imgName,
this.iconSel,
this.iconNor,
this.iconSize = 30,
@required this.iconState, Key key}) : super(key: key);

@override
State<CustomBlanceListTitle> createState() => _CustomBlanceListTitleState();
}

class _CustomBlanceListTitleState extends State<PAFFSTFCustomBlanceListTitle> {
bool _eyeState = false;
 
String _xingStr(dynamic str, bool eyeState){
if (str != null && str is String) {
if (eyeState){
return str;
}else{
return '*' * str.length;
}
 
} else{
return '';
}
 
}

Widget _iconWidget({String imgName, IconData iconSel, IconData iconNor, bool eyeState,double iconSize, Color iconColor}){
double eyeIconSize = iconSize ?? 25;
Widget w;
if (imgName != null && imgName != ''){
w = eyeState ? Image.asset(imgName + '_sel',fit: BoxFit.cover,width:eyeIconSize,height:eyeIconSize, color: iconColor,) : Image.asset(imgName,fit: BoxFit.cover,width:eyeIconSize,height:eyeIconSize, color: iconColor,);

}else{
w = eyeState ? Icon( iconSel ?? CupertinoIcons.eye_solid, size: eyeIconSize, color: iconColor,) : Icon(iconNor ?? CupertinoIcons.eye,size: eyeIconSize, color: iconColor);
}
return w;
}
@override
void initState() {
// TODO: implement initState
super.initState();
 
_eyeState = widget.iconState;
}



@override
Widget build(BuildContext context) {

 
return Container(
padding: widget.edgeInsets ?? EdgeInsets.fromLTRB(15, 10, 15, 10),
child:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(widget.leftText,style: widget.leftTextStyle ?? TextStyle(fontSize:14,color:Colors.black)),
Expanded(child: Container(),flex: 1,),
Text(widget.rightText ?? '', style: widget.rightTextStyle ?? TextStyle(color:Colors.black,fontSize:16,)),
SizedBox(width: 5),
Text(_xingStr(widget.eyeText, widget.iconState),style: widget.eyeTextStyle ?? TextStyle(color: Colors.black,fontSize: 16)),
SizedBox(width: 5),
GestureDetector(onTap:(){setState(() {
_eyeState = !_eyeState;
widget.iconState = !widget.iconState;
});},
 
child:_iconWidget(imgName: widget.imgName,
iconSel: widget.iconSel,iconNor: widget.iconNor,
eyeState: widget.iconState,//_eyeState,
iconSize: widget.iconSize,iconColor: widget.iconColor))
],
)
);
}
}




// ListTile(
// title: Text(widget.leftText,style: widget.leftTextStyle ?? TextStyle(fontSize:14,color:Colors.black)),
// trailing: RichText(text: TextSpan(
// text: widget.rightText ?? '',
// style: widget.rightTextStyle ?? TextStyle(
// color:Colors.black,
// fontSize:16,
// ),
// children: [
// TextSpan(
// text:' ',
// style:TextStyle(fontSize:14,color:Colors.transparent),
// ),
// TextSpan(
// text: _xingStr(widget.eyeText, widget.iconState),
// style: widget.eyeTextStyle ?? TextStyle(
// color: Colors.black,
// fontSize: 16)),
// TextSpan(
// text: ' ',
// style: TextStyle(
// color: Colors.transparent,
// fontSize: 14)
// ),
// WidgetSpan(
// // alignment: Alignment.topCenter,
// baseline: TextBaseline.alphabetic,
// child: GestureDetector(onTap:(){setState(() {
// _eyeState = !_eyeState;
// widget.iconState = !widget.iconState;
// });},
 
// child:_iconWidget(imgName: widget.imgName,
// iconSel: widget.iconSel,iconNor: widget.iconNor,
// eyeState: widget.iconState,//_eyeState,
// iconSize: widget.iconSize,iconColor: widget.iconColor)))
// ]
// ),
 
// ),),