Commit 50052a1f authored by Arham Aulia Nugraha's avatar Arham Aulia Nugraha
parents 594b4a2a caa14fd5
......@@ -3,7 +3,7 @@ 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 {
Future savecontact(nama, email, nohp, message) async {
final response = await http.post(
Uri.parse('http://10.107.121.210:8081/medapp/v1/api/contact/save'),
body: jsonEncode({
......@@ -14,11 +14,11 @@ Future<bool> savecontact(nama, email, nohp, message) async {
headers: {
'Content-type': 'application/json; charset=UTF-8',
});
if (response.statusCode == 200) {
return true;
} else {
return false;
}
// if (response.statusCode == 200) {
// return true;
// } else {
// return false;
// }
}
Future<List<contact>> showcontact() async {
......
import 'package:flutter/material.dart';
import 'package:easy_sidemenu/easy_sidemenu.dart';
class DashboardAdmin extends StatefulWidget {
const DashboardAdmin({Key? key}) : super(key: key);
@override
State<DashboardAdmin> createState() => _DashboardAdminState();
}
class _DashboardAdminState extends State<DashboardAdmin> {
PageController page = PageController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
toolbarHeight: 60,
backgroundColor: Colors.white,
leadingWidth: 230,
leading: Padding(
padding: const EdgeInsets.symmetric(vertical: 8,horizontal: 30),
child: Container(
width: 200,
decoration: const BoxDecoration(image: DecorationImage(image: AssetImage('assets/logo/medapp-logo.png'),fit: BoxFit.fill)),
),
),
actions: [
TextButton.icon(
onPressed: () {
Navigator.pushNamed(context, '/');
},
icon: const Icon(
Icons.remove_red_eye,
),
label: const Text(
'Site Online',
),
),
TextButton.icon(
onPressed: () {
Navigator.pushNamed(context, '/');
},
icon: const Icon(
Icons.output,
),
label: const Text(
'Logout',
style: TextStyle(),
),
),
],
),
body: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
SideMenu(
showToggle: true,
controller: page,
// onDisplayModeChanged: (mode) {
// print(mode);
// },
style: SideMenuStyle(
openSideMenuWidth: 220,
displayMode: SideMenuDisplayMode.auto,
hoverColor: Colors.blue[50],
selectedColor: Colors.blue[100],
selectedTitleTextStyle: const TextStyle(color: Colors.black),
selectedIconColor: Colors.black,
unselectedIconColor: Colors.black87,
unselectedTitleTextStyle: const TextStyle(color: Colors.black87),
// decoration: BoxDecoration(
// borderRadius: BorderRadius.all(Radius.circular(10)),
// ),
backgroundColor: Colors.blueAccent[200],
),
title: Column(
children: [
// ConstrainedBox(
// constraints: const BoxConstraints(
// maxHeight: 150,
// maxWidth: 150,
// ),
// child: Image.asset(
// 'assets/logo/medapp-logo.png',
// ),
// ),
// const Divider(
// indent: 8.0,
// endIndent: 8.0,
// ),
Container(height: 20,)
],
),
footer: const Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'Medapp By Eksad',
style: TextStyle(fontSize: 15),
),
),
items: [
SideMenuItem(
priority: 0,
title: 'Dashboard',
onTap: () {
page.jumpToPage(0);
},
icon: const Icon(Icons.home),
// badgeContent: const Text(
// '3',
// style: TextStyle(color: Colors.white),
// ),
),
SideMenuItem(
priority: 2,
title: 'Files',
onTap: () {
page.jumpToPage(2);
},
icon: const Icon(Icons.file_copy_rounded),
),
SideMenuItem(
priority: 3,
title: 'WhatsApp Number',
onTap: () {
page.jumpToPage(3);
},
icon: const Icon(Icons.whatsapp),
),
SideMenuItem(
priority: 4,
title: 'Settings',
onTap: () {
page.jumpToPage(4);
},
icon: const Icon(Icons.settings),
),
],
),
Expanded(
child: PageView(
controller: page,
children: [
Container(
color: Colors.white,
child: const Center(
child: Text(
'Dashboard',
style: TextStyle(fontSize: 35),
),
),
),
Container(
color: Colors.white,
child: const Center(
child: Text(
'Users',
style: TextStyle(fontSize: 35),
),
),
),
Container(
color: Colors.white,
child: const Center(
child: Text(
'Files',
style: TextStyle(fontSize: 35),
),
),
),
Container(
color: Colors.white,
child: const Center(
child: Text(
'Download',
style: TextStyle(fontSize: 35),
),
),
),
Container(
color: Colors.white,
child: const Center(
child: Text(
'Settings',
style: TextStyle(fontSize: 35),
),
),
),
],
),
),
],
),
);
}
}
......@@ -35,7 +35,7 @@ class _HomePageState extends State<HomePage> {
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
setPageTitle('MeddApp by Eksad', context);
setPageTitle('MedApp by Eksad', context);
var screenSize = MediaQuery.of(context).size;
return Scaffold(
key: _scaffoldKey,
......@@ -44,7 +44,7 @@ class _HomePageState extends State<HomePage> {
? AppBarKecil()
: AppbarHomeLarge(screenSize, context, Colors.blue, Colors.blue,
Colors.black, Colors.black, Colors.black),
drawer: const DrawerMeddApp(),
drawer: const DrawerMedApp(),
body: ResponsiveWidget.isSmallScreen(context)
? ListView(
children: const [
......
......@@ -21,8 +21,8 @@ class _loginState extends State<login> {
final formKey = GlobalKey<FormState>();
String _usmail = '';
String _uspswd = '';
TextEditingController _editingController = TextEditingController();
TextEditingController _editingController2 = TextEditingController();
final TextEditingController _editingController = TextEditingController();
final TextEditingController _editingController2 = TextEditingController();
@override
Widget build(BuildContext context) {
......
import 'package:flutter/material.dart';
import 'package:medapp_eksad/dashboard/admin/main_dashboard_admin.dart';
import 'package:medapp_eksad/homepage.dart';
import 'package:medapp_eksad/login.dart';
import 'package:medapp_eksad/register.dart';
......@@ -25,6 +26,7 @@ class MyApp extends StatelessWidget {
'/contact': (context) => const ContactUs(),
'/login': (context) => const login(),
'/register': (context) => const Register(),
'/dashboard': (context) => const DashboardAdmin()
},
);
}
......
......@@ -37,13 +37,13 @@ class _ContactUsState extends State<ContactUs> {
? AppBarKecil()
: AppbarHomeLarge(screenSize, context, Colors.black, Colors.black,
Colors.black, Colors.black, Colors.blue),
drawer: DrawerMeddApp(),
drawer: const DrawerMedApp(),
body: ResponsiveWidget.isSmallScreen(context)
? ListView(
children: [
const ContactUs1_small(),
children: const [
ContactUs1_small(),
ContactUs2_small(),
const FooterSmall(),
FooterSmall(),
],
)
: ListView(
......
......@@ -4,6 +4,7 @@ import 'package:google_fonts/google_fonts.dart';
// import 'package:mcs_flutter/const/conts.dart';
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:medapp_eksad/api/contact_api.dart';
import 'package:medapp_eksad/widget/button_color.dart';
class ContactUs2 extends StatelessWidget {
......@@ -54,7 +55,7 @@ class ContactUs2 extends StatelessWidget {
'\n'
'an outsourcing partner '
'you can trust and thrive with',
textAlign: TextAlign.justify,
textAlign: TextAlign.left,
style: GoogleFonts.poppins(
color: Colors.white,
fontSize: 30,
......@@ -251,10 +252,10 @@ class ContactUs2 extends StatelessWidget {
style: Btn_Submit(),
onPressed: () async {
if (_formKey.currentState!.validate()) {
final response = await SendEmail(
final response = await savecontact(
nameController.value.text,
phoneController.value.text,
emailController.value.text,
phoneController.value.text,
messageController.value.text);
ScaffoldMessenger.of(context).showSnackBar(
response == 200
......@@ -289,28 +290,4 @@ class ContactUs2 extends StatelessWidget {
),
);
}
Future SendEmail(
String name, String phone, String email, String message) async {
final url = Uri.parse('https://api.emailjs.com/api/v1.0/email/send');
const serviceId = 'service_wava70j';
const templateId = 'template_koc73cj';
const userId = 'h4BmDnyWlm3OziBDx';
final response = await http.post(url,
headers: {
'Content-Type': 'application/json'
}, //This line makes sure it works for all platforms.
body: json.encode({
'service_id': serviceId,
'template_id': templateId,
'user_id': userId,
'template_params': {
'from_name': name,
'from_phone': phone,
'to_email': email,
'message': message
}
}));
return response.statusCode;
}
}
......@@ -165,16 +165,16 @@ class Footer extends StatelessWidget {
Container(
height: screenSize.height * 0.04,
child: const itemBawah(
item: 'Service',
routeName: '/service',
item: 'Solutions',
routeName: '/solutions',
),
),
const Spacer(),
Container(
height: screenSize.height * 0.04,
child: const itemBawah(
item: 'Career',
routeName: '/career',
item: 'Contact Us',
routeName: '/contact',
),
),
],
......@@ -204,7 +204,7 @@ class Footer extends StatelessWidget {
height: screenSize.height * 0.04,
child: const itemBawah(
item: 'Retained Search',
routeName: '/service',
routeName: '/solutions',
),
),
const Spacer(),
......@@ -212,7 +212,7 @@ class Footer extends StatelessWidget {
height: screenSize.height * 0.04,
child: const itemBawah(
item: 'Dedicated Services',
routeName: '/service',
routeName: '/solutions',
),
),
const Spacer(),
......@@ -220,7 +220,7 @@ class Footer extends StatelessWidget {
height: screenSize.height * 0.04,
child: const itemBawah(
item: 'Contract Services',
routeName: '/service',
routeName: '/solutions',
),
),
const Spacer(),
......@@ -228,7 +228,7 @@ class Footer extends StatelessWidget {
height: screenSize.height * 0.04,
child: const itemBawah(
item: 'Recruitment',
routeName: '/service',
routeName: '/solutions',
),
),
],
......@@ -287,7 +287,7 @@ class Footer extends StatelessWidget {
title: TextButton(
onPressed: () {
launch(
'mailto:Hello@eksad.com?subject=Hello saya ingin bertanya tentang protalent');
'mailto:Hello@eksad.com?subject=Hello saya ingin bertanya tentang Medapp');
},
child: Container(
height: screenSize.height * 0.04,
......
......@@ -11,7 +11,7 @@ class Home2 extends StatelessWidget {
return Container(
width: screenSize.width * 0.5,
color: const Color.fromARGB(255, 227, 235, 253),
height: screenSize.height*1.1,
height: screenSize.height * 0.9,
padding: EdgeInsets.only(
left: screenSize.width * 0.10,
right: screenSize.width * 0.10,
......@@ -20,19 +20,17 @@ class Home2 extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Spacer(
flex: 3,
flex: 2,
),
Container(
width: screenSize.width,
child: Text('How do we help ?',
style: GoogleFonts.poppins(
fontSize: 30,
fontSize: 35,
color: const Color.fromARGB(255, 12, 66, 101),
fontWeight: FontWeight.bold)),
),
Spacer(
flex: 3,
),
SizedBox(height: 10),
Container(
width: screenSize.width,
height: 100,
......@@ -46,36 +44,37 @@ class Home2 extends StatelessWidget {
height: 1.6,
fontWeight: FontWeight.w500)),
),
Spacer(
flex: 2,
),
Column(
// mainAxisAlignment: MainAxisAlignment.start,
children: [
list_help(
SizedBox(height: 10),
Container(
// padding: const EdgeInsets.only(left: 1),
// width: screenSize.width * 0.3,
// height: screenSize.height * 0.35,
child: Column(
// mainAxisAlignment: MainAxisAlignment.start,
children: [
list_help(
screenSize: screenSize,
titel: 'Costs are getting more expensive'),
list_help(
screenSize: screenSize,
titel: 'Costs are getting more expensive'),
list_help(
screenSize: screenSize,
titel: "Demographic Change",
),
list_help(
screenSize: screenSize,
titel: "Rare talents",
),
list_help(
screenSize: screenSize,
titel: "Rapid technological change",
),
list_help(
screenSize: screenSize,
titel: "Changes in consumer behavior",
),
],
),
Spacer(
flex: 2,
titel: "Demographic Change",
),
list_help(
screenSize: screenSize,
titel: "Rare talents",
),
list_help(
screenSize: screenSize,
titel: "Rapid technological change",
),
list_help(
screenSize: screenSize,
titel: "Changes in consumer behavior",
),
],
),
),
SizedBox(height: 30),
Container(
width: screenSize.width,
height: 100,
......@@ -91,16 +90,14 @@ class Home2 extends StatelessWidget {
height: 1.6,
fontWeight: FontWeight.w500)),
),
Spacer(
flex:1,
),
SizedBox(height: 10),
Container(
width: screenSize.width,
height: 100,
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.',
' Benefit from server-free* infrastructure, automatic upgrades and simple licensing.',
textAlign: TextAlign.justify,
style: GoogleFonts.poppins(
fontSize: 16,
......@@ -108,9 +105,6 @@ class Home2 extends StatelessWidget {
height: 1.6,
fontWeight: FontWeight.w500)),
),
Spacer(
flex: 2,
),
],
),
);
......@@ -127,6 +121,7 @@ class list_help extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListTile(
visualDensity: VisualDensity(vertical: -4),
leading: const Icon(
Icons.circle_rounded,
size: 12,
......@@ -134,7 +129,7 @@ class list_help extends StatelessWidget {
),
title: Container(
// padding: const EdgeInsets.only(left: 10),
// width: screenSize.width * 0.35,
width: screenSize.width * 2,
// height: screenSize.height * 0.1,
child: Text(
titel,
......
import 'package:flutter/material.dart';
import 'package:medapp_eksad/appbar/appbar_home.dart';
import 'package:medapp_eksad/screen/contact_us/contact_us2.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/screen/solution/home3.dart';
import 'package:medapp_eksad/screen/solution/our_solution3.dart';
import 'package:medapp_eksad/screen_small/small_footer.dart';
import 'package:medapp_eksad/screen_small/small_solution/small_solution1.dart';
import 'package:medapp_eksad/screen_small/small_solution/small_solution2.dart';
import 'package:medapp_eksad/widget/drawer.dart';
import 'package:medapp_eksad/widget/responsive.dart';
import 'package:flutter/services.dart';
......@@ -23,6 +28,16 @@ class Solutions extends StatefulWidget {
class _SolutionsState extends State<Solutions> {
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
ScrollController controller2 = ScrollController();
void _scrollToIndex(double index) {
controller2.animateTo(index,
duration: const Duration(seconds: 1),
curve: Curves.fastLinearToSlowEaseIn);
}
@override
Widget build(BuildContext context) {
setPageTitle('MeddApp Solutions', context);
......@@ -33,17 +48,57 @@ class _SolutionsState extends State<Solutions> {
? AppBarKecil()
: AppbarHomeLarge(screenSize, context, Colors.black, Colors.black,
Colors.blue, Colors.black, Colors.black),
body: ListView(
children: const [
OurSolution(),
OurSolution2(),
Home3(),
Footer(),
],
),
drawer: const DrawerMedApp(),
body: ResponsiveWidget.isSmallScreen(context)
? ListView(
children: const [
SmallOurSolution(),
SmallOurSolution2(),
FooterSmall(),
],
)
: ListView(
controller: controller2,
children: [
OurSolution(button: ButtonSolution(context),),
OurSolution2(),
OurSolution3(),
ContactUs2(),
Footer(),
],
),
);
}
ElevatedButton ButtonSolution(BuildContext context) {
return ElevatedButton(
onPressed: () {
_scrollToIndex(1500);
},
style: ElevatedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
primary: Color.fromARGB(255, 48, 104, 170),
// shape: MaterialStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0))),
),
child: const Text(
'FREE DEMO',
style: TextStyle(
fontSize: 19,
fontWeight: FontWeight.w500,
letterSpacing: 1.1,
color: Colors.white),
),
);
}
AppBar AppBarKecil() {
return AppBar(
leading: IconButton(
......
import 'package:flutter/material.dart';
import 'package:medapp_eksad/animation/animasi_kiri_kanan.dart';
import 'package:medapp_eksad/animation/animasi_kanan_kiri.dart';
class Home3 extends StatefulWidget {
const Home3({Key? key}) : super(key: key);
@override
State<Home3> createState() => _Home3State();
}
class _Home3State extends State<Home3> {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
padding: const EdgeInsets.all(10),
width: screenSize.width,
height: screenSize.height * 0.75,
child: Column(
children: <Widget>[
const SizedBox(
height:40,
),
Text("MedApps Features",
style: TextStyle(
fontSize: 32,
fontWeight: FontWeight.bold,
color: Colors.blue[900]
),
),
const SizedBox(
height: 40,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution2.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"RETAINED SEARCH",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "We not only keep our eyes wide open for talented individuals, we make it an active endeavour. One that digs deeper to find you that star employee ahead of your competition.",
),
),
],
),
),
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution1.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"DEDICATED SERVICES",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "Our dedicated team of recruiters help fulfill your critical hiring needs in the mid-level and executive positions making the recruitment cycle short and efficient.",
),
),
],
),
),
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution3.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"CONTRACT SERVICES",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "Time sensitive projects are treated with urgency to provide skilled technical resources needed for quick and cost-effective turnaround.",
),
),
],
),
),
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution4.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"RECRUITMENT PROCESS OUTSOURCING",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "Hire the best without ever having to face the logistics. From the very beginning till actually getting your next \"rockstar\"employees to walk in and take their positions on your floors.",
),
),
],
),
),
],
)
],
),
);
}
}
......@@ -2,14 +2,12 @@ import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:show_up_animation/show_up_animation.dart';
class OurSolution extends StatefulWidget {
const OurSolution({Key? key}) : super(key: key);
@override
State<OurSolution> createState() => _OurSolutionState();
}
class OurSolution extends StatelessWidget {
const OurSolution({Key? key,required this.button}) : super(key: key);
final Widget button;
class _OurSolutionState extends State<OurSolution> {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
......@@ -47,6 +45,10 @@ class _OurSolutionState extends State<OurSolution> {
Container(
height: screenSize.height * 0.10,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.bounceIn,
direction: Direction.horizontal,
offset: -0.2,
child: Text(
'Find & Get the Best Talent',
style: GoogleFonts.poppins(
......@@ -63,9 +65,8 @@ class _OurSolutionState extends State<OurSolution> {
height: screenSize.height * 0.15,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.bounceIn,
curve: Curves.decelerate,
direction: Direction.horizontal,
offset: -0.2,
child: Text(
'Register for free now, find our Best Talent, and enjoy our unlimited hires at a low cost',
style: GoogleFonts.poppins(
......@@ -85,26 +86,7 @@ class _OurSolutionState extends State<OurSolution> {
curve: Curves.bounceIn,
direction: Direction.horizontal,
offset: -0.2,
child: ElevatedButton(
onPressed: () {
Navigator.pushNamed(context, '/register');
},
style: ElevatedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
primary: Color.fromARGB(255, 48, 104, 170),
// shape: MaterialStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0))),
),
child: const Text(
'FREE DEMO',
style: TextStyle(
fontSize: 19,
fontWeight: FontWeight.w500,
letterSpacing: 1.1,
color: Colors.white),
),
),
child: button,
),
),
const SizedBox(
......@@ -118,3 +100,126 @@ class _OurSolutionState extends State<OurSolution> {
);
}
}
// class OurSolution extends StatefulWidget {
// const OurSolution({Key? key,required this.button}) : super(key: key);
//
// final Widget button;
//
// @override
// State<OurSolution> createState() => _OurSolutionState();
// }
//
// class _OurSolutionState extends State<OurSolution> {
// @override
// Widget build(BuildContext context) {
// var screenSize = MediaQuery.of(context).size;
// return Stack(
// children: [
// Container(
// width: screenSize.width,
// height: screenSize.height * 0.8,
// decoration: const BoxDecoration(
// image: DecorationImage(
// image: AssetImage(
// "assets/images/solution.jpg",
// ),
// alignment: Alignment.topCenter,
// fit: BoxFit.cover),
// ),
// ),
// const SizedBox(
// height: 10,
// ),
// SizedBox(
// width: screenSize.width,
// height: screenSize.height * 0.5,
//
// // ),
// ),
// Container(
// padding: EdgeInsets.only(right: screenSize.width * 0.5),
// child: Center(
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.center,
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
// children: [
// const SizedBox(height: 70),
// Container(
// height: screenSize.height * 0.10,
// child: ShowUpAnimation(
// delayStart: const Duration(seconds: 1),
// curve: Curves.bounceIn,
// direction: Direction.horizontal,
// offset: -0.2,
// child: Text(
// 'Find & Get the Best Talent',
// style: GoogleFonts.poppins(
// fontSize: 34,
// fontWeight: FontWeight.bold,
// color: Colors.white),
// textAlign: TextAlign.center,
// ),
// ),
// ),
// const SizedBox(height: 10),
// Container(
// width: screenSize.width * 0.28,
// height: screenSize.height * 0.15,
// child: ShowUpAnimation(
// delayStart: const Duration(seconds: 1),
// curve: Curves.decelerate,
// direction: Direction.horizontal,
// child: Text(
// 'Register for free now, find our Best Talent, and enjoy our unlimited hires at a low cost',
// style: GoogleFonts.poppins(
// fontSize: 18,
// letterSpacing: 1.8,
// height: 1.4,
// fontWeight: FontWeight.bold,
// color: Colors.white),
// textAlign: TextAlign.center,
// ),
// ),
// ),
// Container(
// height: 50,
// child: ShowUpAnimation(
// delayStart: const Duration(seconds: 1),
// curve: Curves.bounceIn,
// direction: Direction.horizontal,
// offset: -0.2,
// child: ElevatedButton(
// onPressed: () {
// Navigator.pushNamed(context, '/register');
// },
// style: ElevatedButton.styleFrom(
// shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.circular(10),
// ),
// primary: Color.fromARGB(255, 48, 104, 170),
// // shape: MaterialStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0))),
// ),
// child: const Text(
// 'FREE DEMO',
// style: TextStyle(
// fontSize: 19,
// fontWeight: FontWeight.w500,
// letterSpacing: 1.1,
// color: Colors.white),
// ),
// ),
// ),
// ),
// const SizedBox(
// height: 10,
// )
// ],
// ),
// ),
// ),
// ],
// );
// }
// }
import 'package:flutter/material.dart';
import 'package:medapp_eksad/animation/animasi_kiri_kanan.dart';
import 'package:medapp_eksad/animation/animasi_kanan_kiri.dart';
class OurSolution3 extends StatefulWidget {
const OurSolution3({Key? key}) : super(key: key);
@override
State<OurSolution3> createState() => _OurSolution3State();
}
class _OurSolution3State extends State<OurSolution3> {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
padding: const EdgeInsets.all(10),
width: screenSize.width,
height: screenSize.height * 0.83,
child: Column(
children: <Widget>[
const SizedBox(
height:40,
),
Text("MedApps Features",
style: TextStyle(
fontSize: 32,
fontWeight: FontWeight.bold,
color: Colors.blue[900]
),
),
const SizedBox(
height: 40,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution2.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"RETAINED SEARCH",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "We not only keep our eyes wide open for talented individuals, we make it an active endeavour. One that digs deeper to find you that star employee ahead of your competition.",
),
),
],
),
),
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution1.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"DEDICATED SERVICES",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "Our dedicated team of recruiters help fulfill your critical hiring needs in the mid-level and executive positions making the recruitment cycle short and efficient.",
),
),
],
),
),
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution3.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"CONTRACT SERVICES",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "Time sensitive projects are treated with urgency to provide skilled technical resources needed for quick and cost-effective turnaround.",
),
),
],
),
),
SizedBox(
width: screenSize.width * 0.2,
child: Column(
children: [
Container(
padding: EdgeInsets.only(top: screenSize.height * 0.01),
width: screenSize.width * 0.5,
child: Animasi_Kiri_Kanan(
screenSize: screenSize,
widget: Image.asset(
'assets/icons/our_solution4.png',
height: 50,
width: 50,
),
),
),
const SizedBox(
height: 20,
),
Container(
padding: const EdgeInsets.only(top: 5),
width: 250,
height: 50,
child: Text(
"RECRUITMENT PROCESS OUTSOURCING",
style: TextStyle(
color: Colors.blue[800],
fontSize: 17,
letterSpacing: 1.1,
fontWeight: FontWeight.w600
),
textAlign: TextAlign.center,
)
),
const SizedBox(height: 10,),
SizedBox(
width: 220,
height: screenSize.height * 0.30,
child: const Animasi_Kanan_Kiri(
judul: "Hire the best without ever having to face the logistics. From the very beginning till actually getting your next \"rockstar\"employees to walk in and take their positions on your floors.",
),
),
],
),
),
],
)
],
),
);
}
}
......@@ -4,6 +4,7 @@ import 'package:google_fonts/google_fonts.dart';
// import 'package:mcs_flutter/const/conts.dart';
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:medapp_eksad/api/contact_api.dart';
import 'package:medapp_eksad/widget/button_color.dart';
......@@ -26,7 +27,7 @@ class _ContactUs2_smallState extends State<ContactUs2_small> {
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
height: screenSize.height * 1.75,
height: screenSize.height * 1.8,
width: screenSize.width,
padding: EdgeInsets.symmetric(horizontal: 15),
// color: Colors.blue,
......@@ -75,6 +76,7 @@ class _ContactUs2_smallState extends State<ContactUs2_small> {
style: GoogleFonts.poppins(
color: Colors.white, fontSize: 18, letterSpacing: 1.2)),
),
SizedBox(height: 5,),
Center(
child: Form(
key: _formKey,
......@@ -232,10 +234,10 @@ class _ContactUs2_smallState extends State<ContactUs2_small> {
style: Btn_Submit(),
onPressed: () async {
if (_formKey.currentState!.validate()) {
final response = await SendEmail(
final response = await savecontact(
nameController.value.text,
phoneController.value.text,
emailController.value.text,
phoneController.value.text,
messageController.value.text);
ScaffoldMessenger.of(context).showSnackBar(
response == 200
......@@ -267,30 +269,6 @@ class _ContactUs2_smallState extends State<ContactUs2_small> {
),
);
}
Future SendEmail(
String name, String phone, String email, String message) async {
final url = Uri.parse('https://api.emailjs.com/api/v1.0/email/send');
const serviceId = 'service_wava70j';
const templateId = 'template_koc73cj';
const userId = 'h4BmDnyWlm3OziBDx';
final response = await http.post(url,
headers: {
'Content-Type': 'application/json'
}, //This line makes sure it works for all platforms.
body: json.encode({
'service_id': serviceId,
'template_id': templateId,
'user_id': userId,
'template_params': {
'from_name': name,
'from_phone': phone,
'to_email': email,
'message': message
}
}));
return response.statusCode;
}
}
import 'package:flutter/material.dart';
import 'package:medapp_eksad/widget/button_color.dart';
class SmallHome4 extends StatelessWidget {
const SmallHome4({Key? key}) : super(key: key);
......@@ -8,21 +7,28 @@ class SmallHome4 extends StatelessWidget {
Widget build(BuildContext context) {
var ScreenSize = MediaQuery.of(context).size;
return Container(
padding: EdgeInsets.symmetric(horizontal: 15),
padding: EdgeInsets.symmetric(horizontal: 10, vertical: 20),
width: ScreenSize.width,
height: ScreenSize.height * 1.5,
height: ScreenSize.height * 1.2,
color: Colors.white,
child: Container(
width: ScreenSize.width * 0.20,
height: ScreenSize.height * 0.75,
height: ScreenSize.height * 1,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
//color: Color.fromARGB(200, 9, 47, 171),
color: Colors.blue[900],
color: Color.fromARGB(200, 9, 47, 171),
gradient: LinearGradient(
colors: <Color>[
Color(0xff137fc2),
Color(0xff3958d5),
Color(0xff184b80),
],
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
),
boxShadow: [
BoxShadow(
color:
const Color.fromARGB(255, 10, 116, 255).withAlpha(60),
color: const Color.fromARGB(255, 10, 116, 255).withAlpha(60),
blurRadius: 15.0,
spreadRadius: 10.0,
offset: const Offset(
......@@ -32,119 +38,65 @@ class SmallHome4 extends StatelessWidget {
),
],
),
child: Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 15),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: ScreenSize.width * 0.36,
height: ScreenSize.height * 0.69,
color: Colors.blue[900],
child: Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.all(30),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
SizedBox(height: 40,),
Row(
children: [
Text("Mobile & Web Apps",
style: TextStyle(
color: Colors.white,
fontSize: 34
),
textAlign: TextAlign.left,
),
],
),
SizedBox(height: 30,),
Row(
children: [
Container(
height: 100,
width: ScreenSize.width *0.30,
child: Text(
"MedApps menyediakan Aplikasi Mobile dan juga website yang bisa anda kunjungi",
style: TextStyle(
fontSize: 18,
color: Colors.white
),
)
),
],
),
// SizedBox(height: 10,),
Row(
children: [
Container(
height : 50,
width : 200,
child: ElevatedButton(
onPressed: (){},
style: ElevatedButton.styleFrom(
primary: Colors.blue[900],
onSurface: Colors.white,
side: BorderSide(
color: Colors.white
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(30)
),
),
),
child: Text(
"LEARN MORE",
style: TextStyle(
fontSize: 18,
letterSpacing: 2
),
),
),
// child: ElevatedButton(
// onPressed: (){},
// style: DefaultColors(),
// // ElevatedButton.styleFrom(
// // primary: Colors.blue,
// // fixedSize: Size(170, 85),
// // onPrimary: Colors.white,
// // shape: RoundedRectangleBorder(
// // borderRadius: BorderRadius.all(Radius.circular(30),
// // )
// // )
// // ),
// child: Text("LEARN MORE",
// style: TextStyle(
// fontSize: 18,
// letterSpacing: 2
// ),
// ),
// ),
),
],
),
],
),
height: ScreenSize.height * 0.1,
width: ScreenSize.width,
child: Text(
"Mobile & Web Apps",
style: TextStyle(color: Colors.white, fontSize: 36),
textAlign: TextAlign.center,
),
),
SizedBox(width: 40,),
Container(
width: ScreenSize.width * 0.3,
height: ScreenSize.height * 0.69,
width: ScreenSize.width * 0.85,
height: ScreenSize.height * 0.6,
// color: Colors.white,
decoration: BoxDecoration(
color: Colors.white,
image: DecorationImage(
image: AssetImage('assets/images/medaps3.png')
image: AssetImage('assets/images/medaps3.png'),
fit: BoxFit.fill),
borderRadius: BorderRadius.circular(20)),
),
Container(
height: ScreenSize.height * 0.13,
width: ScreenSize.width,
child: Text(
"MedApps menyediakan Aplikasi Mobile dan juga website yang bisa anda kunjungi",
style: TextStyle(fontSize: 20, color: Colors.white),
textAlign: TextAlign.justify,
)),
Center(
child: Container(
height: 50,
width: 200,
child: ElevatedButton(
onPressed: () {},
style: ElevatedButton.styleFrom(
primary: Colors.blue[900],
onSurface: Colors.white,
side: BorderSide(color: Colors.white),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(30)),
),
),
borderRadius: BorderRadius.circular(20)
child: Text(
"LEARN MORE",
style: TextStyle(fontSize: 18, letterSpacing: 2),
),
),
),
),
],
),
),
),
);
}
}
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:show_up_animation/show_up_animation.dart';
class SmallOurSolution extends StatefulWidget {
const SmallOurSolution({Key? key}) : super(key: key);
@override
State<SmallOurSolution> createState() => _SmallOurSolutionState();
}
class _SmallOurSolutionState extends State<SmallOurSolution> {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Stack(
children: [
Container(
width: screenSize.width,
height: screenSize.height * 0.8,
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
"assets/images/solution.jpg",
),
alignment: Alignment.topCenter,
fit: BoxFit.cover),
),
),
const SizedBox(
height: 10,
),
SizedBox(
width: screenSize.width,
height: screenSize.height * 0.5,
// ),
),
Container(
padding: EdgeInsets.symmetric(horizontal: screenSize.height*0.1),
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
const SizedBox(height: 70),
Container(
height: screenSize.height * 0.2,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.bounceIn,
direction: Direction.horizontal,
offset: -0.2,
child: Text(
'Find & Get the Best Talent',
style: GoogleFonts.poppins(
fontSize: 34,
fontWeight: FontWeight.bold,
color: Colors.black87),
textAlign: TextAlign.center,
),
),
),
const SizedBox(height: 5),
Container(
width: screenSize.width * 0.5,
height: screenSize.height * 0.30,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.decelerate,
direction: Direction.horizontal,
child: Text(
'Register for free now, find our Best Talent, and enjoy our unlimited hires at a low cost',
style: GoogleFonts.poppins(
fontSize: 18,
letterSpacing: 1.8,
height: 1.4,
fontWeight: FontWeight.bold,
color: Colors.black87),
textAlign: TextAlign.center,
),
),
),
const SizedBox(height: 5),
Container(
height: 50,
child: ShowUpAnimation(
delayStart: const Duration(seconds: 1),
curve: Curves.bounceIn,
direction: Direction.horizontal,
offset: -0.2,
child: ElevatedButton(
onPressed: () {
Navigator.pushNamed(context, '/register');
},
style: ElevatedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
primary: const Color.fromARGB(255, 48, 104, 170),
// shape: MaterialStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0))),
),
child: const Text(
'FREE DEMO',
style: TextStyle(
fontSize: 19,
fontWeight: FontWeight.w500,
letterSpacing: 1.1,
color: Colors.white),
),
),
),
),
const SizedBox(
height: 10,
)
],
),
),
),
],
);
}
}
import 'package:flutter/material.dart';
import 'package:medapp_eksad/widget/small_image_slide.dart';
class SmallOurSolution2 extends StatefulWidget {
const SmallOurSolution2({Key? key}) : super(key: key);
@override
State<SmallOurSolution2> createState() => _SmallOurSolution2State();
}
class _SmallOurSolution2State extends State<SmallOurSolution2> {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Container(
width: screenSize.width,
height: screenSize.height*0.55,
padding: EdgeInsets.symmetric( vertical: screenSize.height*0.05),
child: SizedBox(
width: screenSize.width,
height: screenSize.height*0.5,
child: SmallVerticalSlider()
),
);
}
}
import 'package:flutter/material.dart';
class DrawerMeddApp extends StatelessWidget {
const DrawerMeddApp({Key? key}) : super(key: key);
class DrawerMedApp extends StatelessWidget {
const DrawerMedApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
......@@ -23,21 +23,21 @@ class DrawerMeddApp extends StatelessWidget {
),
child: Column(
children: [
SizedBox(height: 50,),
const SizedBox(height: 50,),
ListTile(
leading: Icon(Icons.home),
title: Text('Home',style: TextStyle(fontWeight: FontWeight.w500),),
leading: const Icon(Icons.home),
title: const Text('Home',style: TextStyle(fontWeight: FontWeight.w500),),
onTap: () => Navigator.pushNamed(context, '/') ,
),
ListTile(
leading: Icon(Icons.people),
title: Text('About Us',style: TextStyle(fontWeight: FontWeight.w500),),
leading: const Icon(Icons.people),
title: const Text('About Us',style: TextStyle(fontWeight: FontWeight.w500),),
onTap: () =>Navigator.pushNamed(context, '/about') ,
),
ListTile(
leading: Icon(Icons.settings_applications),
title: Text('Our Solution',style: TextStyle(fontWeight: FontWeight.w500),),
leading: const Icon(Icons.settings_applications),
title: const Text('Our Solution',style: TextStyle(fontWeight: FontWeight.w500),),
onTap: () =>Navigator.pushNamed(context, '/solutions') ,
),
// ListTile(
......@@ -46,10 +46,19 @@ class DrawerMeddApp extends StatelessWidget {
// onTap: () => Navigator.pushNamed(context, '/career') ,
// ),
ListTile(
leading: Icon(Icons.contact_phone),
title: Text('Contact Us',style: TextStyle(fontWeight: FontWeight.w500),),
leading: const Icon(Icons.contact_phone),
title: const Text('Contact Us',style: TextStyle(fontWeight: FontWeight.w500),),
onTap: () => Navigator.pushNamed(context, '/contact') ,
),
const SizedBox(height: 60,),
ListTile(
title: const Text('Login',style: TextStyle(fontWeight: FontWeight.w500),),
onTap: () => Navigator.pushNamed(context, '/login') ,
),
ListTile(
title: const Text('Register',style: TextStyle(fontWeight: FontWeight.w500),),
onTap: () => Navigator.pushNamed(context, '/register') ,
),
],
),
),
......
import 'package:flutter/material.dart';
import 'package:carousel_slider/carousel_slider.dart';
final List<String> imgList = [
'assets/images/solution1.jpg',
'assets/images/solution2.jpg',
];
final List<Widget> imageSliders = imgList
.map((item) => Container(
child: Container(
margin: const EdgeInsets.all(2.0),
child: ClipRRect(
borderRadius: const BorderRadius.all(Radius.circular(1.0)),
child: Stack(
children: <Widget> [
Image.asset(
item,
fit: BoxFit.fill,
width: 720,
),
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 SmallVerticalSlider extends StatelessWidget {
@override
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
return Stack(
children: [
Center(
child: Container(
width: screenSize.width,
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: Container(
width: 45,
child: ElevatedButton(
onPressed: () => _controller.previousPage(),
style: ElevatedButton.styleFrom(primary: Colors.grey),
child: const Icon(Icons.arrow_back_ios_new_outlined),
),
),
),
Flexible(
child: Container(
width: 45,
child: ElevatedButton(
onPressed: () => _controller.nextPage(),
style: ElevatedButton.styleFrom(primary: Colors.grey),
child: const Icon(Icons.arrow_forward_ios_outlined),
),
),
),
],
),
)
],
);
}
}
......@@ -8,6 +8,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
badges:
dependency: transitive
description:
name: badges
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3"
boolean_selector:
dependency: transitive
description:
......@@ -78,6 +85,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.2"
easy_sidemenu:
dependency: "direct main"
description:
name: easy_sidemenu
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.1"
fake_async:
dependency: transitive
description:
......@@ -289,13 +303,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
sidebarx:
dependency: "direct main"
description:
name: sidebarx
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.0"
simple_animations:
dependency: transitive
description:
......
......@@ -35,7 +35,7 @@ dependencies:
font_awesome_flutter: ^10.1.0
intl: ^0.17.0
dropdown_search: ^5.0.2
sidebarx: ^0.7.0
easy_sidemenu: ^0.3.1
flutter_web_plugins:
sdk: flutter
......@@ -77,6 +77,7 @@ flutter:
- assets/logo/
- assets/images/
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
......
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