You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PatientApp-KKUMC/lib/widgets/others/not_auh_page.dart

172 lines
5.9 KiB
Dart

import 'package:carousel_slider/carousel_slider.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/login/login-type.dart';
import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../splashPage.dart';
class NotAutPage extends StatefulWidget {
final String title;
final String description;
final List<String> infoList;
final List<ImagesInfo> imagesInfo;
NotAutPage(
{@required this.title,
@required this.description,
this.infoList,
this.imagesInfo});
@override
_NotAutPageState createState() => _NotAutPageState();
}
class _NotAutPageState extends State<NotAutPage> {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return Scaffold(
body: SingleChildScrollView(
padding: EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(
widget.title ?? 'Service',
fontWeight: FontWeight.w800,
fontSize: 25,
bold: true,
color: Color(0xff60686b),
),
SizedBox(
height: 12,
),
Texts(
widget.description ?? 'Description',
fontWeight: FontWeight.normal,
fontSize: 17,
),
if (widget.infoList != null)
SizedBox(
height: 12,
),
if (widget.infoList != null)
...List.generate(
widget.infoList.length,
(index) => Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Container(
width: 40,
height: 40,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Theme.of(context).primaryColor),
child: Center(
child: Texts(
'${index + 1}',
color: Colors.white,
),
),
),
SizedBox(
width: 6,
),
Expanded(child: Texts('${widget.infoList[index]}'))
],
),
SizedBox(
height: 12,
),
],
),
),
),
SizedBox(
height: 22,
),
if (!projectViewModel.isInternetConnection)
Center(
child: SizedBox(
height: MediaQuery.of(context).size.height * 0.55,
width: MediaQuery.of(context).size.width * 0.50,
child: Image.asset(projectViewModel.isArabic
? 'assets/images/Wifi-AR.png'
: 'assets/images/wifi-EN.png'),
),
),
if (projectViewModel.isInternetConnection &&
widget.imagesInfo != null)
CarouselSlider(
items: widget.imagesInfo.map((image) {
return Builder(
builder: (BuildContext context) {
return SizedBox(
width: MediaQuery.of(context).size.width * 0.50,
child: image.isAsset
? Image.asset(projectViewModel.isArabic
? image.imageAr
: image.imageEn)
: Image.network(projectViewModel.isArabic
? image.imageAr
: image.imageEn));
},
);
}).toList(),
options: CarouselOptions(
height: MediaQuery.of(context).size.height * 0.55,
autoPlay: widget.imagesInfo.length > 1,
viewportFraction: 1.0,
),
),
SizedBox(
height: 77,
),
],
),
),
bottomSheet: Container(
height: MediaQuery.of(context).size.height * 0.10,
width: double.infinity,
child: Column(
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width * 0.9,
child: SecondaryButton(
onTap: () {
loginCheck(context);
},
label: TranslationBase.of(context).serviceInformationButton,
textColor: Theme.of(context).backgroundColor),
),
],
),
),
);
}
loginCheck(context) async {
var data = await sharedPref.getObject(IMEI_USER_DATA);
sharedPref.remove(REGISTER_DATA_FOR_LOGIIN);
if (data != null) {
Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else {
Navigator.of(context).pushNamed(
WELCOME_LOGIN,
);
}
}
}