Commit da34e902 authored by r.manan@eksad.com's avatar r.manan@eksad.com
parents 730e1bcd 6cd061aa
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
......@@ -6,6 +6,7 @@ import 'package:medapp_eksad/screen/footer.dart';
import 'package:medapp_eksad/screen/home/home1.dart';
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';
......@@ -58,6 +59,7 @@ class _HomePageState extends State<HomePage> {
const Home1(),
const Home2(),
const Home3(),
const Home4(),
ContactUs2(),
const Footer(),
],
......
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
......@@ -48,7 +48,9 @@ class _Home3State extends State<Home3> {
'assets/icons/why1.png',
height: 60,
width: 60,
))),
)
)
),
const SizedBox(
height: 10,
),
......
import 'package:flutter/material.dart';
class Home4 extends StatelessWidget {
const Home4({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
var ScreenSize = MediaQuery.of(context).size;
return Container(
width: ScreenSize.width,
height: ScreenSize.height * 0.98,
color: Colors.white,
child: Container(
padding: EdgeInsets.all(20),
margin: EdgeInsets.fromLTRB(160, 90, 160, 90),
width: ScreenSize.width * 0.20,
height: ScreenSize.height * 0.90,
decoration: BoxDecoration(
color: Colors.blue[900],
borderRadius: BorderRadius.circular(20),
),
child: Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
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],
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
),
),
),
),
],
),
],
),
),
),
SizedBox(width: 40,),
Container(
width: ScreenSize.width * 0.33,
height: ScreenSize.height * 0.69,
// color: Colors.white,
decoration: BoxDecoration(
color: Colors.white,
image: DecorationImage(
image: AssetImage('assets/images/medaps3.png')
),
borderRadius: BorderRadius.circular(20)
),
)
],
),
),
),
);
}
}
......@@ -3,6 +3,7 @@ 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/screen/solution/home3.dart';
import 'package:medapp_eksad/widget/responsive.dart';
import 'package:flutter/services.dart';
......@@ -36,6 +37,7 @@ class _SolutionsState extends State<Solutions> {
children: const [
OurSolution(),
OurSolution2(),
Home3(),
Footer(),
],
),
......
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.70,
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.",
),
),
],
),
),
],
)
],
),
);
}
}
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