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 '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 {
|
class MyScheduleScreen extends StatelessWidget {
|
||||||
|
List<String> litems = [
|
||||||
|
"1",
|
||||||
|
"2",
|
||||||
|
];
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return AppScaffold(
|
||||||
appBar: AppBar(title: Text("My Schedule"),),
|
// 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