Commit 747a18a8 authored by Arham Aulia Nugraha's avatar Arham Aulia Nugraha

Merge branch 'master' of http://103.44.149.204/qorridi/medapp_eksad

 Conflicts:
	lib/screen/solution.dart
parents 8014f89a 4ace81ac
......@@ -24,3 +24,28 @@ class Animasi_Kanan_Kiri extends StatelessWidget {
);
}
}
class Animasi_Kanan_Kiri_Justify extends StatelessWidget {
const Animasi_Kanan_Kiri_Justify({Key? key, required this.judul}) : super(key: key);
final String judul;
@override
Widget build(BuildContext context) {
return ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.decelerate,
direction: Direction.horizontal,
child: Center(
child: Text(
judul,
style: GoogleFonts.poppins(
fontSize: 13,
fontWeight: FontWeight.w500,
letterSpacing: 1.2,
height: 1.4),
textAlign: TextAlign.justify,
),
),
);
}
}
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:medapp_eksad/model/contact_model.dart';
Future<bool> savecontact(nama, email, nohp, message) async {
final response = await http.post(
Uri.parse('http://10.3.4.231:8081/medapp/v1/api/contact/save'),
body: jsonEncode({
"nama": nama,
"email": email,
"noHp": nohp,
"message": message}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
});
if (response.statusCode == 200) {
return true;
} else {
return false;
}
}
Future<List<contact>> showcontact() async {
var response = await http
.get(Uri.parse('http://10.3.4.231:8082/medapp/v1/api/contact/get'));
var resultJson = jsonDecode(response.body)['data'];
List<contact> contactlist = await resultJson
.map<contact>((json) => contact.fromJson(json))
.toList();
return contactlist;
}
\ No newline at end of file
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:medapp_eksad/model/wa_model.dart';
Future<bool> savewa(nama, nohp) async {
final response = await http.post(
Uri.parse('http://10.3.4.231:8081/medapp/v1/api/whatapps/save'),
body: jsonEncode({
"nama": nama,
"no": nohp
}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
});
if (response.statusCode == 200) {
return true;
} else {
return false;
}
}
Future<List<dynamic>> showa() async {
var response = await http
.get(Uri.parse('http://10.3.4.231:8082/medapp/v1/api/whatapps/get'));
var resultJson = jsonDecode(response.body)['data'];
List<wa> walist = await resultJson
.map<wa>((json) => wa.fromJson(json))
.toList();
return walist;
}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:medapp_eksad/appbar/appbar_home.dart';
import 'package:medapp_eksad/screen_small/small_contact/small_contact_us2.dart';
import 'package:medapp_eksad/screen/contact_us/contact_us2.dart';
import 'package:medapp_eksad/screen/footer.dart';
import 'package:medapp_eksad/screen/home/home1.dart';
......@@ -7,6 +8,9 @@ import 'package:medapp_eksad/screen/home/home2.dart';
import 'package:medapp_eksad/screen/home/home3.dart';
import 'package:medapp_eksad/screen/home/home4.dart';
import 'package:medapp_eksad/screen_small/small_footer.dart';
import 'package:medapp_eksad/screen_small/small_home/small_home1.dart';
import 'package:medapp_eksad/screen_small/small_home/small_home2.dart';
import 'package:medapp_eksad/screen_small/small_home/small_home3.dart';
import 'package:medapp_eksad/widget/drawer.dart';
import 'package:medapp_eksad/widget/responsive.dart';
import 'package:medapp_eksad/widget/whatsapp.dart';
......@@ -42,12 +46,12 @@ class _HomePageState extends State<HomePage> {
drawer: const DrawerMeddApp(),
body: ResponsiveWidget.isSmallScreen(context)
? ListView(
children: [
const Home1(),
const Home2(),
const Home3(),
ContactUs2(),
const FooterSmall(),
children: const [
SmallHome1(),
SmallHome2(),
SmallHome3(),
ContactUs2_small(),
FooterSmall(),
],
)
: ListView(
......
class contact {
int? idContact;
String? namaContact;
String? emailContact;
String? noHp;
String? messageContact;
contact(
{this.idContact,
this.namaContact,
this.emailContact,
this.noHp,
this.messageContact});
contact.fromJson(Map<String, dynamic> json) {
idContact = json['idContact'];
namaContact = json['namaContact'];
emailContact = json['emailContact'];
noHp = json['noHp'];
messageContact = json['messageContact'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['idContact'] = this.idContact;
data['namaContact'] = this.namaContact;
data['emailContact'] = this.emailContact;
data['noHp'] = this.noHp;
data['messageContact'] = this.messageContact;
return data;
}
}
class user {
String? idUser;
String? namaUser;
String? emailUser;
String? noHp;
String? username;
String? password;
String? statusUser;
user(
{this.idUser,
this.namaUser,
this.emailUser,
this.noHp,
this.username,
this.password,
this.statusUser});
user.fromJson(Map<String, dynamic> json) {
idUser = json['idUser'];
namaUser = json['namaUser'];
emailUser = json['emailUser'];
noHp = json['noHp'];
username = json['username'];
password = json['password'];
statusUser = json['statusUser'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['idUser'] = this.idUser;
data['namaUser'] = this.namaUser;
data['emailUser'] = this.emailUser;
data['noHp'] = this.noHp;
data['username'] = this.username;
data['password'] = this.password;
data['statusUser'] = this.statusUser;
return data;
}
}
class wa {
int? idWa;
String? namaWa;
String? noWa;
String? statusWa;
bool? activeWa;
wa({this.idWa, this.namaWa, this.noWa, this.statusWa, this.activeWa});
wa.fromJson(Map<String, dynamic> json) {
idWa = json['idWa'];
namaWa = json['namaWa'];
noWa = json['noWa'];
statusWa = json['statusWa'];
activeWa = json['activeWa'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['idWa'] = this.idWa;
data['namaWa'] = this.namaWa;
data['noWa'] = this.noWa;
data['statusWa'] = this.statusWa;
data['activeWa'] = this.activeWa;
return data;
}
}
\ No newline at end of file
......@@ -20,7 +20,7 @@ class Home1 extends StatelessWidget {
color: Colors.transparent,
image: DecorationImage(
image: AssetImage(
"assets/logo/homepage.png",
"assets/images/homepage.png",
),
fit: BoxFit.cover),
),
......
......@@ -2,9 +2,9 @@ import 'package:flutter/material.dart';
import 'package:medapp_eksad/appbar/appbar_home.dart';
import 'package:medapp_eksad/screen/footer.dart';
import 'package:medapp_eksad/screen/solution/our_solution.dart';
import 'package:medapp_eksad/screen/solution/our_solution2.dart';
import 'package:medapp_eksad/widget/responsive.dart';
import 'package:flutter/services.dart';
import 'package:medapp_eksad/screen/solution/home3.dart';
void setPageTitle(String title, BuildContext context) {
SystemChrome.setApplicationSwitcherDescription(ApplicationSwitcherDescription(
......@@ -21,7 +21,7 @@ class Solutions extends StatefulWidget {
}
class _SolutionsState extends State<Solutions> {
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
setPageTitle('MeddApp Solutions', context);
......@@ -33,10 +33,10 @@ class _SolutionsState extends State<Solutions> {
: AppbarHomeLarge(screenSize, context, Colors.black, Colors.black,
Colors.blue, Colors.black, Colors.black),
body: ListView(
children: [
children: const [
OurSolution(),
Home3(),
Footer()
OurSolution2(),
Footer(),
],
),
);
......@@ -46,7 +46,7 @@ class _SolutionsState extends State<Solutions> {
return AppBar(
leading: IconButton(
onPressed: () => _scaffoldKey.currentState!.openDrawer(),
icon: Icon(
icon: const Icon(
Icons.list_outlined,
size: 30,
color: Colors.black,
......@@ -54,13 +54,11 @@ class _SolutionsState extends State<Solutions> {
),
backgroundColor: Colors.white,
centerTitle: true,
title: Container(
child: SizedBox(
title: SizedBox(
height: 50,
width: 150,
child: Image.asset("assets/logo/medapp-logo.png"),
),
),
// ),
);
......
import 'package:flutter/material.dart';
import 'package:medapp_eksad/widget/image_slide.dart';
class OurSolution2 extends StatefulWidget {
const OurSolution2({Key? key}) : super(key: key);
@override
State<OurSolution2> createState() => _OurSolution2State();
}
class _OurSolution2State extends State<OurSolution2> {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
width: screenSize.width,
height: screenSize.height*0.75,
padding: EdgeInsets.symmetric(horizontal: screenSize.width*0.1, vertical: screenSize.height*0.1),
child: Container(
width: screenSize.width*0.75,
height: screenSize.height*0.65,
child: VerticalSlider(),
),
);
}
}
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
class ContactUs1_small extends StatefulWidget {
const ContactUs1_small({Key? key}) : super(key: key);
......@@ -26,13 +27,12 @@ class _ContactUsState extends State<ContactUs1_small> {
fit: BoxFit.cover)),
),
Container(
width: screenSize.width * 0.5,
height: screenSize.height * 0.34,
padding: EdgeInsets.only(
right: screenSize.width * 0.30, left: screenSize.height * 0.06),
width: screenSize.width,
height: screenSize.height * 0.4,
padding: EdgeInsets.only(top: screenSize.height*0.07),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
'Contact Us',
......@@ -40,7 +40,6 @@ class _ContactUsState extends State<ContactUs1_small> {
fontSize: 37,
fontWeight: FontWeight.bold,
color: Colors.white),
overflow: TextOverflow.ellipsis,
),
],
),
......
......@@ -6,9 +6,15 @@ import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:medapp_eksad/widget/button_color.dart';
class ContactUs2_small extends StatelessWidget {
ContactUs2_small({Key? key}) : super(key: key);
class ContactUs2_small extends StatefulWidget {
const ContactUs2_small({Key? key}) : super(key: key);
@override
State<ContactUs2_small> createState() => _ContactUs2_smallState();
}
class _ContactUs2_smallState extends State<ContactUs2_small> {
final _formKey = GlobalKey<FormState>();
final nameController = TextEditingController();
......@@ -20,7 +26,7 @@ class ContactUs2_small extends StatelessWidget {
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
height: screenSize.height * 1.5,
height: screenSize.height * 1.75,
width: screenSize.width,
padding: EdgeInsets.symmetric(horizontal: 15),
// color: Colors.blue,
......@@ -40,7 +46,8 @@ class ContactUs2_small extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text(
Center(
child: Text(
'Yes, you need '
'\n'
'an outsourcing partner '
......@@ -50,7 +57,9 @@ class ContactUs2_small extends StatelessWidget {
color: Colors.white,
fontSize: 30,
fontWeight: FontWeight.bold)),
Text(
),
Center(
child: Text(
'Go for the one who knows what they are doing, those who you share values with, '
'and those who will celebrate your success, and help you win over your biggest challenges. '
'Looking for an outsourcing partner? ',
......@@ -60,10 +69,14 @@ class ContactUs2_small extends StatelessWidget {
fontSize: 18,
// fontWeight: FontWeight.bold,
letterSpacing: 1.1)),
Text("We’ll contact you immediately to discuss to help you.",
),
Center(
child: Text("We’ll contact you immediately to discuss to help you.",
style: GoogleFonts.poppins(
color: Colors.white, fontSize: 18, letterSpacing: 1.2)),
Form(
),
Center(
child: Form(
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
......@@ -249,6 +262,7 @@ class ContactUs2_small extends StatelessWidget {
),
]),
),
),
]),
),
);
......@@ -278,3 +292,5 @@ class ContactUs2_small extends StatelessWidget {
return response.statusCode;
}
}
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:medapp_eksad/widget/button_color.dart';
import 'package:show_up_animation/show_up_animation.dart';
class SmallHome1 extends StatelessWidget {
const SmallHome1({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Stack(
children: [
Container(
width: screenSize.width,
height: screenSize.height * 0.7,
decoration: const BoxDecoration(
color: Colors.transparent,
image: DecorationImage(
image: AssetImage(
"assets/images/homepage.png",
),
fit: BoxFit.cover),
),
),
Container(
width: screenSize.width,
height: screenSize.height * 0.7,
decoration: BoxDecoration(
color: Colors.blue,
gradient: LinearGradient(
colors: [
Colors.blue.withOpacity(0.0),
Colors.blue,
],
stops: const [0.0, 1.0],
),
),
),
Container(
width: screenSize.width,
height: screenSize.height * 0.65,
padding: EdgeInsets.only(
left: screenSize.width * 0.4, top: screenSize.height * 0.05),
child: Column(
//crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Container(
width: screenSize.width * 0.5,
height: screenSize.height * 0.09,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
direction: Direction.horizontal,
child: Text(
'Engage With Your Patients More Efficiently',
textAlign: TextAlign.center,
style: GoogleFonts.poppins(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.white),
// overflow: TextOverflow.ellipsis,
),
),
),
Container(
// padding: EdgeInsets.only(top: 1),
width: screenSize.width * 0.47,
height: screenSize.height * 0.31,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.bounceIn,
direction: Direction.horizontal,
// offset: -0.2,
child: Text(
'Welcome to healthcare’s most powerful collaboration suite. '
'Enhance clinical workflows, speed decisions, and improve'
' patient outcomes, safely and securely.',
textAlign: TextAlign.center,
style: GoogleFonts.poppins(
fontSize: 15,
// letterSpacing: 1.3,
// height: 1.5,
fontWeight: FontWeight.bold,
color: Colors.white),
),
),
),
Container(
width: screenSize.width * 0.36,
height: screenSize.height * 0.1,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.bounceIn,
direction: Direction.horizontal,
offset: -0.2,
child: ElevatedButton(
onPressed: () {
Navigator.pushNamed(context, '/contact');
},
style: DefaultColors(),
child: const Text(
'TALK WITH EXPERT',
style: TextStyle(
fontSize: 16,
letterSpacing: 2,
color: Colors.white,
fontWeight: FontWeight.w500),
textAlign: TextAlign.center,
),
),
),
)
],
),
),
],
);
}
}
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:medapp_eksad/animation/kiri_kanan_small.dart';
import 'package:show_up_animation/show_up_animation.dart';
class SmallHome2 extends StatelessWidget {
const SmallHome2({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
width: screenSize.width * 0.5,
color: const Color.fromARGB(255, 227, 235, 253),
height: screenSize.height*2,
padding: EdgeInsets.only(
left: screenSize.width * 0.10,
right: screenSize.width * 0.10,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
SizedBox(height: 1,),
Container(
width: screenSize.width,
child: Text('How do we help ?',
style: GoogleFonts.poppins(
fontSize: 30,
color: const Color.fromARGB(255, 12, 66, 101),
fontWeight: FontWeight.bold)),
),
Container(
width: screenSize.width,
height: screenSize.height*0.35,
child: Text(
'We understand that the global healthcare industry is experiencing several challenges, thus requiring a company`s ability to respond to these challenges quickly and innovatively, '
'and seize opportunities that arise will be critical to ensuring the company`s sustainability in the future.',
textAlign: TextAlign.justify,
style: GoogleFonts.poppins(
fontSize: 15,
letterSpacing: 1.1,
height: 1.5,
fontWeight: FontWeight.w500)),
),
Column(
// mainAxisAlignment: MainAxisAlignment.start,
children: [
ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.decelerate,
direction: Direction.horizontal,
offset: -0.3,
child: list_help(
screenSize: screenSize,
titel: 'Costs are getting more expensive'),
),
ShowUpAnimation(
delayStart: const Duration(seconds: 2),
curve: Curves.decelerate,
direction: Direction.horizontal,
child: list_help(
screenSize: screenSize,
titel: "Demographic Change",
),
),
ShowUpAnimation(
delayStart: const Duration(seconds: 3),
curve: Curves.decelerate,
direction: Direction.horizontal,
offset: -0.3,
child: list_help(
screenSize: screenSize,
titel: "Rare talents"),
),
ShowUpAnimation(
delayStart: const Duration(seconds: 4),
curve: Curves.decelerate,
direction: Direction.horizontal,
child: list_help(
screenSize: screenSize,
titel: "Rapid technological Change",
),
),
ShowUpAnimation(
delayStart: const Duration(seconds: 5),
curve: Curves.decelerate,
direction: Direction.horizontal,
offset: -0.3,
child: list_help(
screenSize: screenSize,
titel: "Changes in consumer behavior"),
),
],
),
Container(
width: screenSize.width,
height: screenSize.height*0.4,
child: Text(
'Too much admin. Longer work hours. Less time spent with patients.'
'You’re not alone in the stress and frustration these cause. At MedApps, '
'our medical practice management software is designed to make your life easier,'
'not harder. Which means you can get on with doing what you do best, in ways that work best for you.',
textAlign: TextAlign.justify,
style: GoogleFonts.poppins(
fontSize: 15,
letterSpacing: 1.1,
height: 1.5,
fontWeight: FontWeight.w500)),
),
Container(
width: screenSize.width,
height: screenSize.height*0.4,
child: Text(
'MedApps combines practice management and clinical workflows into one seamless, modern interface. '
'Manage all patient interactions securely on the go, or in your practice.'
'Benefit from server-free* infrastructure, automatic upgrades and simple licensing.',
textAlign: TextAlign.justify,
style: GoogleFonts.poppins(
fontSize: 15,
letterSpacing: 1.1,
height: 1.5,
fontWeight: FontWeight.w500)),
),
],
),
);
}
}
class list_help extends StatelessWidget {
const list_help({Key? key, required this.screenSize, required this.titel})
: super(key: key);
final Size screenSize;
final String titel;
@override
Widget build(BuildContext context) {
return ListTile(
leading: const Icon(
Icons.circle_rounded,
size: 12,
color: Colors.black,
),
title: Container(
// padding: const EdgeInsets.only(left: 10),
// width: screenSize.width * 0.35,
// height: screenSize.height * 0.1,
child: Text(
titel,
style: GoogleFonts.poppins(
fontSize: 16,
height: 1.3,
),
textAlign: TextAlign.left,
),
));
}
}
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:medapp_eksad/animation/animasi_kanan_kiri.dart';
import 'package:medapp_eksad/animation/animasi_kiri_kanan.dart';
import 'package:show_up_animation/show_up_animation.dart';
class SmallHome3 extends StatefulWidget {
const SmallHome3({Key? key}) : super(key: key);
@override
State<SmallHome3> createState() => _SmallHome3State();
}
class _SmallHome3State extends State<SmallHome3> {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
padding: EdgeInsets.symmetric(horizontal: 15),
height: screenSize.height * 2.6,
width: screenSize.width,
child: Column(
children: [
const SizedBox(
height: 40,
),
Text("Why MedApps ?",
style: GoogleFonts.poppins(
fontSize: 36,
color: const Color(0xff1e5ea8),
fontWeight: FontWeight.bold)),
const SizedBox(
height: 20,
),
SizedBox(
width: screenSize.width,
height: screenSize.height * 0.45,
child: Row(
children: [
Container(
width: screenSize.width*0.4,
height: screenSize.height * 0.65,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: screenSize.width * 0.4,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/why1.png',
height: 60,
width: 60,
))),
SizedBox(height: 20,),
Container(
padding: EdgeInsets.symmetric(horizontal: 10),
width: 200,
height: 20,
child: const Text(
'QUEUE SYSTEM',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 15,
letterSpacing: 1.1,
fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
width: screenSize.width*0.5,
height: screenSize.height * 0.65,
child: const Animasi_Kanan_Kiri_Justify(
judul:
'Simplify the process of getting queue numbers for various hospital services such as: '
'consulting with doctors, using hospital facilities (radiology, laboratories, etc.) and '
'purchasing drugs from pharmacies.'))
],
),
),
SizedBox(
width: screenSize.width,
height: screenSize.height * 0.45,
child: Row(
children: [
Container(
width: screenSize.width*0.4,
height: screenSize.height * 0.65,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: screenSize.width * 0.4,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/why2.png',
height: 60,
width: 60,
))),
SizedBox(height: 20,),
Container(
padding: EdgeInsets.symmetric(horizontal: 10),
width: 200,
height: 70,
child: const Text(
'ENGAGEMENT TO PATIENTS WITH NOTIFICATIONS',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 15,
letterSpacing: 1.1,
fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
width: screenSize.width*0.5,
height: screenSize.height * 0.65,
child: const Animasi_Kanan_Kiri_Justify(
judul:
'Patients get \nnotifications of queue movements so they can adjust their arrival schedule to the hospital. '
'Arrivals close to this service time will have an impact on reducing the crowd of people queuing at the hospital. '
'Queue information is integrated with the queue display panel in the hospital.'))
],
),
),
SizedBox(
width: screenSize.width,
height: screenSize.height * 0.45,
child: Row(
children: [
Container(
width: screenSize.width*0.4,
height: screenSize.height * 0.65,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: screenSize.width * 0.4,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/why3.png',
height: 60,
width: 60,
))),
SizedBox(height: 20,),
Container(
padding: EdgeInsets.symmetric(horizontal: 10),
width: 200,
height: 70,
child: const Text(
'SELF-REGISTRATION THROUGH MOBILE APPLICATION OR KIOSK',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 15,
letterSpacing: 1.1,
fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
width: screenSize.width*0.5,
height: screenSize.height * 0.65,
child: const Animasi_Kanan_Kiri_Justify(
judul:
'Patients can self-register through a mobile application or kiosk, '
'thereby reducing queues at the hospital.'))
],
),
),
SizedBox(
width: screenSize.width,
height: screenSize.height * 0.35,
child: Row(
children: [
Container(
width: screenSize.width*0.4,
height: screenSize.height * 0.65,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: screenSize.width * 0.4,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/why4.png',
height: 60,
width: 60,
))),
SizedBox(height: 20,),
Container(
padding: EdgeInsets.symmetric(horizontal: 10),
width: 200,
height: 60,
child: const Text(
'MULTI CHANNEL PAYMENT',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 15,
letterSpacing: 1.1,
fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
width: screenSize.width*0.5,
height: screenSize.height * 0.65,
child: const Animasi_Kanan_Kiri_Justify(
judul:
'Acceptance of payments can be done easily and flexibly with the availability of '
'online payment systems (credit cards, transfers, digital-wallet).'))
],
),
),
SizedBox(
width: screenSize.width,
height: screenSize.height * 0.35,
child: Row(
children: [
Container(
width: screenSize.width*0.4,
height: screenSize.height * 0.55,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: screenSize.width * 0.4,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/why4.png',
height: 60,
width: 60,
))),
SizedBox(height: 20,),
Container(
padding: EdgeInsets.symmetric(horizontal: 10),
width: 200,
height: 40,
child: const Text(
'DRUG DELIVERY',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 15,
letterSpacing: 1.1,
fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
width: screenSize.width*0.5,
height: screenSize.height * 0.55,
child: const Animasi_Kanan_Kiri_Justify(
judul:
'Drug delivery works in collaboration with goods delivery service providers '
'which are currently developing fast.',))
],
),
),
SizedBox(
width: screenSize.width,
height: screenSize.height * 0.35,
child: Row(
children: [
Container(
width: screenSize.width*0.4,
height: screenSize.height * 0.45,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: screenSize.width * 0.4,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/why4.png',
height: 60,
width: 60,
))),
SizedBox(height: 20,),
Container(
padding: EdgeInsets.symmetric(horizontal: 10),
width: 200,
height: 70,
child: const Text(
'OTHER FEATURES',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 15,
letterSpacing: 1.1,
fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
width: screenSize.width*0.5,
height: screenSize.height * 0.45,
child: const Animasi_Kanan_Kiri_Justify(
judul:
'Online consultation (to be integrated with the current RSSC system), '
'Emergency assistance to call ambulances and doctors, '
'Rating by consumers for each service',))
],
),
),
],
),
);
}
}
import 'package:flutter/material.dart';
import 'package:carousel_slider/carousel_slider.dart';
final List<String> imgList = [
'/images/homepage.png',
'/images/solution.jpg',
'/images/contactus1.jpg',
];
final List<Widget> imageSliders = imgList
.map((item) => Container(
child: Container(
margin: const EdgeInsets.all(5.0),
child: ClipRRect(
borderRadius: const BorderRadius.all(Radius.circular(5.0)),
child: Stack(
children: <Widget>[
Image.asset(
item,
fit: BoxFit.cover,
width: 840,
),
Positioned(
bottom: 0.0,
left: 0.0,
right: 0.0,
child: Container(
decoration: const BoxDecoration(
gradient: LinearGradient(
colors: [
Color.fromARGB(200, 0, 0, 0),
Color.fromARGB(0, 0, 0, 0)
],
begin: Alignment.bottomCenter,
end: Alignment.topCenter,
),
),
// padding: const EdgeInsets.symmetric(
// vertical: 10.0, horizontal: 20.0),
// child: const Text(
// 'Bootcamp',
// //'No. ${imgList.indexOf(item)} image',
// style: TextStyle(
// color: Colors.white,
// fontSize: 20.0,
// fontWeight: FontWeight.bold,
// ),
// ),
),
),
],
)),
),
))
.toList();
final CarouselController _controller = CarouselController();
@override
void initState() {
initState();
}
class VerticalSlider extends StatelessWidget {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Stack(
children: [
Container(
width: screenSize.width*0.8,
child: CarouselSlider(
carouselController: _controller,
options: CarouselOptions(
aspectRatio: 2.0,
enlargeCenterPage: true,
scrollDirection: Axis.horizontal,
autoPlay: true,
),
items: imageSliders,
),
),
Center(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Flexible(
child: ElevatedButton(
onPressed: () => _controller.previousPage(),
child: Icon(Icons.arrow_back_ios_new_outlined),
style: ElevatedButton.styleFrom(primary: Colors.grey),
),
),
Flexible(
child: ElevatedButton(
onPressed: () => _controller.nextPage(),
child: Icon(Icons.arrow_forward_ios_outlined),
style: ElevatedButton.styleFrom(primary: Colors.grey),
),
),
],
),
)
],
);
}
}
......@@ -15,6 +15,20 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
carousel_indicator:
dependency: "direct main"
description:
name: carousel_indicator
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.6"
carousel_slider:
dependency: "direct main"
description:
name: carousel_slider
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.1"
characters:
dependency: transitive
description:
......@@ -261,6 +275,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.4"
scaled_list:
dependency: "direct main"
description:
name: scaled_list
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
show_up_animation:
dependency: "direct main"
description:
......
......@@ -46,6 +46,9 @@ dependencies:
show_up_animation: ^2.0.0
http: ^0.13.4
spring: ^2.0.2
carousel_slider: ^4.1.1
carousel_indicator: ^1.0.6
scaled_list: ^2.0.0
dev_dependencies:
flutter_test:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment