Merge branch 'development' into app-changes

merge-requests/527/head
mosazaid 5 years ago
commit 4b3c5b9f37

@ -88,8 +88,6 @@ class BaseAppClient {
print("URL : $url");
print("Body : ${json.encode(body)}");
String req = json.encode(body);
var asd="";
if (await Helpers.checkConnection()) {
final response = await http.post(url,
@ -105,7 +103,8 @@ class BaseAppClient {
var parsed = json.decode(response.body.toString());
if (parsed['ErrorType'] == 4) {
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],parsed['AndroidLink'],parsed['IOSLink']);
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],
parsed['AndroidLink'], parsed['IOSLink']);
}
if (!parsed['IsAuthenticated']) {
@ -225,7 +224,8 @@ class BaseAppClient {
onSuccess(parsed, statusCode);
} else {
if (parsed['ErrorType'] == 4) {
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],parsed['AndroidLink'],parsed['IOSLink']);
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],
parsed['AndroidLink'], parsed['IOSLink']);
}
if (parsed['IsAuthenticated'] == null) {
if (parsed['isSMSSent'] == true) {
@ -289,7 +289,6 @@ class BaseAppClient {
}
}
String getError(parsed) {
//TODO change this fun
String error = parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'];

@ -18,7 +18,11 @@ import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/dashboard/activity_button.dart';
import 'package:doctor_app_flutter/widgets/dashboard/guage_chart.dart';
import 'package:doctor_app_flutter/widgets/dashboard/out_patient_stack.dart';
import 'package:doctor_app_flutter/widgets/dashboard/row_count.dart';
import 'package:doctor_app_flutter/widgets/dashboard/swiper_rounded_pagination.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/profile-welcome-widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -28,6 +32,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_swiper/flutter_swiper.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
import 'package:sticky_headers/sticky_headers/widget.dart';
import '../../routes.dart';
import '../../widgets/shared/app_texts_widget.dart';
@ -130,10 +135,12 @@ class _HomeScreenState extends State<HomeScreen> {
baseViewModel: model,
isShowAppBar: false,
body: ListView(children: [
Column(
children: <Widget>[
SizedBox(height: 20),
Stack(children: [
Column(children: <Widget>[
StickyHeader(
header: Container(
color: Colors.grey[100],
padding: EdgeInsets.only(top: 10),
child: Stack(children: [
IconButton(
icon: Image.asset('assets/images/menu.png',
height: 50, width: 50),
@ -141,8 +148,7 @@ class _HomeScreenState extends State<HomeScreen> {
color: Colors.black,
onPressed: () => Scaffold.of(context).openDrawer(),
),
Column(
children: <Widget>[
Column(children: <Widget>[
ProfileWelcomeWidget(
Row(
mainAxisAlignment: MainAxisAlignment.start,
@ -150,7 +156,8 @@ class _HomeScreenState extends State<HomeScreen> {
Container(
width: MediaQuery.of(context).size.width * .6,
// // height: 100,
child: projectsProvider.doctorClinicsList.length > 0
child: projectsProvider.doctorClinicsList.length >
0
? Stack(
children: [
DropdownButtonHideUnderline(
@ -177,7 +184,8 @@ class _HomeScreenState extends State<HomeScreen> {
Container(
padding: EdgeInsets.all(2),
margin: EdgeInsets.all(2),
decoration: new BoxDecoration(
decoration:
new BoxDecoration(
color: Colors.red[800],
borderRadius:
BorderRadius.circular(
@ -194,18 +202,21 @@ class _HomeScreenState extends State<HomeScreen> {
.toString(),
style: new TextStyle(
color: Colors.white,
fontSize: projectsProvider
fontSize:
projectsProvider
.isArabic
? 10
: 11,
),
textAlign: TextAlign.center,
textAlign:
TextAlign.center,
),
),
AppText(item.clinicName,
fontSize: 12,
color: Colors.black,
fontWeight: FontWeight.bold,
fontWeight:
FontWeight.bold,
textAlign: TextAlign.end),
],
);
@ -230,22 +241,19 @@ class _HomeScreenState extends State<HomeScreen> {
)),
],
)
: AppText(TranslationBase.of(context).noClinic),
: AppText(
TranslationBase.of(context).noClinic),
),
],
),
isClilic: true,
height: 50,
),
])
])),
content: Column(
children: [
Container(
height: MediaQuery.of(context).size.height * 0.24,
),
],
),
Positioned(
right: 9.0,
left: 9,
top: MediaQuery.of(context).size.height * .08,
child: Container(
height: MediaQuery.of(context).size.height * 0.35,
child: model.dashboardItemsList.length > 0
? new Swiper(
@ -279,19 +287,19 @@ class _HomeScreenState extends State<HomeScreen> {
.spaceBetween,
children: [
config.activeIndex == 0
? getSwiperPagiantion(
? SwiperRoundedPagination(
true)
: getSwiperPagiantion(
: SwiperRoundedPagination(
false),
config.activeIndex == 1
? getSwiperPagiantion(
? SwiperRoundedPagination(
true)
: getSwiperPagiantion(
: SwiperRoundedPagination(
false),
config.activeIndex == 2
? getSwiperPagiantion(
? SwiperRoundedPagination(
true)
: getSwiperPagiantion(
: SwiperRoundedPagination(
false),
],
)))))
@ -302,8 +310,6 @@ class _HomeScreenState extends State<HomeScreen> {
// control: new SwiperControl(),
)
: SizedBox()),
)
]),
model.dashboardItemsList.length > 0
? FractionallySizedBox(
widthFactor: 0.90,
@ -322,9 +328,11 @@ class _HomeScreenState extends State<HomeScreen> {
MainAxisAlignment.start,
children: <Widget>[
AppText(
model.dashboardItemsList[3].kPIName,
model.dashboardItemsList[3]
.kPIName,
fontSize:
SizeConfig.textMultiplier * 2.2,
SizeConfig.textMultiplier *
2.2,
fontWeight: FontWeight.bold,
),
],
@ -342,13 +350,14 @@ class _HomeScreenState extends State<HomeScreen> {
.height *
0.20,
child: new ListView(
scrollDirection: Axis.horizontal,
scrollDirection:
Axis.horizontal,
children: new List.generate(
model
.dashboardItemsList[3]
.summaryoptions
.length, (int index) {
return getActivityButton(model
return GetActivityButton(model
.dashboardItemsList[3]
.summaryoptions[index]);
})))
@ -364,8 +373,8 @@ class _HomeScreenState extends State<HomeScreen> {
AppText(
model.dashboardItemsList[6]
.kPIName,
fontSize:
SizeConfig.textMultiplier *
fontSize: SizeConfig
.textMultiplier *
2.2,
fontWeight: FontWeight.bold,
),
@ -384,15 +393,19 @@ class _HomeScreenState extends State<HomeScreen> {
.height *
0.20,
child: new ListView(
scrollDirection:
Axis.horizontal,
children: new List.generate(
scrollDirection: Axis
.horizontal,
children: new List
.generate(
model
.dashboardItemsList[6]
.dashboardItemsList[
6]
.summaryoptions
.length, (int index) {
return getActivityButton(model
.dashboardItemsList[6]
.length,
(int index) {
return GetActivityButton(model
.dashboardItemsList[
6]
.summaryoptions[index]);
})))
],
@ -406,8 +419,8 @@ class _HomeScreenState extends State<HomeScreen> {
AppText(
model.dashboardItemsList[4]
.kPIName,
fontSize:
SizeConfig.textMultiplier *
fontSize: SizeConfig
.textMultiplier *
2.2,
fontWeight: FontWeight.bold,
),
@ -426,15 +439,19 @@ class _HomeScreenState extends State<HomeScreen> {
.height *
0.20,
child: new ListView(
scrollDirection:
Axis.horizontal,
children: new List.generate(
scrollDirection: Axis
.horizontal,
children: new List
.generate(
model
.dashboardItemsList[4]
.dashboardItemsList[
4]
.summaryoptions
.length, (int index) {
return getActivityButton(model
.dashboardItemsList[4]
.length,
(int index) {
return GetActivityButton(model
.dashboardItemsList[
4]
.summaryoptions[index]);
})))
],
@ -463,7 +480,8 @@ class _HomeScreenState extends State<HomeScreen> {
width: 150,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
TranslationBase.of(context).patients,
@ -521,7 +539,8 @@ class _HomeScreenState extends State<HomeScreen> {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PatientReferralScreen(),
builder: (context) =>
PatientReferralScreen(),
// MyReferredPatient(),
),
);
@ -556,7 +575,8 @@ class _HomeScreenState extends State<HomeScreen> {
onTap: () {
Navigator.of(context)
.pushNamed(PATIENTS, arguments: {
"patientSearchForm": _patientSearchFormValues,
"patientSearchForm":
_patientSearchFormValues,
"selectedType": "7",
"arrivalType": "1"
});
@ -623,6 +643,8 @@ class _HomeScreenState extends State<HomeScreen> {
),
],
),
)
]),
]),
),
);
@ -671,12 +693,9 @@ class _HomeScreenState extends State<HomeScreen> {
projectID: doctorProfile.projectID,
tokenID: '',
languageID: 2);
// authProvider.getDocProfiles(docInfo)
authProvider.getDocProfiles(docInfo.toJson()).then((res) async {
changeIsLoading(false);
sharedPref.setObj(DOCTOR_PROFILE, res['DoctorProfileList'][0]);
// model.getDashboard();
}).catchError((err) {
changeIsLoading(false);
Helpers.showErrorToast(err);
@ -696,135 +715,6 @@ class _HomeScreenState extends State<HomeScreen> {
return value.toString();
}
Widget getActivityButton(value) {
return Container(
width: MediaQuery.of(context).size.width * 0.24,
padding: EdgeInsets.all(5),
margin: EdgeInsets.all(5),
height: MediaQuery.of(context).orientation == Orientation.portrait
? MediaQuery.of(context).size.height * 0.15
: MediaQuery.of(context).size.height * 0.20,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.all(10),
child: AppText(value.value.toString(),
fontSize: 28, fontWeight: FontWeight.bold)),
Expanded(
child: AppText(
value.kPIParameter,
textOverflow: TextOverflow.clip,
fontSize: 12,
textAlign: TextAlign.center,
),
),
],
),
);
}
Widget dot(Color c) {
return Container(
padding: EdgeInsets.all(5.0),
margin: EdgeInsets.all(5.0),
decoration: BoxDecoration(color: c, shape: BoxShape.circle));
}
Widget rowCount(name, int count, Color c) {
return Row(
children: [
dot(c),
Padding(
padding: EdgeInsets.only(top: 5, bottom: 5),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
name,
color: Colors.black,
textAlign: TextAlign.center,
fontSize: 12,
textOverflow: TextOverflow.ellipsis,
),
AppText(
' (' + count.toString() + ')',
color: Colors.black,
textAlign: TextAlign.center,
fontSize: 14,
fontWeight: FontWeight.bold,
)
],
)),
],
);
}
Widget getOutPatientStack(value) {
value.summaryoptions
.sort((Summaryoptions a, Summaryoptions b) => b.value - a.value);
var list = new List<Widget>();
value.summaryoptions.forEach((result) =>
{list.add(getStack(result, value.summaryoptions.first.value))});
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
AppText(
value.kPIName,
medium: true,
),
Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: list)
],
);
}
getStack(Summaryoptions value, max) {
return Stack(children: [
Container(
height: 150,
margin: EdgeInsets.all(5),
width: 40,
child: SizedBox(),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10), color: Colors.red[50]),
),
Positioned(
bottom: 0,
child: Container(
child: SizedBox(),
margin: EdgeInsets.all(5),
padding: EdgeInsets.all(10),
height: max != 0 ? (150 * value.value) / max : 0,
width: 40,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.red[300]))),
Container(
height: 150,
margin: EdgeInsets.only(left: 5, top: 5),
padding: EdgeInsets.all(10),
child: RotatedBox(
quarterTurns: 1,
child: Center(
child: Align(
child: AppText(
value.kPIParameter + ' (' + value.value.toString() + ') ',
fontSize: 10,
textAlign: TextAlign.center,
fontWeight: FontWeight.bold,
)),
),
))
]);
}
List<Widget> getSwipeWidget(model) {
return [
RoundedContainer(
@ -832,13 +722,13 @@ class _HomeScreenState extends State<HomeScreen> {
margin: EdgeInsets.only(top: 15, bottom: 15, left: 10, right: 10),
child: Padding(
padding: const EdgeInsets.all(5.0),
child: getOutPatientStack(model.dashboardItemsList[1]))),
child: GetOutPatientStack(model.dashboardItemsList[1]))),
RoundedContainer(
height: MediaQuery.of(context).size.height * 0.35,
margin: EdgeInsets.only(top: 15, bottom: 15, left: 10, right: 10),
child: Padding(
padding: const EdgeInsets.all(5.0),
child: getOutPatientStack(model.dashboardItemsList[0]))),
child: GetOutPatientStack(model.dashboardItemsList[0]))),
RoundedContainer(
height: MediaQuery.of(context).size.height * 0.35,
margin: EdgeInsets.only(top: 15, bottom: 15, left: 10, right: 10),
@ -892,19 +782,19 @@ class _HomeScreenState extends State<HomeScreen> {
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
rowCount(
RowCounts(
model.dashboardItemsList[2]
.summaryoptions[0].kPIParameter,
model.dashboardItemsList[2]
.summaryoptions[0].value,
Colors.black),
rowCount(
RowCounts(
model.dashboardItemsList[2]
.summaryoptions[1].kPIParameter,
model.dashboardItemsList[2]
.summaryoptions[1].value,
Colors.grey),
rowCount(
RowCounts(
model.dashboardItemsList[2]
.summaryoptions[2].kPIParameter,
model.dashboardItemsList[2]
@ -942,21 +832,4 @@ class _HomeScreenState extends State<HomeScreen> {
])),
];
}
getSwiperPagiantion(active) {
return active == true
? Container(
height: 5,
width: 30,
// margin: EdgeInsets.only(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5), color: Colors.black),
)
: Container(
height: 5,
width: 8,
margin: EdgeInsets.all(2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10), color: Colors.grey));
}
}

@ -252,7 +252,8 @@ class AddSickLeavScreen extends StatelessWidget {
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText('No Sick Leave Found'),
child: AppText(
TranslationBase.of(context).noSickLeave),
)
],
),

@ -5,19 +5,14 @@ import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/sick-leave/sick_leave.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
class ShowSickLeaveScreen extends StatelessWidget {
PatiantInformtion patient;
@ -32,6 +27,7 @@ class ShowSickLeaveScreen extends StatelessWidget {
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
isShowAppBar: true,
backgroundColor: Colors.grey[100],
appBar: PatientProfileHeaderNewDesignAppBar(
patient,
routeArgs['patientType'] ?? "0",
@ -42,7 +38,8 @@ class ShowSickLeaveScreen extends StatelessWidget {
children: [
// PatientProfileHeaderNewDesign(
// patient, routeArgs['patientType'], routeArgs['arrivalType']),
Column(
model.getAllSIckLeave.length > 0
? Column(
children: model.getAllSIckLeave
.map<Widget>((GetAllSickLeaveResponse item) {
return RoundedContainer(
@ -77,7 +74,8 @@ class ShowSickLeaveScreen extends StatelessWidget {
padding: EdgeInsets.all(3),
child: AppText(
item.status == 1
? TranslationBase.of(context)
? TranslationBase.of(
context)
.hold
: item.status == 2
? TranslationBase.of(
@ -96,7 +94,8 @@ class ShowSickLeaveScreen extends StatelessWidget {
),
Row(
children: [
AppText(TranslationBase.of(context)
AppText(TranslationBase.of(
context)
.daysSickleave),
AppText(
item.noOfDays.toString(),
@ -123,7 +122,8 @@ class ShowSickLeaveScreen extends StatelessWidget {
),
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
MainAxisAlignment
.spaceBetween,
children: [
AppText(
item.remarks ?? "",
@ -135,7 +135,8 @@ class ShowSickLeaveScreen extends StatelessWidget {
// color: Colors.green, //Colors.black,
onPressed: () => {
if (item.status == 1)
if (item.status ==
1)
{
DrAppToastMsg.showErrorToast(
TranslationBase.of(
@ -168,6 +169,22 @@ class ShowSickLeaveScreen extends StatelessWidget {
));
}).toList(),
)
: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
height: 100,
),
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText(
TranslationBase.of(context).noSickLeave),
)
],
),
)
],
),
),

@ -0,0 +1,39 @@
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class GetActivityButton extends StatelessWidget {
final value;
GetActivityButton(this.value);
@override
Widget build(BuildContext context) {
return Container(
width: 120,
padding: EdgeInsets.all(5),
margin: EdgeInsets.all(5),
height: 120,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.all(10),
child: AppText(value.value.toString(),
fontSize: 28, fontWeight: FontWeight.bold)),
Expanded(
child: AppText(
value.kPIParameter,
textOverflow: TextOverflow.clip,
fontSize: 12,
textAlign: TextAlign.center,
fontWeight: FontWeight.w600,
),
),
],
),
);
}
}

@ -0,0 +1,68 @@
import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class GetOutPatientStack extends StatelessWidget {
final value;
GetOutPatientStack(this.value);
@override
Widget build(BuildContext context) {
value.summaryoptions
.sort((Summaryoptions a, Summaryoptions b) => b.value - a.value);
var list = new List<Widget>();
value.summaryoptions.forEach((result) =>
{list.add(getStack(result, value.summaryoptions.first.value))});
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
AppText(
value.kPIName,
medium: true,
),
Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: list)
],
);
}
getStack(Summaryoptions value, max) {
return Stack(children: [
Container(
height: 150,
margin: EdgeInsets.all(5),
width: 40,
child: SizedBox(),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10), color: Colors.red[50]),
),
Positioned(
bottom: 0,
child: Container(
child: SizedBox(),
margin: EdgeInsets.all(5),
padding: EdgeInsets.all(10),
height: max != 0 ? (150 * value.value) / max : 0,
width: 40,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.red[300]))),
Container(
height: 150,
margin: EdgeInsets.only(left: 5, top: 5),
padding: EdgeInsets.all(10),
child: RotatedBox(
quarterTurns: 1,
child: Center(
child: Align(
child: AppText(
value.kPIParameter + ' (' + value.value.toString() + ') ',
fontSize: 10,
textAlign: TextAlign.center,
fontWeight: FontWeight.bold,
)),
),
))
]);
}
}

@ -0,0 +1,45 @@
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class RowCounts extends StatelessWidget {
final name;
final int count;
final Color c;
RowCounts(this.name, this.count, this.c);
@override
Widget build(BuildContext context) {
return Row(
children: [
dot(c),
Padding(
padding: EdgeInsets.only(top: 5, bottom: 5),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
name,
color: Colors.black,
textAlign: TextAlign.center,
fontSize: 12,
textOverflow: TextOverflow.ellipsis,
),
AppText(
' (' + count.toString() + ')',
color: Colors.black,
textAlign: TextAlign.center,
fontSize: 14,
fontWeight: FontWeight.bold,
)
],
)),
],
);
}
Widget dot(Color c) {
return Container(
padding: EdgeInsets.all(5.0),
margin: EdgeInsets.all(5.0),
decoration: BoxDecoration(color: c, shape: BoxShape.circle));
}
}

@ -0,0 +1,24 @@
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class SwiperRoundedPagination extends StatelessWidget {
final active;
SwiperRoundedPagination(this.active);
@override
Widget build(BuildContext context) {
return active == true
? Container(
height: 5,
width: 30,
// margin: EdgeInsets.only(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5), color: Colors.black),
)
: Container(
height: 5,
width: 8,
margin: EdgeInsets.all(2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10), color: Colors.grey));
}
}

@ -901,6 +901,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.10.0-nullsafety.1"
sticky_headers:
dependency: "direct main"
description:
name: sticky_headers
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.8+1"
stream_channel:
dependency: transitive
description:

@ -78,7 +78,7 @@ dependencies:
# Flutter Html View
flutter_html: 1.0.2
sticky_headers: "^0.1.8"
#speech to text

Loading…
Cancel
Save