Merge branch 'master' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into develop
commit
ac4fb8d508
@ -1,9 +1,65 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../config/size_config.dart';
|
||||
import '../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../widgets/shared/card_with_bg_widget.dart';
|
||||
|
||||
class MyScheduleScreen extends StatelessWidget {
|
||||
List<String> litems = [
|
||||
"1",
|
||||
"2",
|
||||
];
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: Text("My Schedule"),),
|
||||
return AppScaffold(
|
||||
// pageOnly: false,
|
||||
appBarTitle: 'My Schdule',
|
||||
body: Container(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0),
|
||||
child: ListView(children: <Widget>[
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
Text('My Schedule', style: textStyle(2.5, FontWeight.w700)),
|
||||
scheduleListByDate('Today, 7 April '),
|
||||
scheduleListByDate('Wednesday, 8 April '),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
]),
|
||||
));
|
||||
}
|
||||
|
||||
Column scheduleListByDate(date) {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Text(date, style: textStyle(2.5)),
|
||||
Container(
|
||||
child: Column(
|
||||
children: litems.map((item) {
|
||||
return CardWithBgWidget(line1Text: 'ER new development ideas meeting',line2Text:'09:00 AM - 10:50 AM',line3Text: 'Cloud Solution',icon: Icons.add_location, heightPercentage: 0.20, widthPercentage: 0.80,);
|
||||
}).toList(),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
TextStyle textStyle(size, [FontWeight weight]) {
|
||||
return TextStyle(
|
||||
fontSize: size * SizeConfig.textMultiplier, fontWeight: weight);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,56 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../widgets/shared/app_scaffold_widget.dart';
|
||||
import '../../widgets/shared/card_with_bg_widget.dart';
|
||||
|
||||
class PatientsScreen extends StatelessWidget {
|
||||
List<String> litems = [
|
||||
"1",
|
||||
"1",
|
||||
"1",
|
||||
];
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
appBarTitle: 'Patients',
|
||||
body: Container(
|
||||
child: Column(
|
||||
children: litems.map((item) {
|
||||
return CardWithBgWidget(
|
||||
line1Text: 'Fahad AlSlehm - 324599',
|
||||
line2Text: '12/04/2020 - 02:00 PM',
|
||||
// line3Text: '',
|
||||
|
||||
heightPercentage: 0.15,
|
||||
widthPercentage: 0.80);
|
||||
}).toList(),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class CustomShapeClipper extends CustomClipper<Path> {
|
||||
@override
|
||||
Path getClip(Size size) {
|
||||
final Path path = Path();
|
||||
path.lineTo(0.0, size.height);
|
||||
|
||||
var firstEndPoint = Offset(size.width * .5, size.height / 2);
|
||||
var firstControlpoint = Offset(size.width * 0.25, size.height * 0.95 + 30);
|
||||
path.quadraticBezierTo(firstControlpoint.dx, firstControlpoint.dy,
|
||||
firstEndPoint.dx, firstEndPoint.dy);
|
||||
|
||||
var secondEndPoint = Offset(size.width, size.height * 0.10);
|
||||
var secondControlPoint = Offset(size.width * .75, size.height * .10 - 20);
|
||||
path.quadraticBezierTo(secondControlPoint.dx, secondControlPoint.dy,
|
||||
secondEndPoint.dx, secondEndPoint.dy);
|
||||
|
||||
path.lineTo(size.width, 0.0);
|
||||
path.close();
|
||||
return path;
|
||||
}
|
||||
|
||||
@override
|
||||
bool shouldReclip(CustomClipper oldClipper) => true;
|
||||
}
|
||||
@ -0,0 +1,82 @@
|
||||
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
class CardWithBgWidget extends StatelessWidget {
|
||||
String line1Text;
|
||||
String line2Text;
|
||||
String line3Text;
|
||||
IconData icon;
|
||||
double heightPercentage;
|
||||
double widthPercentage;
|
||||
CardWithBgWidget(
|
||||
{this.line1Text = '',
|
||||
this.line2Text = '',
|
||||
this.line3Text = '',
|
||||
this.icon,
|
||||
this.heightPercentage,
|
||||
this.widthPercentage});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(
|
||||
children: <Widget>[
|
||||
RoundedContainer(
|
||||
Container(
|
||||
height: SizeConfig.screenHeight * heightPercentage,
|
||||
width: SizeConfig.screenWidth * widthPercentage,
|
||||
),
|
||||
raduis: 10,
|
||||
backgroundColor: Hexcolor('#58434F'),
|
||||
showBorder: true,
|
||||
borderColor: Hexcolor('#707070'),
|
||||
borderWidth: 0.5,
|
||||
),
|
||||
Positioned(
|
||||
left: 10,
|
||||
child: RoundedContainer(
|
||||
Container(
|
||||
padding: const EdgeInsets.all(15.0),
|
||||
height: SizeConfig.screenHeight * heightPercentage,
|
||||
width: SizeConfig.screenWidth * widthPercentage,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text(line1Text, style: textStyle(2.5)),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
Text(line2Text, style: textStyle(2.5)),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
Icon(icon),
|
||||
Text(line3Text, style: textStyle(2.5))
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
elevation: 0,
|
||||
// raduis: 0,
|
||||
showBorder: true,
|
||||
borderColor: Hexcolor('#707070'),
|
||||
customCornerRaduis: true,
|
||||
bottomLeft: 0,
|
||||
topLeft: 0,
|
||||
bottomRight: 10,
|
||||
topRight: 10,
|
||||
borderWidth: 0.5),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
TextStyle textStyle(size, [FontWeight weight]) {
|
||||
return TextStyle(
|
||||
fontSize: size * SizeConfig.textMultiplier, fontWeight: weight);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomShapeClipper extends CustomClipper<Path> {
|
||||
@override
|
||||
Path getClip(Size size) {
|
||||
final Path path = Path();
|
||||
path.lineTo(0.0, size.height);
|
||||
|
||||
var firstEndPoint = Offset(size.width * .5, size.height / 2);
|
||||
var firstControlpoint = Offset(size.width * 0.25, size.height * 0.95 + 30);
|
||||
path.quadraticBezierTo(firstControlpoint.dx, firstControlpoint.dy,
|
||||
firstEndPoint.dx, firstEndPoint.dy);
|
||||
|
||||
var secondEndPoint = Offset(size.width, size.height * 0.10);
|
||||
var secondControlPoint = Offset(size.width * .75, size.height * .10 - 20);
|
||||
path.quadraticBezierTo(secondControlPoint.dx, secondControlPoint.dy,
|
||||
secondEndPoint.dx, secondEndPoint.dy);
|
||||
|
||||
path.lineTo(size.width, 0.0);
|
||||
path.close();
|
||||
return path;
|
||||
}
|
||||
|
||||
@override
|
||||
bool shouldReclip(CustomClipper oldClipper) => true;
|
||||
}
|
||||
Loading…
Reference in New Issue