|
|
|
import 'dart:convert';
|
|
|
|
import 'dart:typed_data';
|
|
|
|
|
|
|
|
import 'package:doctor_app_flutter/config/config.dart';
|
|
|
|
import 'package:doctor_app_flutter/config/size_config.dart';
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/profile_image_widget.dart';
|
|
|
|
|
|
|
|
import '../shared/rounded_container_widget.dart';
|
|
|
|
import '../shared/app_texts_widget.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
|
|
/*
|
|
|
|
*@author: ibrahim albitar
|
|
|
|
*@Date:28/4/2020
|
|
|
|
*@param:
|
|
|
|
*@return:
|
|
|
|
*@desc:
|
|
|
|
*/
|
|
|
|
|
|
|
|
class MedicineItemWidget extends StatefulWidget {
|
|
|
|
|
|
|
|
final String label;
|
|
|
|
final Color backgroundColor;
|
|
|
|
final bool showBorder;
|
|
|
|
final Color borderColor;
|
|
|
|
final String url;
|
|
|
|
|
|
|
|
MedicineItemWidget({ @required this.label, this.backgroundColor = Colors.white, this.showBorder = false, this.borderColor = Colors.white, this.url});
|
|
|
|
@override
|
|
|
|
_MedicineItemWidgetState createState() => _MedicineItemWidgetState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _MedicineItemWidgetState extends State<MedicineItemWidget> {
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return new RoundedContainer(
|
|
|
|
height: SizeConfig.heightMultiplier * 8,
|
|
|
|
child:Padding(
|
|
|
|
padding: const EdgeInsets.all(5.0),
|
|
|
|
child: Row(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
children: <Widget>[
|
|
|
|
if(widget.url != null) Container(
|
|
|
|
height: 39,
|
|
|
|
width: 39,
|
|
|
|
child: ClipRRect(
|
|
|
|
borderRadius:BorderRadius.all(Radius.circular(7)),
|
|
|
|
child: Image.memory(
|
|
|
|
dataFromBase64String(widget.url),
|
|
|
|
height: SizeConfig.imageSizeMultiplier * 15,
|
|
|
|
width: SizeConfig.imageSizeMultiplier * 15,
|
|
|
|
fit: BoxFit.cover,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Expanded(child: Padding( padding: EdgeInsets.all(5), child: Align( alignment: Alignment.centerLeft, child: AppText(widget.label))))
|
|
|
|
],),
|
|
|
|
),
|
|
|
|
backgroundColor: widget.backgroundColor, showBorder: widget.showBorder, borderColor: widget.borderColor, margin: 4, raduis: 10,);
|
|
|
|
}
|
|
|
|
|
|
|
|
Image imageFromBase64String(String base64String) {
|
|
|
|
return Image.memory(base64Decode(base64String));
|
|
|
|
}
|
|
|
|
|
|
|
|
Uint8List dataFromBase64String(String base64String) {
|
|
|
|
return base64Decode(base64String);
|
|
|
|
}
|
|
|
|
|
|
|
|
String base64String(Uint8List data) {
|
|
|
|
return base64Encode(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|