diff --git a/assets/employer-1.png b/assets/employer-1.png
deleted file mode 100644
index cbe028c..0000000
Binary files a/assets/employer-1.png and /dev/null differ
diff --git a/assets/employer-1.svg b/assets/employer-1.svg
new file mode 100644
index 0000000..688d0df
--- /dev/null
+++ b/assets/employer-1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/employer-2.png b/assets/employer-2.png
deleted file mode 100644
index 2e3e9f9..0000000
Binary files a/assets/employer-2.png and /dev/null differ
diff --git a/assets/employer-2.svg b/assets/employer-2.svg
new file mode 100644
index 0000000..ff07acf
--- /dev/null
+++ b/assets/employer-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/employer-3.png b/assets/employer-3.png
deleted file mode 100644
index b245bb5..0000000
Binary files a/assets/employer-3.png and /dev/null differ
diff --git a/assets/employer-3.svg b/assets/employer-3.svg
new file mode 100644
index 0000000..8c03499
--- /dev/null
+++ b/assets/employer-3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/grunge.png b/assets/grunge.png
index b86676b..96cfaf7 100644
Binary files a/assets/grunge.png and b/assets/grunge.png differ
diff --git a/assets/grunge.svg b/assets/grunge.svg
new file mode 100644
index 0000000..1c32408
--- /dev/null
+++ b/assets/grunge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/icon17.png b/assets/icon17.png
new file mode 100644
index 0000000..9aedb87
Binary files /dev/null and b/assets/icon17.png differ
diff --git a/assets/icon18.png b/assets/icon18.png
new file mode 100644
index 0000000..15e46e9
Binary files /dev/null and b/assets/icon18.png differ
diff --git a/assets/icon19.png b/assets/icon19.png
new file mode 100644
index 0000000..3bdb079
Binary files /dev/null and b/assets/icon19.png differ
diff --git a/assets/icon20.png b/assets/icon20.png
new file mode 100644
index 0000000..1462cd8
Binary files /dev/null and b/assets/icon20.png differ
diff --git a/assets/icon21.png b/assets/icon21.png
new file mode 100644
index 0000000..f2d3040
Binary files /dev/null and b/assets/icon21.png differ
diff --git a/assets/ketapang.png b/assets/ketapang.png
index 5106778..94df377 100644
Binary files a/assets/ketapang.png and b/assets/ketapang.png differ
diff --git a/assets/ketapang.svg b/assets/ketapang.svg
deleted file mode 100644
index 4b225ec..0000000
--- a/assets/ketapang.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/ktp.jpg b/assets/ktp.jpg
new file mode 100644
index 0000000..485ae71
Binary files /dev/null and b/assets/ktp.jpg differ
diff --git a/assets/logo-hitam.png b/assets/logo-hitam.png
deleted file mode 100644
index b3b41c0..0000000
Binary files a/assets/logo-hitam.png and /dev/null differ
diff --git a/assets/seeker-1.png b/assets/seeker-1.png
deleted file mode 100644
index 3d6442d..0000000
Binary files a/assets/seeker-1.png and /dev/null differ
diff --git a/assets/seeker-1.svg b/assets/seeker-1.svg
new file mode 100644
index 0000000..432a7d4
--- /dev/null
+++ b/assets/seeker-1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/seeker-2.png b/assets/seeker-2.png
deleted file mode 100644
index 9fa4bc3..0000000
Binary files a/assets/seeker-2.png and /dev/null differ
diff --git a/assets/seeker-2.svg b/assets/seeker-2.svg
new file mode 100644
index 0000000..ff9f39d
--- /dev/null
+++ b/assets/seeker-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/seeker-3.png b/assets/seeker-3.png
deleted file mode 100644
index 55d73c5..0000000
Binary files a/assets/seeker-3.png and /dev/null differ
diff --git a/assets/seeker-3.svg b/assets/seeker-3.svg
new file mode 100644
index 0000000..4b7e3a6
--- /dev/null
+++ b/assets/seeker-3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/vector-3.png b/assets/vector-3.png
index d00c740..caf2a6b 100644
Binary files a/assets/vector-3.png and b/assets/vector-3.png differ
diff --git a/assets/vector-5.png b/assets/vector-5.png
index 1bb3f1c..73a297d 100644
Binary files a/assets/vector-5.png and b/assets/vector-5.png differ
diff --git a/lib/main.dart b/lib/main.dart
index 84be004..1641a24 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -3,25 +3,18 @@ import 'package:provider/provider.dart';
import 'package:space/navigator_employer.dart';
import 'package:space/navigator_seeker.dart';
import 'package:space/src/app.dart';
-import 'package:space/src/core/models/apply.dart';
-import 'package:space/src/core/models/auth.dart';
-import 'package:space/src/core/models/cart.dart';
-import 'package:space/src/core/models/jobs.dart';
-import 'package:space/src/core/models/save.dart';
import 'package:space/src/ui/auth/employer/home_employer.dart';
-import 'package:space/src/ui/auth/employer/login_signup_employer.dart';
import 'package:space/src/ui/auth/employer/ui_get_started_employer.dart';
import 'package:space/src/ui/auth/seeker/home_seeker.dart';
import 'package:space/src/ui/auth/seeker/ui_get_started_seeker.dart';
import 'package:space/src/ui/employer/layout/employer_edit_post.dart';
import 'package:space/src/ui/employer/screens/employer_posted_screen.dart';
import 'package:space/src/ui/employer/screens/employer_tabs.dart';
+import 'package:space/src/ui/employer/widgets/flare_interview_employer.dart';
import 'package:space/src/ui/seeker/layout/job_details.dart';
-import 'package:space/src/ui/seeker/screens/applys_screen.dart';
-import 'package:space/src/ui/seeker/screens/cart_screen.dart';
import 'package:space/src/ui/seeker/screens/seeker_tabs.dart';
-import 'package:space/src/ui/components/splash_screen.dart';
+import 'package:space/src/ui/seeker/widgets/flare_interview_seeker.dart';
import 'package:space/src/ui/theme/theme.dart';
@@ -36,12 +29,12 @@ class DreamJobApp extends StatelessWidget {
// ChangeNotifierProvider.value(
// value: Auth(),
// ),
- ChangeNotifierProvider.value(
- value: Jobs(),
- ),
- ChangeNotifierProvider.value(
- value: Save(),
- ),
+ // ChangeNotifierProvider.value(
+ // value: Jobs(),
+ // ),
+ // ChangeNotifierProvider.value(
+ // value: Save(),
+ // ),
// ChangeNotifierProxyProvider(
// builder: (ctx, auth, previousApplys) => Applys(
// auth.token,
@@ -61,6 +54,7 @@ class DreamJobApp extends StatelessWidget {
EditPost.routeName: (ctx) => EditPost(),
EmployerNavigator.routeName: (ctx) => EmployerNavigator(),
UiGetStartedEmployer.routeName: (ctx) => UiGetStartedEmployer(),
+ InterviewEmployer.routeName: (ctx) => InterviewEmployer(),
HomePageSeeker.routeName: (ctx) => HomePageSeeker(),
JobDetails.routeName: (ctx) => JobDetails(),
@@ -69,6 +63,7 @@ class DreamJobApp extends StatelessWidget {
// // ApplysScreen.routeName: (ctx) => ApplysScreen(),
SeekerNavigator.routeName: (ctx) => SeekerNavigator(),
UiGetStartedSeeker.routeName: (ctx) => UiGetStartedSeeker(),
+ InterviewSeeker.routeName: (ctx) => InterviewSeeker(),
},
),
);
diff --git a/lib/main1.dart b/lib/main1.dart
deleted file mode 100644
index 3a6238c..0000000
--- a/lib/main1.dart
+++ /dev/null
@@ -1,22 +0,0 @@
-// import 'package:flutter/material.dart';
-// import 'package:provider/provider.dart';
-// import 'package:space/app.dart';
-// import 'package:space/navigator_employer.dart';
-// import 'package:space/navigator_seeker.dart';
-// import 'package:space/src/core/models/auth.dart';
-
-// import 'package:space/src/core/models/jobs.dart';
-// import 'package:space/src/core/models/save.dart';
-// import 'package:space/src/ui/auth/employer/home_employer.dart';
-// import 'package:space/src/ui/auth/seeker/home_seeker.dart';
-// import 'package:space/src/ui/employer/employer_edit_post.dart';
-// import 'package:space/src/ui/employer/employer_tabs.dart';
-// import 'package:space/src/ui/employer/employer_post_a_job.dart';
-// import 'package:space/src/ui/screens/job_details.dart';
-// import 'package:space/src/ui/screens/save_screen.dart';
-// import 'package:space/src/ui/screens/seeker_tabs.dart';
-// import 'package:space/src/ui/screens/splash_screen.dart';
-
-// import 'package:space/src/ui/theme/theme.dart';
-
-// void main() => runApp(DreamApp());
diff --git a/lib/navigator_employer.dart b/lib/navigator_employer.dart
index 1064f31..48f1acd 100644
--- a/lib/navigator_employer.dart
+++ b/lib/navigator_employer.dart
@@ -3,8 +3,7 @@ import 'package:feather_icons_flutter/feather_icons_flutter.dart';
import 'package:flutter/services.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:space/src/ui/auth/employer/home_employer.dart';
-import 'package:space/src/ui/chat/inbox_ui_list.dart';
-import 'package:space/src/ui/components/landing_404_page.dart';
+import 'package:space/src/ui/chat/chat_list_employer.dart';
import 'package:space/src/ui/components/notification.dart';
import 'package:space/src/ui/employer/layout/employer_edit_post.dart';
import 'package:space/src/ui/employer/screens/employer_tabs.dart';
@@ -28,7 +27,7 @@ class _EmployerNavigatorState extends State {
HomePageEmployer(),
EmployerTabs(),
EditPost(),
- InboxUiList(),
+ ChatListEmployer(),
NotificationUi(),
];
@override
diff --git a/lib/navigator_seeker.dart b/lib/navigator_seeker.dart
index 07bc592..6255d05 100644
--- a/lib/navigator_seeker.dart
+++ b/lib/navigator_seeker.dart
@@ -3,7 +3,7 @@ import 'package:feather_icons_flutter/feather_icons_flutter.dart';
import 'package:flutter/services.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:space/src/ui/auth/seeker/home_seeker.dart';
-import 'package:space/src/ui/chat/inbox_ui_list.dart';
+import 'package:space/src/ui/chat/chat_list_seeker.dart';
import 'package:space/src/ui/components/notification.dart';
import 'package:space/src/ui/seeker/layout/job_search.dart';
import 'package:space/src/ui/seeker/screens/seeker_tabs.dart';
@@ -28,7 +28,7 @@ class _SeekerNavigatorState extends State {
HomePageSeeker(),
SeekerTabs(),
JobSearch(),
- InboxUiList(),
+ ChatListSeeker(),
NotificationUi(),
];
@override
diff --git a/lib/root.dart b/lib/root.dart
deleted file mode 100644
index d965923..0000000
--- a/lib/root.dart
+++ /dev/null
@@ -1,19 +0,0 @@
-// import 'package:flutter/material.dart';
-
-// import 'package:space/src/ui/screens/job_details.dart';
-// import 'package:space/src/ui/screens/save_screen.dart';
-
-// class Root extends StatefulWidget {
-// Root({Key key}) : super(key: key);
-
-// _RootState createState() => _RootState();
-// }
-
-// class _RootState extends State {
-// @override
-// Widget build(BuildContext context) {
-// return
-// );
-// }
-// }
-
diff --git a/lib/routes.dart b/lib/routes.dart
deleted file mode 100644
index b506926..0000000
--- a/lib/routes.dart
+++ /dev/null
@@ -1,45 +0,0 @@
-// import 'package:flutter/material.dart';
-// import 'package:flutter/services.dart';
-// import 'package:provider/provider.dart';
-
-// import 'package:space/root.dart';
-// import 'package:space/src/core/models/jobs.dart';
-// import 'package:space/src/core/models/save.dart';
-// import 'package:space/src/ui/screens/job_details.dart';
-// import 'package:space/src/ui/screens/save_screen.dart';
-// import 'package:space/src/ui/screens/seeker_tabs.dart';
-// import 'package:space/src/ui/theme/theme.dart';
-
-// class Routes extends StatelessWidget {
-
-// @override
-// Widget build(BuildContext context) {
-// final theme = buildTheme();
-// SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
-// statusBarColor: Colors.black,
-// statusBarBrightness: Brightness.dark,
-// statusBarIconBrightness: Brightness.dark,
-// systemNavigationBarIconBrightness: Brightness.dark,
-// systemNavigationBarColor: Colors.transparent,
-// ));
-// return MultiProvider(
-// providers: [
-// ChangeNotifierProvider.value(
-// value: Jobs(),
-// ),
-// ChangeNotifierProvider.value(
-// value: Save(),
-// )
-// ],
-// child: MaterialApp(
-// debugShowCheckedModeBanner: false,
-// theme: theme,
-// home: SeekerTabs(),
-// routes: {
-// JobDetails.routeName: (ctx) => JobDetails(),
-// SaveScreen.routeName: (ctx) => SaveScreen(),
-// },
-// )
-// );
-// }
-// }
\ No newline at end of file
diff --git a/lib/seeker_app.dart b/lib/seeker_app.dart
deleted file mode 100644
index 0fbe129..0000000
--- a/lib/seeker_app.dart
+++ /dev/null
@@ -1,61 +0,0 @@
-// import 'package:flutter/material.dart';
-// import 'package:provider/provider.dart';
-// import 'package:space/main.dart';
-// import 'package:space/navigator_seeker.dart';
-// import 'package:space/src/core/models/auth.dart';
-
-// import 'package:space/src/core/models/jobs.dart';
-// import 'package:space/src/core/models/save.dart';
-// import 'package:space/src/ui/auth/seeker/home_seeker.dart';
-// import 'package:space/src/ui/screens/job_details.dart';
-// import 'package:space/src/ui/screens/save_screen.dart';
-// import 'package:space/src/ui/screens/seeker_tabs.dart';
-// import 'package:space/src/ui/screens/splash_screen.dart';
-
-// import 'package:space/src/ui/theme/theme.dart';
-
-// class SeekerApp extends StatelessWidget {
-// @override
-// Widget build(BuildContext context) {
-// final theme = buildTheme();
-// return MultiProvider(
-// providers: [
-// ChangeNotifierProvider.value(
-// value: Auth(),
-// ),
-// ChangeNotifierProxyProvider(
-// builder: (ctx, auth, previousJobs) =>Jobs(
-// auth.token,
-// auth.userId,
-// previousJobs == null ? [] : previousJobs.posts,
-// ),
-// ),
-// ChangeNotifierProvider.value(
-// value: Save(),
-// )
-// ],
-// child: Consumer(
-// builder: (ctx, auth, _) => MaterialApp(
-// debugShowCheckedModeBanner: false,
-// theme: theme,
-// home: auth.isAuth
-// ? SeekerNavigator()
-// : FutureBuilder(
-// future: auth.tryAutoLogin(),
-// builder: (ctx, authResultSnapshot) =>
-// authResultSnapshot.connectionState ==
-// ConnectionState.waiting
-// ? SplashScreen()
-// : DreamApp(),
-// ),
-// routes: {
-// HomePageSeeker.routeName: (ctx) => HomePageSeeker(),
-// JobDetails.routeName: (ctx) => JobDetails(),
-// SaveScreen.routeName: (ctx) => SaveScreen(),
-// SeekerTabs.routeName: (ctx) => SeekerTabs(),
-// },
-// ),
-// ),
-// );
-// }
-// }
diff --git a/lib/src/app.dart b/lib/src/app.dart
index 056a863..78dbd9a 100644
--- a/lib/src/app.dart
+++ b/lib/src/app.dart
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-import 'package:space/seeker_app.dart';
+import 'package:flutter_svg/flutter_svg.dart';
import 'package:space/src/ui/auth/employer/login_signup_employer.dart';
import 'package:space/src/ui/auth/seeker/login_signup_seeker.dart';
@@ -12,108 +12,121 @@ class DreamApp extends StatelessWidget {
statusBarBrightness: Brightness.light,
statusBarIconBrightness: Brightness.light,
systemNavigationBarIconBrightness: Brightness.light,
- systemNavigationBarColor: Colors.black,
+ systemNavigationBarColor: Colors.black,
));
return Material(
- child: Container(
- decoration: BoxDecoration(
- image: DecorationImage(
- fit: BoxFit.cover,
- image: AssetImage('assets/vector-5.png', ),
- ),
- ),
- child: Stack(children: [
- Padding(
- padding: EdgeInsets.only(top: 50, right: 30),
- child: Stack(
- alignment: Alignment.topRight,
- children: [
- Align(
- alignment: Alignment.topRight,
- child: Image.asset('assets/vector-11.png', scale: 1.4,)),
- Align(
- alignment: Alignment(0.6, -0.8),
- child: Image.asset('assets/vector-12.png', scale: 1.5,)),
- Align(
- alignment: Alignment(0.7, -0.5),
- child: Image.asset('assets/vector-13.png', scale: 1.5,)),
- Align(
- alignment: Alignment(0.2, -0.4),
- child: Image.asset('assets/vector-14.png', scale: 1.5,)),
- ],
+ child: Stack(
+ children: [
+ SvgPicture.asset(
+ 'assets/vector-5.svg',
+ fit: BoxFit.cover,
+ width: MediaQuery.of(context).size.width,
+ height: MediaQuery.of(context).size.height,
),
- ),
- Stack(
- children:[
- Align(
- alignment: Alignment(-0.8, 0.2),
- child: Image.asset('assets/vector-16.png', scale: 1.5,)),
- Align(
- alignment: Alignment(-0.4, -0),
- child: Image.asset('assets/vector-15.png', scale: 1.5,)),
- ],
- ),
- Padding(
- padding: EdgeInsets.only(bottom: 20),
- child: Align(
- alignment: Alignment.bottomCenter,
- child: Column(
- mainAxisAlignment: MainAxisAlignment.end,
+ Padding(
+ padding: EdgeInsets.only(top: 50, right: 30),
+ child: Stack(
+ alignment: Alignment.topRight,
children: [
- MaterialButton(
- shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)),
- color: Color(0xff22c0e8),
- minWidth: 220,
- onPressed: () {
- Navigator.push(
+ Align(
+ alignment: Alignment.topRight,
+ child: Image.asset(
+ 'assets/vector-11.png',
+ scale: 1.4,
+ )),
+ Align(
+ alignment: Alignment(0.6, -0.8),
+ child: Image.asset(
+ 'assets/vector-12.png',
+ scale: 1.5,
+ )),
+ Align(
+ alignment: Alignment(0.7, -0.5),
+ child: Image.asset(
+ 'assets/vector-13.png',
+ scale: 1.5,
+ )),
+ Align(
+ alignment: Alignment(0.2, -0.4),
+ child: Image.asset(
+ 'assets/vector-14.png',
+ scale: 1.5,
+ )),
+ ],
+ ),
+ ),
+ Stack(
+ children: [
+ Align(
+ alignment: Alignment(-0.8, 0.2),
+ child: Image.asset(
+ 'assets/vector-16.png',
+ scale: 1.5,
+ )),
+ Align(
+ alignment: Alignment(-0.4, -0),
+ child: Image.asset(
+ 'assets/vector-15.png',
+ scale: 1.5,
+ )),
+ ],
+ ),
+ Padding(
+ padding: EdgeInsets.only(bottom: 20),
+ child: Align(
+ alignment: Alignment.bottomCenter,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ MaterialButton(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30)),
+ color: Color(0xff22c0e8),
+ minWidth: 220,
+ onPressed: () {
+ Navigator.push(
context,
- MaterialPageRoute(builder: (context) => LoginSignUpSeeker()),
+ MaterialPageRoute(
+ builder: (context) => LoginSignUpSeeker()),
);
- },
- child:
- Text("Look for Jobs",
- textAlign: TextAlign.center,
- style: TextStyle(
- color: Colors.white, fontSize: 13)),
- ),
- MaterialButton(
- shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)),
- color: Color(0xff57b22f),
- minWidth: 220,
- onPressed: () {
- Navigator.push(
+ },
+ child: Text("Look for Jobs",
+ textAlign: TextAlign.center,
+ style: TextStyle(color: Colors.white, fontSize: 13)),
+ ),
+ MaterialButton(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30)),
+ color: Color(0xff57b22f),
+ minWidth: 220,
+ onPressed: () {
+ Navigator.push(
context,
- MaterialPageRoute(builder: (context) => LoginSignUpEmployer())
- );
- },
- child:
- Text("Look for Employees",
- textAlign: TextAlign.center,
- style: TextStyle(
- color: Colors.white, fontSize: 13)),
- ),
- SizedBox(height: 20),
- Column(
- children: [
- Text("Copyright © 2019 by Dreamjob",
- textAlign: TextAlign.center,
- style: TextStyle(
- color: Colors.white, fontSize: 10)
- ),
- Text("www.dreamjob.co.id",
- textAlign: TextAlign.center,
- style: TextStyle(
- color: Colors.cyan[400], fontSize: 10)),
+ MaterialPageRoute(
+ builder: (context) => LoginSignUpEmployer()));
+ },
+ child: Text("Look for Employees",
+ textAlign: TextAlign.center,
+ style: TextStyle(color: Colors.white, fontSize: 13)),
+ ),
+ SizedBox(height: 20),
+ Column(
+ children: [
+ Text("Copyright © 2019 by Dreamjob",
+ textAlign: TextAlign.center,
+ style: TextStyle(color: Colors.white, fontSize: 10)),
+ Text("www.dreamjob.co.id",
+ textAlign: TextAlign.center,
+ style:
+ TextStyle(color: Colors.cyan[400], fontSize: 10)),
+ ],
+ ),
],
),
- ],
+ ),
),
- ),
- ),
- ],
+ ],
),
- ),
);
}
}
-
\ No newline at end of file
diff --git a/lib/src/core/models/apply.dart b/lib/src/core/models/apply.dart
index d2a5c79..3bfac84 100644
--- a/lib/src/core/models/apply.dart
+++ b/lib/src/core/models/apply.dart
@@ -1,97 +1,96 @@
-import 'dart:convert';
+// import 'dart:convert';
-import 'package:flutter/foundation.dart';
-import 'package:http/http.dart' as http;
-import 'package:space/src/core/models/job.dart';
+// import 'package:flutter/foundation.dart';
+// import 'package:http/http.dart' as http;
+// import 'package:space/src/core/models/job.dart';
-import './cart.dart';
-class ApplyPost {
- final String id;
- final List job;
- final DateTime dateTime;
+// class ApplyPost {
+// final String id;
+// final List job;
+// final DateTime dateTime;
- ApplyPost({
- @required this.id,
- @required this.job,
- @required this.dateTime,
- });
-}
+// ApplyPost({
+// @required this.id,
+// @required this.job,
+// @required this.dateTime,
+// });
+// }
-class Applys with ChangeNotifier {
- List _applys = [];
- final String authToken;
- final String userId;
+// class Applys with ChangeNotifier {
+// List _applys = [];
+// final String authToken;
+// final String userId;
- Applys(this.authToken, this.userId, this._applys);
+// Applys(this.authToken, this.userId, this._applys);
- List get applys {
- return [..._applys];
- }
+// List get applys {
+// return [..._applys];
+// }
- Future fetchAndSetApplys() async {
- final url = 'https://dreamjob-id.firebaseio.com/applys/$userId.json?auth=$authToken';
- final response = await http.get(url);
- final List loadedApplys = [];
- final extractedData = json.decode(response.body) as Map;
- if (extractedData == null) {
- return;
- }
- extractedData.forEach((applyId, applyData) {
- loadedApplys.add(
- ApplyPost(
- id: applyId,
- dateTime: DateTime.parse(applyData['dateTime']),
- job: (applyData['job'] as List)
- .map(
- (item) => Job(
- id: item['id'],
- title: item['title'],
- type: item['type'],
- workingday: item['workingday'],
- workinghour: item['workinghour'],
- salary: item['salary'],
- description: item['description'],
- location: item['location'],
- industry: item['industry'],
- skill: item['skill'],
- education: item['education'],
- gender: item['gender'],
- typeSalary: item['typeSalary'],
- ),
- )
- .toList(),
- ),
- );
- });
- _applys = loadedApplys.reversed.toList();
- notifyListeners();
- }
+// Future fetchAndSetApplys() async {
+// final url = 'https://dreamjob-id.firebaseio.com/applys/$userId.json?auth=$authToken';
+// final response = await http.get(url);
+// final List loadedApplys = [];
+// final extractedData = json.decode(response.body) as Map;
+// if (extractedData == null) {
+// return;
+// }
+// extractedData.forEach((applyId, applyData) {
+// loadedApplys.add(
+// ApplyPost(
+// id: applyId,
+// dateTime: DateTime.parse(applyData['dateTime']),
+// job: (applyData['job'] as List)
+// .map(
+// (item) => Job(
+// id: item['id'],
+// title: item['title'],
+// type: item['type'],
+// workingday: item['workingday'],
+// workinghour: item['workinghour'],
+// salary: item['salary'],
+// description: item['description'],
+// location: item['location'],
+// industry: item['industry'],
+// skill: item['skill'],
+// education: item['education'],
+// gender: item['gender'],
+// typeSalary: item['typeSalary'],
+// ),
+// )
+// .toList(),
+// ),
+// );
+// });
+// _applys = loadedApplys.reversed.toList();
+// notifyListeners();
+// }
- Future addApply(List addJobs) async {
- final url = 'https://dreamjob-id.firebaseio.com/applys/$userId.json?auth=$authToken';
- final timestamp = DateTime.now();
- final response = await http.post(
- url,
- body: json.encode({
- 'dateTime': timestamp.toIso8601String(),
- 'jobs': addJobs
- .map((cp) => {
- 'id': cp.id,
- 'title': cp.title,
- 'salary': cp.salary,
- })
- .toList(),
- }),
- );
- _applys.insert(
- 0,
- ApplyPost(
- id: json.decode(response.body)['name'],
- dateTime: timestamp,
- job: addJobs,
- ),
- );
- notifyListeners();
- }
-}
+// Future addApply(List addJobs) async {
+// final url = 'https://dreamjob-id.firebaseio.com/applys/$userId.json?auth=$authToken';
+// final timestamp = DateTime.now();
+// final response = await http.post(
+// url,
+// body: json.encode({
+// 'dateTime': timestamp.toIso8601String(),
+// 'jobs': addJobs
+// .map((cp) => {
+// 'id': cp.id,
+// 'title': cp.title,
+// 'salary': cp.salary,
+// })
+// .toList(),
+// }),
+// );
+// _applys.insert(
+// 0,
+// ApplyPost(
+// id: json.decode(response.body)['name'],
+// dateTime: timestamp,
+// job: addJobs,
+// ),
+// );
+// notifyListeners();
+// }
+// }
diff --git a/lib/src/core/models/job.dart b/lib/src/core/models/job.dart
index a449fb9..38d4d3b 100644
--- a/lib/src/core/models/job.dart
+++ b/lib/src/core/models/job.dart
@@ -1,44 +1,46 @@
-import 'package:flutter/foundation.dart';
+// import 'package:flutter/foundation.dart';
-class Job with ChangeNotifier {
- final String id;
- final String title;
- final String employerName;
- final String location;
- final String workingday;
- final String workinghour;
- final String description;
- final String industry;
- final String education;
- final String skill;
- final double salary;
- final String type;
- final String imageUrl;
- final String gender;
- final String typeSalary;
- bool isSave;
+// class Job with ChangeNotifier {
+// final String id;
+// final String title;
+// final String employerName;
+// final String location;
+// final String workingday;
+// final String workinghour;
+// final String description;
+// final String industry;
+// final String education;
+// final String skill;
+// final double salary;
+// final String type;
+// final String imageUrl;
+// final String gender;
+// final String typeSalary;
+// final String status;
+// bool isSave;
- Job({
- @required this.id,
- @required this.title,
- this.employerName,
- @required this.location,
- @required this.workingday,
- @required this.workinghour,
- @required this.description,
- @required this.industry,
- @required this.education,
- @required this.skill,
- @required this.salary,
- @required this.type,
- @required this.typeSalary,
- this.imageUrl,
- @required this.gender,
- this.isSave = false,
- });
+// Job({
+// @required this.id,
+// @required this.title,
+// this.employerName,
+// @required this.location,
+// @required this.workingday,
+// @required this.workinghour,
+// @required this.description,
+// @required this.industry,
+// @required this.education,
+// @required this.skill,
+// @required this.salary,
+// @required this.type,
+// @required this.typeSalary,
+// this.imageUrl,
+// @required this.gender,
+// this.status,
+// this.isSave = false,
+// });
- void toggleSavePosts() {
- isSave = !isSave;
- notifyListeners();
- }
-}
\ No newline at end of file
+// void toggleSavePosts() {
+// isSave = !isSave;
+// notifyListeners();
+// }
+// }
\ No newline at end of file
diff --git a/lib/src/core/models/jobs.dart b/lib/src/core/models/jobs.dart
index 257250a..b896829 100644
--- a/lib/src/core/models/jobs.dart
+++ b/lib/src/core/models/jobs.dart
@@ -1,155 +1,150 @@
-import 'package:flutter/material.dart';
+// import 'package:flutter/material.dart';
-import './job.dart';
+// import './job.dart';
-class Jobs with ChangeNotifier {
- List _posts = [
- Job(
- id: 'p1',
- title: 'Head Chef',
- employerName: 'Mekuru Ramen',
- description: 'Our teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and Beverages',
- salary: 2500000,
- type: 'Full Time',
- gender: 'Male',
- typeSalary: 'Per Month',
- location: 'Pontianak, Kalimantan Barat',
- industry: 'Food and Beverages',
- education: 'High School',
- workingday: 'Tuesday - Sunday',
- workinghour: '08.00 - 21.30',
- imageUrl:
- 'https://i.ibb.co/9NyNjxM/mekuru-2.png',
- skill: 'required: '
- '• 1+ years experience in F&B company'
- '• work with passion and team oriented'
- '• Kitchen oriented.'
- '• can work comfortably alongside both jobuction and serving teams'
- '• a strong written and verbal communicator'
- '• attention to food serving perfection',
- ),
- Job(
- id: 'p2',
- title: 'Assistant Chef',
- employerName: 'Mekuru Ramen',
- description: 'Our teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and Beverages',
- salary: 2500000,
- type: 'Part Time',
- gender: 'Female',
- typeSalary: 'Per Month',
- location: 'Pontianak, Kalimantan Barat',
- industry: 'Food and Beverages',
- education: 'High School',
- workingday: 'Tuesday - Sunday',
- workinghour: '08.00 - 21.30',
- imageUrl:
- 'https://i.ibb.co/9NyNjxM/mekuru-2.png',
- skill: 'required: '
- '• 1+ years experience in F&B company'
- '• work with passion and team oriented'
- '• Kitchen oriented.'
- '• can work comfortably alongside both jobuction and serving teams'
- '• a strong written and verbal communicator'
- '• attention to food serving perfection',
- ),
- Job(
- id: 'p3',
- title: 'Cleaning Service',
- employerName: 'Up2u',
- description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.', salary: 2500000,
- type: 'Weekend',
- gender: 'Male / Female',
- typeSalary: 'Per Day',
- location: 'Banjarmasin, Kalimantan Barat',
- industry: 'Food and Beverages',
- education: 'High School',
- workingday: 'Sunday',
- workinghour: '10.00 - 22.00',
- imageUrl:
- 'https://i.ibb.co/1GcZb6v/up2u.png',
- skill: 'required: '
- '• -'
- '• -'
- '• -'
- '• -'
- '• -'
- '• -',
- ),
- Job(
- id: 'p4',
- title: 'CCTV Installer',
- employerName: 'CV. CCTV Installer',
- description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.',
- salary: 1800000,
- type: 'Freelance',
- gender: 'Male / Female',
- typeSalary: 'Per Week',
- location: 'Singkawang, Kalimantan Barat',
- industry: 'Technology',
- education: 'High School',
- workingday: 'Saturday - Sunday',
- workinghour: '06.00 - 04.00',
- imageUrl:
- 'https://cdn.pixabay.com/photo/2017/12/27/10/14/image-3042333_960_720.png',
- skill: 'required: '
- '• -'
- '• -'
- '• -'
- '• -'
- '• -'
- '• -',
- ),
- Job(
- id: 'p5',
- title: 'Mobile App Beckend',
- employerName: 'PT. Mobile Apps',
- description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.',
- salary: 10000000,
- type: 'Full Time',
- gender: 'Male',
- typeSalary: 'Per Month',
- location: 'Jakarta, Jawa Timur',
- industry: 'Human Resource',
- education: 'S1',
- workingday: 'Everyday',
- workinghour: '07.00 - 17.00',
- imageUrl:
- 'https://img.freepik.com/free-vector/professional-programmer-engineer-writing-code_3446-693.jpg?size=338&ext=jpg',
- skill: 'required: '
- '• -'
- '• -'
- '• -'
- '• -'
- '• -'
- '• -',
- ),
- ];
- // var _showFavoritesOnly = false;
+// class Jobs with ChangeNotifier {
+// List _posts = [
+// Job(
+// id: 'p1',
+// title: 'Head Chef',
+// employerName: 'Mekuru Ramen',
+// description: 'Our teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and BeveragesOur teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and Beverages',
+// salary: 2500000,
+// type: 'Full Time',
+// gender: 'Male',
+// typeSalary: 'Per Month',
+// location: 'Pontianak, Kalimantan Barat',
+// industry: 'Food and Beverages',
+// education: 'High School',
+// workingday: 'Tuesday - Sunday',
+// workinghour: '08.00 - 21.30',
+// skill: 'required: '
+// '• 1+ years experience in F&B company'
+// '• work with passion and team oriented'
+// '• Kitchen oriented.'
+// '• can work comfortably alongside both jobuction and serving teams'
+// '• a strong written and verbal communicator'
+// '• attention to food serving perfection',
+// status: 'Applied',
+// ),
+// Job(
+// id: 'p2',
+// title: 'Assistant Chef',
+// employerName: 'Mekuru Ramen',
+// description: 'Our teams are up to date with the latest foods, media trends and are keen to prove themselves in this industry and that’s what you want from a food and beverages industry. Industry: Food and Beverages',
+// salary: 2500000,
+// type: 'Part Time',
+// gender: 'Female',
+// typeSalary: 'Per Month',
+// location: 'Pontianak, Kalimantan Barat',
+// industry: 'Food and Beverages',
+// education: 'High School',
+// workingday: 'Tuesday - Sunday',
+// workinghour: '08.00 - 21.30',
+// skill: 'required: '
+// '• 1+ years experience in F&B company'
+// '• work with passion and team oriented'
+// '• Kitchen oriented.'
+// '• can work comfortably alongside both jobuction and serving teams'
+// '• a strong written and verbal communicator'
+// '• attention to food serving perfection',
+// status: 'Hold',
+// ),
+// Job(
+// id: 'p3',
+// title: 'Cleaning Service',
+// employerName: 'Up2u',
+// description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.', salary: 2500000,
+// type: 'Weekend',
+// gender: 'Male / Female',
+// typeSalary: 'Per Day',
+// location: 'Banjarmasin, Kalimantan Barat',
+// industry: 'Food and Beverages',
+// education: 'High School',
+// workingday: 'Sunday',
+// workinghour: '10.00 - 22.00',
+// skill: 'required: '
+// '• -'
+// '• -'
+// '• -'
+// '• -'
+// '• -'
+// '• -',
+// status: 'Rejected',
+// ),
+// Job(
+// id: 'p4',
+// title: 'CCTV Installer',
+// employerName: 'CV. CCTV Installer',
+// description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.',
+// salary: 1800000,
+// type: 'Freelance',
+// gender: 'Male / Female',
+// typeSalary: 'Per Week',
+// location: 'Singkawang, Kalimantan Barat',
+// industry: 'Technology',
+// education: 'High School',
+// workingday: 'Saturday - Sunday',
+// workinghour: '06.00 - 04.00',
+// skill: 'required: '
+// '• -'
+// '• -'
+// '• -'
+// '• -'
+// '• -'
+// '• -',
+// status: 'Hired',
+// ),
+// Job(
+// id: 'p5',
+// title: 'Mobile App Beckend',
+// employerName: 'PT. Mobile Apps',
+// description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.',
+// salary: 10000000,
+// type: 'Full Time',
+// gender: 'Male',
+// typeSalary: 'Per Month',
+// location: 'Jakarta, Jawa Timur',
+// industry: 'Human Resource',
+// education: 'S1',
+// workingday: 'Everyday',
+// workinghour: '07.00 - 17.00',
+// skill: 'required: '
+// '• -'
+// '• -'
+// '• -'
+// '• -'
+// '• -'
+// '• -',
+// status: 'Rejected',
+// ),
+// ];
+// // var _showFavoritesOnly = false;
- List get posts {
- return [..._posts];
- }
+// List get posts {
+// return [..._posts];
+// }
- List get savePosts {
- return _posts.where((jobPost) => jobPost.isSave).toList();
- }
+// List get savePosts {
+// return _posts.where((jobPost) => jobPost.isSave).toList();
+// }
- Job findById(String id) {
- return _posts.firstWhere((job) => job.id == id);
- }
+// Job findById(String id) {
+// return _posts.firstWhere((job) => job.id == id);
+// }
- // void showFavoritesOnly() {
- // _showFavoritesOnly = true;
- // notifyListeners();
- // }
+// // void showFavoritesOnly() {
+// // _showFavoritesOnly = true;
+// // notifyListeners();
+// // }
- // void showAll() {
- // _showFavoritesOnly = false;
- // notifyListeners();
- // }
+// // void showAll() {
+// // _showFavoritesOnly = false;
+// // notifyListeners();
+// // }
- void addJob() {
- // _posts.add(value);
- notifyListeners();
- }
-}
+// void addJob() {
+// // _posts.add(value);
+// notifyListeners();
+// }
+// }
diff --git a/lib/src/ui/auth/employer/home_employer.dart b/lib/src/ui/auth/employer/home_employer.dart
index 477b7ce..2f4d81d 100644
--- a/lib/src/ui/auth/employer/home_employer.dart
+++ b/lib/src/ui/auth/employer/home_employer.dart
@@ -1,15 +1,12 @@
-import 'package:carousel_slider/carousel_slider.dart';
import 'package:feather_icons_flutter/feather_icons_flutter.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
-import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
-import 'package:gradient_app_bar/gradient_app_bar.dart';
import 'package:carousel_pro/carousel_pro.dart';
import 'package:space/src/ui/components/category_job_screen.dart';
+import 'package:space/src/ui/components/near_job_screen.dart';
import 'package:space/src/ui/employer/widgets/employer_app_drawer.dart';
import 'package:space/src/ui/components/horizontal_screen.dart';
-import 'package:space/src/ui/components/recommended_screen.dart';
import 'package:space/src/ui/seeker/layout/seeker_profile_view.dart';
class HomePageEmployer extends StatefulWidget {
@@ -104,8 +101,9 @@ class _HomePageEmployerState extends State {
dotSpacing: 15,
dotIncreasedColor: Colors.amber,
dotBgColor: Colors.transparent,
+ dotColor: Colors.amber[100],
dotPosition: DotPosition.bottomLeft,
- dotVerticalPadding: 5.0,
+ dotVerticalPadding: 0.0,
showIndicator: true,
dotHorizontalPadding: 10.0,
indicatorBgPadding: 0,
@@ -167,7 +165,7 @@ class _HomePageEmployerState extends State {
Container(
height: 50,
child: ListTile(
- leading: Text('Recent Job',
+ leading: Text('Job Near You',
style: style2.copyWith(
fontSize: 16,
fontWeight: FontWeight.bold,
@@ -183,7 +181,7 @@ class _HomePageEmployerState extends State {
)),
SizedBox(
height: 180,
- child: RecentScreen(),
+ child: NearJobScreen(),
),
Container(
margin: EdgeInsets.only(top: 10),
diff --git a/lib/src/ui/auth/employer/intro_employer.dart b/lib/src/ui/auth/employer/intro_employer.dart
index 6293c3d..6fe356a 100644
--- a/lib/src/ui/auth/employer/intro_employer.dart
+++ b/lib/src/ui/auth/employer/intro_employer.dart
@@ -1,64 +1,80 @@
import 'package:flutter/material.dart';
+import 'package:flutter_svg/flutter_svg.dart';
import 'package:intro_views_flutter/Models/page_view_model.dart';
import 'package:intro_views_flutter/intro_views_flutter.dart';
import 'package:space/src/ui/auth/employer/ui_get_started_employer.dart';
-
class IntroImployer extends StatelessWidget {
final pages = [
PageViewModel(
pageColor: const Color(0xffff6d00),
- iconImageAssetPath: 'assets/employer-2.png',
-
- bubble: Image.asset('assets/employer-2.png'),
+ bubble: SvgPicture.asset('assets/employer-2.svg'),
body: Text(
'Check profile information easier.',
),
title: Text(
- 'Choose Applicants with simple click!', textAlign: TextAlign.center,
+ 'Choose Applicants with simple click!',
+ textAlign: TextAlign.center,
),
- titleTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 32, fontWeight: FontWeight.bold),
- bodyTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
- mainImage: Image.asset(
- 'assets/employer-2.png',
+ titleTextStyle: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Colors.white,
+ fontSize: 32,
+ fontWeight: FontWeight.bold),
+ bodyTextStyle: TextStyle(
+ fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
+ mainImage: SvgPicture.asset(
+ 'assets/employer-2.svg',
height: 450.0,
width: 450.0,
alignment: Alignment.center,
)),
PageViewModel(
pageColor: const Color(0xffd50000),
- iconImageAssetPath: 'assets/employer-1.png',
- bubble: Image.asset('assets/employer-1.png'),
+ bubble: SvgPicture.asset(
+ 'assets/employer-1.svg',
+ ),
body: Text(
'Faster and Effectives to hired.',
),
title: Text(
- 'New and Easier Way!', textAlign: TextAlign.center,
+ 'New and Easier Way!',
+ textAlign: TextAlign.center,
),
- titleTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 32, fontWeight: FontWeight.bold),
- bodyTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
- mainImage: Image.asset(
- 'assets/employer-1.png',
+ titleTextStyle: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Colors.white,
+ fontSize: 32,
+ fontWeight: FontWeight.bold),
+ bodyTextStyle: TextStyle(
+ fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
+ mainImage: SvgPicture.asset(
+ 'assets/employer-1.svg',
height: 285.0,
width: 285.0,
+ fit: BoxFit.contain,
alignment: Alignment.center,
- )),
+ )),
PageViewModel(
pageColor: const Color(0xff64dd17),
- bubble: Image.asset('assets/employer-3.png'),
- iconImageAssetPath: 'assets/employer-3.png',
- body: Text('Contact your candidate directly with chat and live interview features.',
- textAlign: TextAlign.center),
- title: Text('Get in touch directly!',
- textAlign: TextAlign.center),
- mainImage: Image.asset(
- 'assets/employer-3.png',
+ bubble: SvgPicture.asset('assets/employer-3.svg'),
+ body: Text(
+ 'Contact your candidate directly with chat and live interview features.',
+ textAlign: TextAlign.center),
+ title: Text('Get in touch directly!', textAlign: TextAlign.center),
+ mainImage: SvgPicture.asset(
+ 'assets/employer-3.svg',
height: 285.0,
width: 285.0,
alignment: Alignment.center,
),
- titleTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 32, fontWeight: FontWeight.bold),
- bodyTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
+ titleTextStyle: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Colors.white,
+ fontSize: 32,
+ fontWeight: FontWeight.bold),
+ bodyTextStyle: TextStyle(
+ fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
),
];
diff --git a/lib/src/ui/auth/employer/ui_get_started_employer.dart b/lib/src/ui/auth/employer/ui_get_started_employer.dart
index 7c76f8e..74693a0 100644
--- a/lib/src/ui/auth/employer/ui_get_started_employer.dart
+++ b/lib/src/ui/auth/employer/ui_get_started_employer.dart
@@ -14,18 +14,18 @@ class UiGetStartedEmployer extends StatelessWidget {
'assets/vector-5.svg',
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
),
Scaffold(
backgroundColor: Colors.transparent,
body: Container(
- padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10),
+ padding: EdgeInsets.symmetric(horizontal: 20, vertical: 20),
height: MediaQuery.of(context).size.height,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Container(
- child: Image.asset('assets/logo.png', height: 150,)),
+ child: Image.asset('assets/logo.png', height: 120,)),
Text('Are you ready to find your dream team?',
textAlign: TextAlign.center,
style: style.copyWith(
diff --git a/lib/src/ui/auth/seeker/home_seeker.dart b/lib/src/ui/auth/seeker/home_seeker.dart
index da1b7b0..b9f9202 100644
--- a/lib/src/ui/auth/seeker/home_seeker.dart
+++ b/lib/src/ui/auth/seeker/home_seeker.dart
@@ -1,15 +1,13 @@
-import 'package:carousel_slider/carousel_slider.dart';
import 'package:feather_icons_flutter/feather_icons_flutter.dart';
import 'package:flutter/material.dart';
-import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
-import 'package:gradient_app_bar/gradient_app_bar.dart';
+import 'package:flutter_svg/flutter_svg.dart';
import 'package:carousel_pro/carousel_pro.dart';
import 'package:space/src/ui/components/category_job_screen.dart';
+import 'package:space/src/ui/components/near_job_screen.dart';
-import 'package:space/src/ui/employer/widgets/employer_app_drawer.dart';
import 'package:space/src/ui/components/horizontal_screen.dart';
-import 'package:space/src/ui/components/recommended_screen.dart';
import 'package:space/src/ui/seeker/layout/seeker_profile_view.dart';
+import 'package:space/src/ui/seeker/widgets/seeker_app_drawer.dart';
class HomePageSeeker extends StatefulWidget {
static const routeName = '/home_page_seeker';
@@ -41,13 +39,13 @@ class _HomePageSeekerState extends State {
Container(
height: 94,
width: MediaQuery.of(context).size.width,
- child: Image.asset(
- 'assets/vector-5.png',
+ child: SvgPicture.asset(
+ 'assets/vector-5.svg',
fit: BoxFit.fitWidth,
),
),
Scaffold(
- drawer: EmployerDrawer(),
+ drawer: AppDrawer(),
backgroundColor: Colors.transparent,
appBar: PreferredSize(
preferredSize: Size.fromHeight(70), // here the desired height
@@ -94,12 +92,8 @@ class _HomePageSeekerState extends State {
child: Column(
children: [
Container(
- padding:
- EdgeInsets.symmetric(horizontal: 10, vertical: 10),
- height: 120,
+ height: 110,
child: Carousel(
- borderRadius: true,
- boxFit: BoxFit.fill,
autoplay: true,
animationCurve: Curves.fastOutSlowIn,
animationDuration: Duration(milliseconds: 2000),
@@ -107,18 +101,44 @@ class _HomePageSeekerState extends State {
dotSpacing: 15,
dotIncreasedColor: Colors.amber,
dotBgColor: Colors.transparent,
+ dotColor: Colors.amber[100],
dotPosition: DotPosition.bottomLeft,
- dotVerticalPadding: 5.0,
+ dotVerticalPadding: 0.0,
showIndicator: true,
dotHorizontalPadding: 10.0,
indicatorBgPadding: 0,
images: [
- NetworkImage(
- 'https://www.theatreartlife.com/wp-content/uploads/TheMarket-Ad-TD-800x200-768x192.png'),
- NetworkImage(
- 'http://tapsbus.com/wp-content/uploads/2015/06/driver-job-fi.png'),
- NetworkImage(
- 'https://i0.wp.com/www.thehtn.co.uk/wp-content/uploads/2019/08/Latest-News-3-copy-3.png?fit=800%2C200&ssl=1'),
+ Padding(
+ padding:
+ EdgeInsets.symmetric(horizontal: 10, vertical: 10),
+ child: ClipRRect(
+ borderRadius: new BorderRadius.circular(10),
+ child: SvgPicture.asset(
+ 'assets/dream-cast.svg',
+ fit: BoxFit.fill,
+ ),
+ ),
+ ),
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 10, vertical: 10),
+ child: ClipRRect(
+ borderRadius: new BorderRadius.circular(10),
+ child: SvgPicture.asset(
+ 'assets/dream-cast.svg',
+ fit: BoxFit.fill,
+ ),
+ ),
+ ),
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 10, vertical: 10),
+ child: ClipRRect(
+ borderRadius: new BorderRadius.circular(10),
+ child: SvgPicture.asset(
+ 'assets/dream-cast.svg',
+ fit: BoxFit.fill,
+ ),
+ ),
+ ),
],
),
),
@@ -145,7 +165,7 @@ class _HomePageSeekerState extends State {
Container(
height: 50,
child: ListTile(
- leading: Text('Job Around You',
+ leading: Text('Job Near You',
style: style2.copyWith(
fontSize: 16,
fontWeight: FontWeight.bold,
@@ -161,7 +181,7 @@ class _HomePageSeekerState extends State {
)),
SizedBox(
height: 180,
- child: RecentScreen(),
+ child: NearJobScreen(),
),
Container(
margin: EdgeInsets.only(top: 10),
diff --git a/lib/src/ui/auth/seeker/intro_seeker.dart b/lib/src/ui/auth/seeker/intro_seeker.dart
index f9a26d9..6f14bb7 100644
--- a/lib/src/ui/auth/seeker/intro_seeker.dart
+++ b/lib/src/ui/auth/seeker/intro_seeker.dart
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
+import 'package:flutter_svg/svg.dart';
import 'package:intro_views_flutter/Models/page_view_model.dart';
import 'package:intro_views_flutter/intro_views_flutter.dart';
-import 'package:space/src/ui/auth/employer/ui_get_started_employer.dart';
import 'package:space/src/ui/auth/seeker/ui_get_started_seeker.dart';
@@ -9,8 +9,7 @@ class IntroSeeker extends StatelessWidget {
final pages = [
PageViewModel(
pageColor: const Color(0xffff6d00),
- iconImageAssetPath: 'assets/seeker-1.png',
- bubble: Image.asset('assets/seeker-1.png'),
+ bubble: SvgPicture.asset('assets/seeker-1.svg'),
body: Text(
'More than 100+ Job may suite you.',
),
@@ -19,16 +18,15 @@ class IntroSeeker extends StatelessWidget {
),
titleTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 32, fontWeight: FontWeight.bold),
bodyTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
- mainImage: Image.asset(
- 'assets/seeker-1.png',
+ mainImage: SvgPicture.asset(
+ 'assets/seeker-1.svg',
height: 285.0,
width: 285.0,
alignment: Alignment.center,
)),
PageViewModel(
pageColor: const Color(0xffd50000),
- iconImageAssetPath: 'assets/seeker-2.png',
- bubble: Image.asset('assets/seeker-2.png'),
+ bubble: SvgPicture.asset('assets/seeker-2.svg'),
body: Text(
'Say goodbay to paper, More Effectives and Efficients.',
),
@@ -37,22 +35,21 @@ class IntroSeeker extends StatelessWidget {
),
titleTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 32, fontWeight: FontWeight.bold),
bodyTextStyle: TextStyle(fontFamily: 'VarelaRound', color: Colors.white, fontSize: 21),
- mainImage: Image.asset(
- 'assets/seeker-2.png',
+ mainImage: SvgPicture.asset(
+ 'assets/seeker-2.svg',
height: 285.0,
width: 285.0,
alignment: Alignment.center,
)),
PageViewModel(
pageColor: const Color(0xff64dd17),
- bubble: Image.asset('assets/seeker-3.png'),
- iconImageAssetPath: 'assets/seeker-3.png',
+ bubble: SvgPicture.asset('assets/seeker-3.svg'),
body: Text('Check your applied status. No need to wait for another chances.',
textAlign: TextAlign.center),
title: Text('No worry!',
textAlign: TextAlign.center),
- mainImage: Image.asset(
- 'assets/seeker-3.png',
+ mainImage: SvgPicture.asset(
+ 'assets/seeker-3.svg',
height: 285.0,
width: 285.0,
alignment: Alignment.center,
@@ -62,14 +59,13 @@ class IntroSeeker extends StatelessWidget {
),
PageViewModel(
pageColor: const Color(0xff64dd17),
- bubble: Image.asset('assets/employer-3.png'),
- iconImageAssetPath: 'assets/employer-3.png',
+ bubble: SvgPicture.asset('assets/employer-3.svg'),
body: Text('Contact your employer directly with chat and live interview Features.',
textAlign: TextAlign.center),
title: Text('Get in touch directly!',
textAlign: TextAlign.center),
- mainImage: Image.asset(
- 'assets/employer-3.png',
+ mainImage: SvgPicture.asset(
+ 'assets/employer-3.svg',
height: 285.0,
width: 285.0,
alignment: Alignment.center,
diff --git a/lib/src/ui/auth/seeker/login_signup_seeker.dart b/lib/src/ui/auth/seeker/login_signup_seeker.dart
index 116aaba..c8479e4 100644
--- a/lib/src/ui/auth/seeker/login_signup_seeker.dart
+++ b/lib/src/ui/auth/seeker/login_signup_seeker.dart
@@ -1,14 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
-import 'package:provider/provider.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
-import 'package:space/navigator_employer.dart';
-import 'package:space/src/core/models/http_exception.dart';
-import 'package:space/src/core/models/auth.dart';
-import 'package:space/src/ui/auth/employer/ui_get_started_employer.dart';
-import 'package:space/src/ui/auth/seeker/intro_seeker.dart';
-import 'package:space/src/ui/auth/seeker/ui_get_started_seeker.dart';
import 'package:space/src/ui/components/otp_seeker.dart';
enum AuthMode { Signup, Login }
diff --git a/lib/src/ui/auth/seeker/ui_get_started_seeker.dart b/lib/src/ui/auth/seeker/ui_get_started_seeker.dart
index 76cd991..8b07de8 100644
--- a/lib/src/ui/auth/seeker/ui_get_started_seeker.dart
+++ b/lib/src/ui/auth/seeker/ui_get_started_seeker.dart
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
-import 'package:space/navigator_employer.dart';
import 'package:space/navigator_seeker.dart';
class UiGetStartedSeeker extends StatelessWidget {
@@ -15,18 +14,18 @@ class UiGetStartedSeeker extends StatelessWidget {
'assets/vector-5.svg',
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
),
Scaffold(
backgroundColor: Colors.transparent,
body: Container(
- padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10),
+ padding: EdgeInsets.symmetric(horizontal: 20, vertical: 20),
height: MediaQuery.of(context).size.height,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Container(
- child: Image.asset('assets/logo.png', height: 150,)),
+ child: Image.asset('assets/logo.png', height: 120,)),
Text('Are you ready to chase your dreams?',
textAlign: TextAlign.center,
style: style.copyWith(
diff --git a/lib/src/ui/chat/chat_employer.dart b/lib/src/ui/chat/chat_employer.dart
new file mode 100644
index 0000000..d2b8664
--- /dev/null
+++ b/lib/src/ui/chat/chat_employer.dart
@@ -0,0 +1,519 @@
+import 'package:flutter/material.dart';
+import 'package:feather_icons_flutter/feather_icons_flutter.dart';
+import 'package:space/src/ui/chat/employer_calling.dart';
+import 'package:space/src/ui/chat/ongoing_call_employer.dart';
+
+class ChatEmployer extends StatelessWidget {
+ @override
+ Widget build(BuildContext context) {
+ TextStyle style = TextStyle(fontFamily: 'VarelaRound', fontSize: 20.0);
+ return Scaffold(
+ appBar: AppBar(
+ automaticallyImplyLeading: true,
+ leading: IconButton(
+ onPressed: () {
+ Navigator.pop(context, true);
+ },
+ icon: Icon(FeatherIcons.chevronLeft,
+ color: Color(0xff2c4057), size: 14)),
+ elevation: 1,
+ backgroundColor: Colors.white,
+ title: Row(
+ children: [
+ Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-2.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xff81c784)),
+ ),
+ ],
+ ),
+ Container(
+ padding: EdgeInsets.only(left: 20),
+ child: Text('Mekuru Ramen',
+ style: style.copyWith(
+ color: Color(0xff2c4057),
+ fontSize: 14,
+ fontWeight: FontWeight.w600,
+ letterSpacing: 1)),
+ ),
+ ],
+ ),
+ centerTitle: true,
+ actions: [
+ // action button
+ IconButton(
+ icon: Icon(Icons.videocam, color: Color(0xff4d4d4d), size: 33),
+ onPressed: () {
+ Navigator.push(context,
+ MaterialPageRoute(builder: (context) => EmployerCalling()));
+ },
+ ),
+ ],
+ ),
+ body: SingleChildScrollView(
+ child: Container(
+ margin: EdgeInsets.only(top: 15, bottom: 80),
+ child: Column(
+ children: [
+ Stack(
+ children: [
+ Container(
+ alignment: AlignmentDirectional.topEnd,
+ margin: EdgeInsets.fromLTRB(0, 10, 15, 0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ padding: EdgeInsets.fromLTRB(40, 10, 10, 10),
+ margin: EdgeInsets.only(bottom: 5, left: 38),
+ decoration: BoxDecoration(
+ color: Color(0xffffffff),
+ borderRadius: BorderRadius.circular(5),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x11000000),
+ offset: Offset(
+ 2.121320343559643, 2.1213203435596424),
+ blurRadius: 21,
+ spreadRadius: 0)
+ ],
+ ),
+ child: Column(
+ children: [
+ Text(
+ 'Hello, nice to see you again today. Hope you are well.',
+ style: style.copyWith(
+ fontSize: 14, color: Color(0xff757575))),
+ ],
+ ),
+ ),
+ Padding(
+ padding: EdgeInsets.only(left: 38),
+ child: Text('03:41 PM',
+ style: style.copyWith(
+ fontSize: 12, color: Color(0xff757575))),
+ ),
+ ],
+ ),
+ ),
+ Stack(
+ alignment: AlignmentDirectional.topStart,
+ children: [
+ Container(),
+ Container(
+ margin: EdgeInsets.only(top: 20, left: 20),
+ child: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-2.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xff81c784)),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ Stack(
+ children: [
+ Container(
+ alignment: AlignmentDirectional.topStart,
+ margin: EdgeInsets.fromLTRB(15, 10, 0, 0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.end,
+ children: [
+ Container(
+ padding: EdgeInsets.fromLTRB(10, 10, 40, 10),
+ margin: EdgeInsets.only(bottom: 5, right: 38),
+ decoration: BoxDecoration(
+ color: Color(0xffffffff),
+ borderRadius: BorderRadius.circular(5),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x11000000),
+ offset: Offset(
+ 2.121320343559643, 2.1213203435596424),
+ blurRadius: 21,
+ spreadRadius: 0)
+ ],
+ ),
+ child: Column(
+ children: [
+ Text(
+ 'This is my office location. You can visit as per your time.',
+ style: style.copyWith(
+ fontSize: 14, color: Color(0xff757575))),
+ Container(
+ height: 200,
+ decoration: BoxDecoration(
+ color: Color(0xffbdbdbd),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x11000000),
+ offset: Offset(2.121320343559643,
+ 2.1213203435596424),
+ blurRadius: 21,
+ spreadRadius: 0)
+ ],
+ )),
+ ],
+ ),
+ ),
+ Padding(
+ padding: EdgeInsets.only(right: 38),
+ child: Text('03:42 PM',
+ style: style.copyWith(
+ fontSize: 12, color: Color(0xff757575)))),
+ ],
+ ),
+ ),
+ Stack(
+ alignment: AlignmentDirectional.topEnd,
+ children: [
+ Container(),
+ Container(
+ margin: EdgeInsets.only(top: 20, right: 20),
+ child: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-1.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xff81c784)),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ Stack(
+ children: [
+ Container(
+ alignment: AlignmentDirectional.topEnd,
+ margin: EdgeInsets.fromLTRB(0, 10, 15, 0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ padding: EdgeInsets.fromLTRB(40, 10, 10, 10),
+ margin: EdgeInsets.only(bottom: 5, left: 38),
+ decoration: BoxDecoration(
+ color: Color(0xffffffff),
+ borderRadius: BorderRadius.circular(5),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x11000000),
+ offset: Offset(
+ 2.121320343559643, 2.1213203435596424),
+ blurRadius: 21,
+ spreadRadius: 0)
+ ],
+ ),
+ child: Column(
+ children: [
+ Text(
+ 'Sure, I will visit the location in evening. Is that alright for you.',
+ style: style.copyWith(
+ fontSize: 14, color: Color(0xff757575))),
+ ],
+ ),
+ ),
+ Padding(
+ padding: EdgeInsets.only(left: 38),
+ child: Text('03:43 PM',
+ style: style.copyWith(
+ fontSize: 12, color: Color(0xff757575)))),
+ ],
+ ),
+ ),
+ Stack(
+ alignment: AlignmentDirectional.topStart,
+ children: [
+ Container(),
+ Container(
+ margin: EdgeInsets.only(top: 20, left: 20),
+ child: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-2.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xff81c784)),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ Stack(
+ children: [
+ Container(
+ alignment: AlignmentDirectional.topStart,
+ margin: EdgeInsets.fromLTRB(15, 10, 0, 0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.end,
+ children: [
+ Container(
+ padding: EdgeInsets.fromLTRB(10, 10, 40, 10),
+ margin: EdgeInsets.only(bottom: 5, right: 38),
+ decoration: BoxDecoration(
+ color: Color(0xffffffff),
+ borderRadius: BorderRadius.circular(5),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x11000000),
+ offset: Offset(
+ 2.121320343559643, 2.1213203435596424),
+ blurRadius: 21,
+ spreadRadius: 0)
+ ],
+ ),
+ child: Column(
+ children: [
+ Text(
+ 'This is my office location. You can visit as per your time.',
+ style: style.copyWith(
+ fontSize: 14, color: Color(0xff757575))),
+ Container(
+ height: 200,
+ decoration: BoxDecoration(
+ color: Color(0xffbdbdbd),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x11000000),
+ offset: Offset(2.121320343559643,
+ 2.1213203435596424),
+ blurRadius: 21,
+ spreadRadius: 0)
+ ],
+ )),
+ ],
+ ),
+ ),
+ Padding(
+ padding: EdgeInsets.only(right: 38),
+ child: Text('03:44 PM',
+ style: style.copyWith(
+ fontSize: 12, color: Color(0xff757575)))),
+ ],
+ ),
+ ),
+ Stack(
+ alignment: AlignmentDirectional.topEnd,
+ children: [
+ Container(),
+ Container(
+ margin: EdgeInsets.only(top: 20, right: 20),
+ child: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-1.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xff81c784)),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ Stack(
+ children: [
+ Container(
+ alignment: AlignmentDirectional.topEnd,
+ margin: EdgeInsets.fromLTRB(0, 10, 15, 0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ padding: EdgeInsets.fromLTRB(40, 10, 10, 10),
+ margin: EdgeInsets.only(bottom: 5, left: 38),
+ decoration: BoxDecoration(
+ color: Color(0xffffffff),
+ borderRadius: BorderRadius.circular(5),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x11000000),
+ offset: Offset(
+ 2.121320343559643, 2.1213203435596424),
+ blurRadius: 21,
+ spreadRadius: 0)
+ ],
+ ),
+ child: Column(
+ children: [
+ Text(
+ 'Sure, I will visit the location in evening. Is that alright for you.',
+ style: style.copyWith(
+ fontSize: 14, color: Color(0xff757575))),
+ ],
+ ),
+ ),
+ Padding(
+ padding: EdgeInsets.only(left: 38),
+ child: Text('03:44 PM',
+ style: style.copyWith(
+ fontSize: 12, color: Color(0xff757575)))),
+ ],
+ ),
+ ),
+ Stack(
+ alignment: AlignmentDirectional.topStart,
+ children: [
+ Container(),
+ Container(
+ margin: EdgeInsets.only(top: 20, left: 20),
+ child: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-2.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xff81c784)),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ ],
+ ),
+ ),
+ ),
+ floatingActionButton: Padding(
+ padding: EdgeInsets.only(left: 30.0),
+ child: Row(
+ children: [
+ Expanded(
+ child: Material(
+ elevation: 1,
+ borderRadius: BorderRadius.circular(20.0),
+ child: Container(
+ child: Row(
+ children: [
+ SizedBox(width: 8.0),
+ Icon(Icons.insert_emoticon,
+ size: 25.0, color: Theme.of(context).hintColor),
+ SizedBox(width: 8.0),
+ Expanded(
+ child: TextField(
+ style:
+ TextStyle(fontSize: 14, color: Color(0xff757575)),
+ textInputAction: TextInputAction.newline,
+ decoration: InputDecoration(
+ hintText: 'Type a message',
+ hintStyle:
+ TextStyle(fontSize: 14, color: Colors.black26),
+ border: InputBorder.none,
+ ),
+ ),
+ ),
+ Icon(Icons.attach_file,
+ size: 25.0, color: Theme.of(context).hintColor),
+ SizedBox(width: 8.0),
+ Icon(Icons.camera_alt,
+ size: 25.0, color: Theme.of(context).hintColor),
+ SizedBox(width: 8.0),
+ ],
+ ),
+ ),
+ ),
+ ),
+ SizedBox(
+ width: 5.0,
+ ),
+ GestureDetector(
+ onTap: () {},
+ child: CircleAvatar(
+ child: Icon(
+ Icons.send,
+ size: 20,
+ ),
+ ),
+ ),
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/chat/chat_list_employer.dart b/lib/src/ui/chat/chat_list_employer.dart
new file mode 100644
index 0000000..c07a6dd
--- /dev/null
+++ b/lib/src/ui/chat/chat_list_employer.dart
@@ -0,0 +1,159 @@
+import 'package:flutter/material.dart';
+import 'package:space/src/ui/chat/chat_employer.dart';
+import 'package:space/src/ui/seeker/layout/seeker_profile_view.dart';
+
+class ChatListEmployer extends StatefulWidget {
+ @override
+ _ChatListEmployerState createState() => _ChatListEmployerState();
+}
+
+class _ChatListEmployerState extends State
+ with SingleTickerProviderStateMixin {
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ body: Container(
+ margin: EdgeInsets.only(top: 20),
+ child: ListView(
+ children: [
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 15, vertical: 10),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Inbox',
+ style: TextStyle(
+ fontSize: 32,
+ fontWeight: FontWeight.bold,
+ color: Color(0xff3b3b3b))),
+ ],
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 10),
+ child: ListTile(
+ leading: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ GestureDetector(
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => SeekerProfileView()));
+ },
+ child: CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-1.png',
+ scale: 3.3,
+ ),
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xff81c784)),
+ ),
+ ],
+ ),
+ title: Text('Mekuru Ramen',
+ style: TextStyle(fontSize: 16, color: Color(0xff757575))),
+ subtitle: Text('Hello, New job offers for you',
+ style: TextStyle(fontSize: 14, color: Color(0xff757575))),
+ trailing: Text('03:57 AM',
+ style: TextStyle(fontSize: 12, color: Color(0xff757575))),
+ onTap: () {
+ Navigator.push(context,
+ MaterialPageRoute(builder: (context) => ChatEmployer()));
+ }),
+ ),
+ Container(
+ height: 30,
+ padding: EdgeInsets.symmetric(horizontal: 17),
+ child: Divider(color: Color(0xffc9c8c8)),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 10),
+ child: ListTile(
+ leading: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-1.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xfffca467)),
+ ),
+ ],
+ ),
+ title: Text('Diamonds Group',
+ style: TextStyle(fontSize: 16, color: Color(0xff757575))),
+ subtitle: Text('Hello, New job offers for you',
+ style: TextStyle(fontSize: 14, color: Color(0xff757575))),
+ trailing: Text('03:57 AM',
+ style: TextStyle(fontSize: 12, color: Color(0xff757575))),
+ ),
+ ),
+ Container(
+ height: 30,
+ padding: EdgeInsets.symmetric(horizontal: 17),
+ child: Divider(color: Color(0xffc9c8c8)),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 10),
+ child: ListTile(
+ leading: Stack(
+ alignment: Alignment(1, -1),
+ children: [
+ CircleAvatar(
+ backgroundColor: Color(0xff757575),
+ radius: 20.0,
+ child: Image.asset(
+ 'assets/img_profile-1.png',
+ scale: 3.3,
+ ),
+ ),
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Colors.white,
+ ),
+ child: Icon(Icons.brightness_1,
+ size: 10, color: Color(0xfffc6767)),
+ ),
+ ],
+ ),
+ title: Text('Pull n Beat',
+ style: TextStyle(fontSize: 16, color: Color(0xff757575))),
+ subtitle: Text('Hello, New job offers for you',
+ style: TextStyle(fontSize: 14, color: Color(0xff757575))),
+ trailing: Text('03:57 AM',
+ style: TextStyle(fontSize: 12, color: Color(0xff757575))),
+ ),
+ ),
+ Container(
+ height: 30,
+ padding: EdgeInsets.symmetric(horizontal: 17),
+ child: Divider(color: Color(0xffc9c8c8)),
+ ),
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/chat/inbox_ui_list.dart b/lib/src/ui/chat/chat_list_seeker.dart
similarity index 96%
rename from lib/src/ui/chat/inbox_ui_list.dart
rename to lib/src/ui/chat/chat_list_seeker.dart
index 52b0874..5223c87 100644
--- a/lib/src/ui/chat/inbox_ui_list.dart
+++ b/lib/src/ui/chat/chat_list_seeker.dart
@@ -1,13 +1,13 @@
import 'package:flutter/material.dart';
-import 'package:space/src/ui/chat/inbox_ui_chat.dart';
+import 'package:space/src/ui/chat/chat_seeker.dart';
import 'package:space/src/ui/seeker/layout/seeker_profile_view.dart';
-class InboxUiList extends StatefulWidget {
+class ChatListSeeker extends StatefulWidget {
@override
- _InboxUiListState createState() => _InboxUiListState();
+ _ChatListSeekerState createState() => _ChatListSeekerState();
}
-class _InboxUiListState extends State
+class _ChatListSeekerState extends State
with SingleTickerProviderStateMixin {
@override
Widget build(BuildContext context) {
@@ -69,7 +69,7 @@ class _InboxUiListState extends State
style: TextStyle(fontSize: 12, color: Color(0xff757575))),
onTap: () {
Navigator.push(context,
- MaterialPageRoute(builder: (context) => InboxUiChat()));
+ MaterialPageRoute(builder: (context) => ChatSeeker()));
}),
),
Container(
diff --git a/lib/src/ui/chat/inbox_ui_chat.dart b/lib/src/ui/chat/chat_seeker.dart
similarity index 99%
rename from lib/src/ui/chat/inbox_ui_chat.dart
rename to lib/src/ui/chat/chat_seeker.dart
index e8e81f2..4af442f 100644
--- a/lib/src/ui/chat/inbox_ui_chat.dart
+++ b/lib/src/ui/chat/chat_seeker.dart
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:feather_icons_flutter/feather_icons_flutter.dart';
-import 'package:space/src/ui/chat/video_ui_calling.dart';
+import 'package:space/src/ui/chat/seeker_calling.dart';
-class InboxUiChat extends StatelessWidget {
+class ChatSeeker extends StatelessWidget {
@override
Widget build(BuildContext context) {
TextStyle style = TextStyle(fontFamily: 'VarelaRound', fontSize: 20.0);
@@ -61,7 +61,7 @@ class InboxUiChat extends StatelessWidget {
context,
MaterialPageRoute(
builder: (context) =>
- Calling()));
+ SeekerCalling()));
},
),
],
diff --git a/lib/src/ui/chat/employer_calling.dart b/lib/src/ui/chat/employer_calling.dart
new file mode 100644
index 0000000..9d1f00c
--- /dev/null
+++ b/lib/src/ui/chat/employer_calling.dart
@@ -0,0 +1,98 @@
+import 'package:flutter/material.dart';
+import 'package:space/src/ui/chat/ongoing_call_employer.dart';
+import 'package:space/src/ui/chat/video_ui_incoming.dart';
+
+class EmployerCalling extends StatefulWidget {
+ const EmployerCalling({Key key, String title}) : super(key: key);
+ @override
+ _EmployerCallingState createState() => _EmployerCallingState();
+}
+
+class _EmployerCallingState extends State with SingleTickerProviderStateMixin {
+ TextStyle style =
+ TextStyle(fontFamily: 'VarelaRound', fontSize: 18.0, color: Colors.white);
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ actions: [
+ RaisedButton(
+ child: Text('In Coming Call'),
+ onPressed: () {
+ Navigator.push(context,
+ MaterialPageRoute(builder: (context) => IncomingCall()));
+ },
+ ),
+ RaisedButton(
+ child: Text('On Going Call'),
+ onPressed: () {
+ Navigator.push(context,
+ MaterialPageRoute(builder: (context) => OnCallingEMployer()));
+ },
+ ),
+ ],
+ ),
+ body: Container(
+ width: MediaQuery.of(context).size.width,
+ height: MediaQuery.of(context).size.height,
+ decoration: BoxDecoration(
+ image: DecorationImage(
+ image: AssetImage('assets/background-2.png'),
+ colorFilter: new ColorFilter.mode(
+ Colors.black.withOpacity(0.7), BlendMode.multiply),
+ fit: BoxFit.cover),
+ ),
+ child: Container(
+ margin: EdgeInsets.only(top: 80, bottom: 60),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ Column(
+ children: [
+ CircleAvatar(
+ backgroundColor: Colors.white,
+ radius: 60,
+ child:
+ Image.asset('assets/mekuru_2.png', fit: BoxFit.cover),
+ ),
+ SizedBox(height: 20),
+ Text('Mekuru Ramen', style: style.copyWith(fontSize: 20)),
+ SizedBox(height: 20),
+ Text('contacting...', style: style.copyWith(fontSize: 16)),
+ ],
+ ),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ children: [
+ MaterialButton(
+ padding: EdgeInsets.all(20),
+ onPressed: () {},
+ child: Icon(Icons.mic_off, color: Colors.white, size: 30),
+ color: Colors.transparent,
+ shape:
+ CircleBorder(side: BorderSide(color: Colors.white))),
+ MaterialButton(
+ padding: EdgeInsets.all(20),
+ onPressed: () {},
+ child:
+ Icon(Icons.call_end, color: Colors.white, size: 30),
+ color: Color(0xfffd2e61),
+ shape: CircleBorder()),
+ MaterialButton(
+ padding: EdgeInsets.all(20),
+ onPressed: () {},
+ child:
+ Icon(Icons.volume_up, color: Colors.white, size: 30),
+ color: Colors.transparent,
+ shape:
+ CircleBorder(side: BorderSide(color: Colors.white))),
+ ],
+ ),
+ ],
+ ),
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/chat/ongoing_call_employer.dart b/lib/src/ui/chat/ongoing_call_employer.dart
new file mode 100644
index 0000000..1c170a4
--- /dev/null
+++ b/lib/src/ui/chat/ongoing_call_employer.dart
@@ -0,0 +1,69 @@
+import 'package:flutter/material.dart';
+
+class OnCallingEMployer extends StatefulWidget {
+ @override
+ _OnCallingEMployerState createState() => _OnCallingEMployerState();
+}
+
+class _OnCallingEMployerState extends State
+ with SingleTickerProviderStateMixin {
+ TextStyle style =
+ TextStyle(fontFamily: 'VarelaRound', fontSize: 24.0, color: Colors.white);
+
+ @override
+ Widget build(BuildContext context) {
+ return new Scaffold(
+ body: Container(
+ padding: EdgeInsets.only(bottom: 30, left: 30),
+ width: MediaQuery.of(context).size.width,
+ height: MediaQuery.of(context).size.height,
+ decoration: BoxDecoration(
+ image: DecorationImage(
+ image: AssetImage('assets/background-2.png'), fit: BoxFit.cover),
+ ),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.end,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ MaterialButton(
+ padding: EdgeInsets.all(10),
+ onPressed: () {},
+ child: Icon(Icons.mic_off, color: Colors.white, size: 35),
+ color: Colors.transparent,
+ shape: CircleBorder(side: BorderSide(color: Colors.white))),
+ SizedBox(
+ height: 10,
+ ),
+ MaterialButton(
+ padding: EdgeInsets.all(10),
+ onPressed: () {
+ Navigator.popAndPushNamed(
+ context,
+ '/employer-interview');
+ },
+ child: Icon(Icons.call_end, color: Colors.white, size: 35),
+ color: Color(0xfffd2e61),
+ shape: CircleBorder()),
+ SizedBox(
+ height: 10,
+ ),
+ MaterialButton(
+ padding: EdgeInsets.all(10),
+ onPressed: () {},
+ child: Icon(Icons.volume_up, color: Colors.white, size: 35),
+ color: Colors.transparent,
+ shape: CircleBorder(side: BorderSide(color: Colors.white))),
+ SizedBox(
+ height: 10,
+ ),
+ Container(
+ height: 200,
+ width: 140,
+ child: Image.asset('assets/ketapang.png', fit: BoxFit.cover),
+ )
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/chat/ongoing_call_seeker.dart b/lib/src/ui/chat/ongoing_call_seeker.dart
new file mode 100644
index 0000000..0b69069
--- /dev/null
+++ b/lib/src/ui/chat/ongoing_call_seeker.dart
@@ -0,0 +1,69 @@
+import 'package:flutter/material.dart';
+
+class OnCallingSeeker extends StatefulWidget {
+ @override
+ _OnCallingSeekerState createState() => _OnCallingSeekerState();
+}
+
+class _OnCallingSeekerState extends State
+ with SingleTickerProviderStateMixin {
+ TextStyle style =
+ TextStyle(fontFamily: 'VarelaRound', fontSize: 24.0, color: Colors.white);
+
+ @override
+ Widget build(BuildContext context) {
+ return new Scaffold(
+ body: Container(
+ padding: EdgeInsets.only(bottom: 30, left: 30),
+ width: MediaQuery.of(context).size.width,
+ height: MediaQuery.of(context).size.height,
+ decoration: BoxDecoration(
+ image: DecorationImage(
+ image: AssetImage('assets/background-2.png'), fit: BoxFit.cover),
+ ),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.end,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ MaterialButton(
+ padding: EdgeInsets.all(10),
+ onPressed: () {},
+ child: Icon(Icons.mic_off, color: Colors.white, size: 35),
+ color: Colors.transparent,
+ shape: CircleBorder(side: BorderSide(color: Colors.white))),
+ SizedBox(
+ height: 10,
+ ),
+ MaterialButton(
+ padding: EdgeInsets.all(10),
+ onPressed: () {
+ Navigator.popAndPushNamed(
+ context,
+ '/seeker-interview');
+ },
+ child: Icon(Icons.call_end, color: Colors.white, size: 35),
+ color: Color(0xfffd2e61),
+ shape: CircleBorder()),
+ SizedBox(
+ height: 10,
+ ),
+ MaterialButton(
+ padding: EdgeInsets.all(10),
+ onPressed: () {},
+ child: Icon(Icons.volume_up, color: Colors.white, size: 35),
+ color: Colors.transparent,
+ shape: CircleBorder(side: BorderSide(color: Colors.white))),
+ SizedBox(
+ height: 10,
+ ),
+ Container(
+ height: 200,
+ width: 140,
+ child: Image.asset('assets/ketapang.png', fit: BoxFit.cover),
+ )
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/chat/video_ui_calling.dart b/lib/src/ui/chat/seeker_calling.dart
similarity index 88%
rename from lib/src/ui/chat/video_ui_calling.dart
rename to lib/src/ui/chat/seeker_calling.dart
index 096d53b..804b2ea 100644
--- a/lib/src/ui/chat/video_ui_calling.dart
+++ b/lib/src/ui/chat/seeker_calling.dart
@@ -1,14 +1,14 @@
import 'package:flutter/material.dart';
-import 'package:space/src/ui/chat/video_ongoing_call.dart';
+import 'package:space/src/ui/chat/ongoing_call_employer.dart';
+import 'package:space/src/ui/chat/ongoing_call_seeker.dart';
import 'package:space/src/ui/chat/video_ui_incoming.dart';
-class Calling extends StatefulWidget {
- const Calling({Key key, String title}) : super(key: key);
+class SeekerCalling extends StatefulWidget {
@override
- _CallingState createState() => _CallingState();
+ _SeekerCallingState createState() => _SeekerCallingState();
}
-class _CallingState extends State with SingleTickerProviderStateMixin {
+class _SeekerCallingState extends State with SingleTickerProviderStateMixin {
TextStyle style =
TextStyle(fontFamily: 'VarelaRound', fontSize: 18.0, color: Colors.white);
@@ -28,7 +28,7 @@ class _CallingState extends State with SingleTickerProviderStateMixin {
child: Text('On Going Call'),
onPressed: () {
Navigator.push(context,
- MaterialPageRoute(builder: (context) => Oncalling()));
+ MaterialPageRoute(builder: (context) => OnCallingSeeker()));
},
),
],
diff --git a/lib/src/ui/chat/video_ongoing_call.dart b/lib/src/ui/chat/video_ongoing_call.dart
deleted file mode 100644
index 3862c3b..0000000
--- a/lib/src/ui/chat/video_ongoing_call.dart
+++ /dev/null
@@ -1,78 +0,0 @@
-import 'package:flutter/material.dart';
-
-class Oncalling extends StatefulWidget {
- const Oncalling({ Key key, String title }) : super(key: key);
- @override
- _OncallingState createState() => _OncallingState();
-}
-
-class _OncallingState extends State with SingleTickerProviderStateMixin {
-
- TextStyle style = TextStyle(fontFamily: 'VarelaRound', fontSize: 24.0, color: Colors.white);
-
- @override
- Widget build(BuildContext context) {
-
- return new Scaffold(
- body: Container(
- padding: EdgeInsets.only(bottom: 30, left: 30),
- width: MediaQuery.of(context).size.width,
- height: MediaQuery.of(context).size.height,
- decoration: BoxDecoration(
- image: DecorationImage(
- image: AssetImage('assets/background-2.png'),
- fit: BoxFit.cover
- ),
- ),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.end,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- MaterialButton(
- padding: EdgeInsets.all(10),
- onPressed: (){},
- child: Icon(Icons.mic_off, color: Colors.white, size: 35),
- color: Colors.transparent,
- shape: CircleBorder(side: BorderSide(color: Colors.white))
- ),
- SizedBox(
- height: 10,
- ),
- MaterialButton(
- padding: EdgeInsets.all(10),
- onPressed: (){},
- child: Icon(Icons.call_end, color: Colors.white, size: 35),
- color: Color(0xfffd2e61),
- shape: CircleBorder()
- ),
- SizedBox(
- height: 10,
- ),
- MaterialButton(
- padding: EdgeInsets.all(10),
- onPressed: (){},
- child: Icon(Icons.volume_up, color: Colors.white, size: 35),
- color: Colors.transparent,
- shape: CircleBorder(side: BorderSide(color: Colors.white))
- ),
- SizedBox(
- height: 10,
- ),
- Container(
- height: 200,
- width: 140,
- child: Image.asset('assets/ketapang.png', fit: BoxFit.cover),
- )
- ],),
-
-
-
-
-
-
- ),
-
-
- );
- }
-}
\ No newline at end of file
diff --git a/lib/src/ui/components/category_job.dart b/lib/src/ui/components/category_job.dart
index e06bc97..5f0011a 100644
--- a/lib/src/ui/components/category_job.dart
+++ b/lib/src/ui/components/category_job.dart
@@ -3,7 +3,6 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:space/src/ui/components/category_list_screen.dart';
import 'package:space/src/ui/components/category_post_screen.dart';
-import 'package:space/src/ui/seeker/screens/jobs_list_screen.dart';
class CategoryJob extends StatelessWidget {
@override
@@ -29,7 +28,8 @@ class CategoryJob extends StatelessWidget {
borderRadius: new BorderRadius.circular(10),
child: SvgPicture.asset(
'assets/f&b.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
),
@@ -80,7 +80,8 @@ class CategoryJob extends StatelessWidget {
borderRadius: new BorderRadius.circular(10),
child: SvgPicture.asset(
'assets/Fashion.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
),
@@ -131,7 +132,8 @@ class CategoryJob extends StatelessWidget {
borderRadius: new BorderRadius.circular(10),
child: SvgPicture.asset(
'assets/market-2.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
),
@@ -182,7 +184,8 @@ class CategoryJob extends StatelessWidget {
borderRadius: new BorderRadius.circular(10),
child: SvgPicture.asset(
'assets/Corporate.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
),
@@ -233,7 +236,8 @@ class CategoryJob extends StatelessWidget {
borderRadius: new BorderRadius.circular(10),
child: SvgPicture.asset(
'assets/others.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
),
diff --git a/lib/src/ui/components/category_job_screen.dart b/lib/src/ui/components/category_job_screen.dart
index 1c9478c..609983c 100644
--- a/lib/src/ui/components/category_job_screen.dart
+++ b/lib/src/ui/components/category_job_screen.dart
@@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
-import 'package:provider/provider.dart';
import 'package:space/src/ui/components/category_job.dart';
diff --git a/lib/src/ui/components/category_list.dart b/lib/src/ui/components/category_list.dart
index 7eaacb4..60ca4db 100644
--- a/lib/src/ui/components/category_list.dart
+++ b/lib/src/ui/components/category_list.dart
@@ -1,9 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
-import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
-import 'package:space/src/ui/components/category_list_screen.dart';
import 'package:space/src/ui/components/category_post_screen.dart';
-import 'package:space/src/ui/seeker/screens/jobs_list_screen.dart';
class CategoryList extends StatelessWidget {
@override
@@ -25,7 +22,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/f&b.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -63,7 +61,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/Startup.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -101,7 +100,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/Corporate.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -139,7 +139,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/market-2.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -177,7 +178,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/Goverment.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -215,7 +217,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/IT.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -253,7 +256,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/market.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -291,7 +295,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/Fashion.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -329,7 +334,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/Transport.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
@@ -367,7 +373,8 @@ class CategoryList extends StatelessWidget {
height: 100,
child: SvgPicture.asset(
'assets/DKV.svg',
- fit: BoxFit.fill,
+ fit: BoxFit.cover,
+ alignment: Alignment.bottomCenter,
),
),
Column(
diff --git a/lib/src/ui/components/category_list_screen.dart b/lib/src/ui/components/category_list_screen.dart
index 52955ff..ec06574 100644
--- a/lib/src/ui/components/category_list_screen.dart
+++ b/lib/src/ui/components/category_list_screen.dart
@@ -1,9 +1,6 @@
import 'package:flutter/material.dart';
-import 'package:gradient_app_bar/gradient_app_bar.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/ui/components/category_job.dart';
import 'package:space/src/ui/components/category_list.dart';
class CategoryListScreen extends StatefulWidget {
diff --git a/lib/src/ui/components/category_post_screen.dart b/lib/src/ui/components/category_post_screen.dart
index 0bd8141..eec84f2 100644
--- a/lib/src/ui/components/category_post_screen.dart
+++ b/lib/src/ui/components/category_post_screen.dart
@@ -1,9 +1,6 @@
import 'package:flutter/material.dart';
-import 'package:gradient_app_bar/gradient_app_bar.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/core/models/jobs.dart';
import 'package:space/src/ui/seeker/layout/job_list.dart';
class CategoryPostScreen extends StatefulWidget {
@@ -15,8 +12,8 @@ class _CategoryPostScreenState extends State {
@override
Widget build(BuildContext context) {
- final jobData = Provider.of(context);
- final jobs = jobData.posts;
+ // final jobData = Provider.of(context);
+ // final jobs = jobData.posts;
return Scaffold(
backgroundColor: Colors.white,
appBar: PreferredSize(
@@ -43,16 +40,9 @@ class _CategoryPostScreenState extends State {
child: CircularProgressIndicator(),
)
: ListView.builder(
- itemCount: jobs.length,
- itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
+ itemBuilder: (ctx, i) => (
// builder: (c) => jobs[i],
- value: jobs[i],
- child: JobsList(
- // jobs[i].id,
- // jobs[i].title,
- // jobs[i].imageUrl,
- ),
- ),
+ JobsList()),
),
);
}
diff --git a/lib/src/ui/components/horizontal_list.dart b/lib/src/ui/components/horizontal_list.dart
index a00afc1..3378f3d 100644
--- a/lib/src/ui/components/horizontal_list.dart
+++ b/lib/src/ui/components/horizontal_list.dart
@@ -1,80 +1,310 @@
import 'package:flutter/material.dart';
import 'package:flutter_money_formatter/flutter_money_formatter.dart';
-import 'package:flutter_svg/flutter_svg.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/core/models/job.dart';
-import 'package:space/src/ui/seeker/layout/job_details.dart';
class RecommendedJob extends StatelessWidget {
@override
Widget build(BuildContext context) {
- final job = Provider.of(context, listen: false);
- return GestureDetector(
- onTap: () {
- Navigator.of(context)
- .pushNamed(JobDetails.routeName, arguments: job.id);
- },
- child: Container(
- width: 120,
- height: 60,
- margin: EdgeInsets.symmetric(horizontal: 5, vertical: 5),
- child: Material(
- elevation: 3,
- shape:
- RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
- child: Column(
- children: [
- Container(
- height: 60,
- child: ClipRRect(
- borderRadius: new BorderRadius.only(topLeft: Radius.circular(10), topRight: Radius.circular(10)),
- child: SvgPicture.asset(
- 'assets/ketapang.svg',
- fit: BoxFit.cover,
+ // final job = Provider.of(context, listen: false);
+ return Row(
+ children: [
+ GestureDetector(
+ // onTap: () {
+ // Navigator.of(context)
+ // .pushNamed(JobDetails.routeName, arguments: job.id);
+ // },
+ child: Container(
+ width: 120,
+ margin: EdgeInsets.symmetric(horizontal: 5, vertical: 5),
+ child: Material(
+ elevation: 3,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(10)),
+ child: Column(
+ children: [
+ Container(
+ height: 60,
+ child: ClipRRect(
+ borderRadius: new BorderRadius.only(
+ topLeft: Radius.circular(10),
+ topRight: Radius.circular(10)),
+ child: Image.asset(
+ 'assets/ketapang.png',
+ width: 120,
+ fit: BoxFit.cover,
+ ),
),
),
- ),
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 4),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.start,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(job.employerName,
- style: TextStyle(
- fontSize: 12,
- fontWeight: FontWeight.bold,
- height: 2)),
- Text(job.title,
- style: TextStyle(
- fontSize: 10,
- fontWeight: FontWeight.bold,
- )),
- Row(
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 4),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.start,
children: [
- Text('Salary: ', style: TextStyle(fontSize: 8)),
- Text(
- FlutterMoneyFormatter(
- amount: job.salary,
- settings: MoneyFormatterSettings(
- symbol: 'Rp',
- thousandSeparator: '.',
- fractionDigits: 0))
- .output
- .symbolOnLeft,
- style: TextStyle(fontSize: 8)),
+ Text('Mekuru Ramen',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 12,
+ fontWeight: FontWeight.bold,
+ height: 2)),
+ Text('Assistant Chef',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 10,
+ fontWeight: FontWeight.bold,
+ )),
+ Row(
+ children: [
+ Text('Salary: ', style: TextStyle(fontSize: 8)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 5000000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ maxLines: 1,
+ style: TextStyle(fontSize: 8)),
+ Text(' / M', style: TextStyle(fontSize: 8)),
+ ],
+ ),
+ Text('Tuesday - Sunday',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
+ Text('08.00 - 21.30',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
],
),
- Text(job.workingday, style: TextStyle(fontSize: 8)),
- Text(job.workinghour, style: TextStyle(fontSize: 8)),
- ],
- ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ ),
+ GestureDetector(
+ // onTap: () {
+ // Navigator.of(context)
+ // .pushNamed(JobDetails.routeName, arguments: job.id);
+ // },
+ child: Container(
+ width: 120,
+ margin: EdgeInsets.symmetric(horizontal: 5, vertical: 5),
+ child: Material(
+ elevation: 3,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(10)),
+ child: Column(
+ children: [
+ Container(
+ height: 60,
+ child: ClipRRect(
+ borderRadius: new BorderRadius.only(
+ topLeft: Radius.circular(10),
+ topRight: Radius.circular(10)),
+ child: Image.asset(
+ 'assets/up2u.png',
+ width: 120,
+ fit: BoxFit.cover,
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 4),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Up2u',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 12,
+ fontWeight: FontWeight.bold,
+ height: 2)),
+ Text('Cleaning Service',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 10,
+ fontWeight: FontWeight.bold,
+ )),
+ Row(
+ children: [
+ Text('Salary: ', style: TextStyle(fontSize: 8)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 80000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ maxLines: 1,
+ style: TextStyle(fontSize: 8)),
+ Text(' / D', style: TextStyle(fontSize: 8)),
+ ],
+ ),
+ Text('Weekend',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
+ Text('08.00 - 21.30',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ ),
+ GestureDetector(
+ // onTap: () {
+ // Navigator.of(context)
+ // .pushNamed(JobDetails.routeName, arguments: job.id);
+ // },
+ child: Container(
+ width: 120,
+ margin: EdgeInsets.symmetric(horizontal: 5, vertical: 5),
+ child: Material(
+ elevation: 3,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(10)),
+ child: Column(
+ children: [
+ Container(
+ height: 60,
+ child: ClipRRect(
+ borderRadius: new BorderRadius.only(
+ topLeft: Radius.circular(10),
+ topRight: Radius.circular(10)),
+ child: Image.asset(
+ 'assets/ketapang.png',
+ fit: BoxFit.cover,
+ width: 120,
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 4),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Mekuru Ramen',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 12,
+ fontWeight: FontWeight.bold,
+ height: 2)),
+ Text('Head Chef',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 10,
+ fontWeight: FontWeight.bold,
+ )),
+ Row(
+ children: [
+ Text('Salary: ', style: TextStyle(fontSize: 8)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 5000000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ maxLines: 1,
+ style: TextStyle(fontSize: 8)),
+ Text(' / M', style: TextStyle(fontSize: 8)),
+ ],
+ ),
+ Text('Tuesday - Sunday',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
+ Text('08.00 - 21.30',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ ),
+ GestureDetector(
+ // onTap: () {
+ // Navigator.of(context)
+ // .pushNamed(JobDetails.routeName, arguments: job.id);
+ // },
+ child: Container(
+ width: 120,
+ margin: EdgeInsets.symmetric(horizontal: 5, vertical: 5),
+ child: Material(
+ elevation: 3,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(10)),
+ child: Column(
+ children: [
+ Container(
+ height: 60,
+ child: ClipRRect(
+ borderRadius: new BorderRadius.only(
+ topLeft: Radius.circular(10),
+ topRight: Radius.circular(10)),
+ child: Image.asset(
+ 'assets/IT.png',
+ width: 120,
+ fit: BoxFit.cover,
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 4),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('PT.CCTV INDONESIA',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 12,
+ fontWeight: FontWeight.bold,
+ height: 2)),
+ Text('CCTV Installer',
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: 10,
+ fontWeight: FontWeight.bold,
+ )),
+ Row(
+ children: [
+ Text('Salary: ', style: TextStyle(fontSize: 8)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 20000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ maxLines: 1,
+ style: TextStyle(fontSize: 8)),
+ Text(' / H', style: TextStyle(fontSize: 8)),
+ ],
+ ),
+ Text('Freelance',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
+ Text('08.00 - 21.30',
+ maxLines: 1, style: TextStyle(fontSize: 8)),
+ ],
+ ),
+ ),
+ ],
),
- ],
+ ),
),
),
- ),
+ ],
);
}
}
diff --git a/lib/src/ui/components/horizontal_screen.dart b/lib/src/ui/components/horizontal_screen.dart
index 59dcdb1..3918cde 100644
--- a/lib/src/ui/components/horizontal_screen.dart
+++ b/lib/src/ui/components/horizontal_screen.dart
@@ -1,7 +1,5 @@
import 'package:flutter/material.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/core/models/jobs.dart';
import 'package:space/src/ui/components/horizontal_list.dart';
class RecommendedScreen extends StatefulWidget {
@@ -30,8 +28,8 @@ class _RecommendedScreenState extends State {
@override
Widget build(BuildContext context) {
- final jobData = Provider.of(context);
- final jobs = jobData.posts;
+ // final jobData = Provider.of(context);
+ // final jobs = jobData.posts;
return Scaffold(
backgroundColor: Colors.transparent,
body: _isLoading
@@ -41,16 +39,7 @@ class _RecommendedScreenState extends State {
: ListView.builder(
padding: EdgeInsets.symmetric(horizontal: 5),
scrollDirection: Axis.horizontal,
- itemCount: jobs.length,
- itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
- // builder: (c) => jobs[i],
- value: jobs[i],
- child: RecommendedJob(
- // jobs[i].id,
- // jobs[i].title,
- // jobs[i].imageUrl,
- ),
- ),
+ itemBuilder: (ctx, i) => (RecommendedJob()),
),
);
}
diff --git a/lib/src/ui/components/recommended_job.dart b/lib/src/ui/components/near_job.dart
similarity index 72%
rename from lib/src/ui/components/recommended_job.dart
rename to lib/src/ui/components/near_job.dart
index d1c3466..5b108d2 100644
--- a/lib/src/ui/components/recommended_job.dart
+++ b/lib/src/ui/components/near_job.dart
@@ -1,27 +1,23 @@
import 'package:feather_icons_flutter/feather_icons_flutter.dart';
import 'package:flutter/material.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/core/models/job.dart';
-import 'package:space/src/ui/seeker/layout/job_details.dart';
-
-class RecentJob extends StatelessWidget {
+class NearJob extends StatelessWidget {
@override
Widget build(BuildContext context) {
- final job = Provider.of(context, listen: false);
+ // final job = Provider.of(context, listen: false);
return Container(
padding: EdgeInsets.symmetric(horizontal: 10),
child: Card(
elevation: 3,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
child: ListTile(
- onTap: () {
- Navigator.of(context)
- .pushNamed(JobDetails.routeName, arguments: job.id);
- },
+ // onTap: () {
+ // Navigator.of(context)
+ // .pushNamed(JobDetails.routeName, arguments: job.id);
+ // },
leading: SizedBox(
height: 40,
- child: Image.network(job.imageUrl, fit: BoxFit.cover),
+ child: Image.asset('assets/mekuru.png', fit: BoxFit.cover),
),
title: Container(
padding: EdgeInsets.only(bottom: 10),
@@ -31,14 +27,15 @@ class RecentJob extends StatelessWidget {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Text(job.title, style: TextStyle(fontSize: 18, height: 2)),
+ Text(('Head Chef'),
+ style: TextStyle(fontSize: 18, height: 2)),
Text('1w',
style:
TextStyle(fontSize: 10, color: Color(0xffc9c8c8))),
],
),
Text(
- 'job.employerName',
+ 'Mekuru Ramen',
style: TextStyle(
fontSize: 12, color: Color(0xff5f5f5f), height: 1),
),
@@ -48,7 +45,7 @@ class RecentJob extends StatelessWidget {
padding: EdgeInsets.only(top: 1),
child: Icon(FeatherIcons.mapPin,
size: 11, color: Color(0xff8997a7))),
- Text(job.location,
+ Text('Pontianak, West Borneo',
style: TextStyle(
fontSize: 10,
color: Color(0xff5f5f5f),
diff --git a/lib/src/ui/components/recommended_screen.dart b/lib/src/ui/components/near_job_screen.dart
similarity index 54%
rename from lib/src/ui/components/recommended_screen.dart
rename to lib/src/ui/components/near_job_screen.dart
index e8bc986..93bb27c 100644
--- a/lib/src/ui/components/recommended_screen.dart
+++ b/lib/src/ui/components/near_job_screen.dart
@@ -1,15 +1,12 @@
import 'package:flutter/material.dart';
-import 'package:provider/provider.dart';
+import 'package:space/src/ui/components/near_job.dart';
-import 'package:space/src/core/models/jobs.dart';
-import 'package:space/src/ui/components/recommended_job.dart';
+class NearJobScreen extends StatefulWidget {
-class RecentScreen extends StatefulWidget {
-
- _RecentScreenState createState() => _RecentScreenState();
+ _NearJobScreenState createState() => _NearJobScreenState();
}
-class _RecentScreenState extends State {
+class _NearJobScreenState extends State {
// var _isInit = true;
var _isLoading = false;
@@ -32,8 +29,8 @@ class _RecentScreenState extends State {
@override
Widget build(BuildContext context) {
- final jobData = Provider.of(context);
- final jobs = jobData.posts;
+ // final jobData = Provider.of(context);
+ // final jobs = jobData.posts;
return Scaffold(
backgroundColor: Colors.transparent,
body: _isLoading
@@ -43,15 +40,9 @@ class _RecentScreenState extends State {
: ListView.builder(
controller: ScrollController(initialScrollOffset: 0),
itemCount: 2,
- itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
- // builder: (c) => jobs[i],
- value: jobs[i],
- child: RecentJob(
- // jobs[i].id,
- // jobs[i].title,
- // jobs[i].imageUrl,
- ),
- ),
+ itemBuilder: (ctx, i) => (
+ NearJob()
+ ),
),
);
diff --git a/lib/src/ui/components/notification.dart b/lib/src/ui/components/notification.dart
index b46b940..f7e9db6 100644
--- a/lib/src/ui/components/notification.dart
+++ b/lib/src/ui/components/notification.dart
@@ -2,8 +2,6 @@ import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
-import 'package:space/src/ui/employer/layout/employer_app_bar.dart';
-import 'package:space/src/ui/employer/layout/employer_edit_post.dart';
class NotificationUi extends StatelessWidget {
@override
diff --git a/lib/src/ui/components/otp_employer.dart b/lib/src/ui/components/otp_employer.dart
index a4d2792..95a6c40 100644
--- a/lib/src/ui/components/otp_employer.dart
+++ b/lib/src/ui/components/otp_employer.dart
@@ -1,6 +1,4 @@
import 'package:flutter/material.dart';
-import 'package:space/src/ui/auth/employer/intro_employer.dart';
-import 'package:space/src/ui/auth/seeker/intro_seeker.dart';
import 'package:space/src/ui/components/verify_otp_employer.dart';
class OTPEmployer extends StatelessWidget {
diff --git a/lib/src/ui/components/otp_seeker.dart b/lib/src/ui/components/otp_seeker.dart
index 92fcd22..83af66d 100644
--- a/lib/src/ui/components/otp_seeker.dart
+++ b/lib/src/ui/components/otp_seeker.dart
@@ -1,6 +1,4 @@
import 'package:flutter/material.dart';
-import 'package:space/src/ui/auth/employer/intro_employer.dart';
-import 'package:space/src/ui/auth/seeker/intro_seeker.dart';
import 'package:space/src/ui/components/verify_otp_seeker.dart';
class OTPSeeker extends StatelessWidget {
@@ -18,7 +16,7 @@ class OTPSeeker extends StatelessWidget {
alignment: Alignment(0, 1),
children: [
Container(
- margin: EdgeInsets.symmetric(horizontal: 130,vertical: 75),
+ margin: EdgeInsets.symmetric(horizontal: 130, vertical: 75),
height: 30,
decoration: BoxDecoration(
color: Color.fromARGB(255, 255, 248, 205),
@@ -169,12 +167,11 @@ class OTPSeeker extends StatelessWidget {
),
Text('Enter your mobile number',
style: TextStyle(
- color: Colors.redAccent, fontSize: 18, height: 9)),
+ color: Colors.redAccent, fontSize: 18, height: 6)),
Text('You will get a OTP message',
style: TextStyle(
color: Colors.white, fontSize: 14, height: 0.3)),
Container(
- margin: EdgeInsets.symmetric(vertical: 20),
padding: const EdgeInsets.symmetric(horizontal: 60),
child: TextFormField(
decoration: InputDecoration(
diff --git a/lib/src/ui/components/verify_otp_seeker.dart b/lib/src/ui/components/verify_otp_seeker.dart
index ce7b3f9..7c30419 100644
--- a/lib/src/ui/components/verify_otp_seeker.dart
+++ b/lib/src/ui/components/verify_otp_seeker.dart
@@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
-import 'package:space/src/ui/auth/employer/intro_employer.dart';
import 'package:space/src/ui/auth/seeker/intro_seeker.dart';
class VerifySeeker extends StatelessWidget {
diff --git a/lib/src/ui/employer/layout/applicants_list.dart b/lib/src/ui/employer/layout/applicants_list.dart
new file mode 100644
index 0000000..5ec1fa6
--- /dev/null
+++ b/lib/src/ui/employer/layout/applicants_list.dart
@@ -0,0 +1,106 @@
+
+import 'package:feather_icons_flutter/feather_icons_flutter.dart';
+import 'package:flutter/material.dart';
+import 'package:space/src/ui/seeker/layout/seeker_profile_view.dart';
+
+class ApplicantsList extends StatelessWidget {
+ @override
+ Widget build(BuildContext context) {
+ return Container(
+ padding: EdgeInsets.only(bottom: 10),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(0),
+ color: Colors.white,
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff0c0c0c0),
+ blurRadius: 1.5,
+ offset: Offset(1.0, 1.0))
+ ],
+ ),
+ child: Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(builder: (context) => SeekerProfileView()),
+ );
+ },
+ leading: Column(
+ children: [
+ CircleAvatar(
+ backgroundImage: AssetImage('assets/img_profile-2.png'),
+ backgroundColor: Colors.blue,
+ radius: 28,
+ ),
+ ],
+ ),
+ title: Container(
+ height: 60,
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('James Cahyadi',
+ style: TextStyle(fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Male, 30 years old',
+ style: TextStyle(fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Education: High School',
+ style: TextStyle(fontSize: 12, color: Color(0xff3b3b3b))),
+ ],
+ ),
+ ),
+ subtitle: Container(
+ height: 30,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ RichText(
+ text: TextSpan(children: [
+ TextSpan(
+ text: "Exp: ",
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff8997a7),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ TextSpan(
+ text: '2 years as Barista',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff3b3b3b),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ ])),
+ Row(
+ children: [
+ Icon(FeatherIcons.mapPin,
+ size: 10, color: Color(0xff8997a7)),
+ Text(' Pontianak, West Borneo',
+ style:
+ TextStyle(fontSize: 12, color: Color(0xff8997a7)))
+ ],
+ ),
+ ],
+ ),
+ ),
+ trailing: RaisedButton.icon(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30.0)),
+ color: Color(0xff22c0e8),
+ onPressed: () {},
+ icon: Icon(FeatherIcons.messageCircle, color: Colors.white),
+ label: Text('Chat',
+ style: TextStyle(color: Colors.white, fontSize: 14))),
+ ),
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/employer/layout/employer_app_bar.dart b/lib/src/ui/employer/layout/employer_app_bar.dart
index 2f9d6de..f19cf6c 100644
--- a/lib/src/ui/employer/layout/employer_app_bar.dart
+++ b/lib/src/ui/employer/layout/employer_app_bar.dart
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
+import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:space/src/ui/employer/layout/employer_edit_post.dart';
class EmployerAppBar extends StatelessWidget {
@@ -23,13 +24,31 @@ class EmployerAppBar extends StatelessWidget {
height: 60,
),
actions: [
- IconButton(
- icon: Icon(Icons.add),
- onPressed: () {
+ GestureDetector(
+ onTap: () {
Navigator.of(context).pushNamed(
EditPost.routeName,
);
},
+ child: Padding(
+ padding: const EdgeInsets.only(right: 10),
+ child: Row(
+ children: [
+ Icon(
+ MdiIcons.plusBoxMultipleOutline,
+ size: 22,
+ color: Colors.grey[800],
+ ),
+ Text(
+ 'Job',
+ style: TextStyle(
+ fontSize: 15,
+ fontWeight: FontWeight.bold,
+ color: Colors.grey[800]),
+ )
+ ],
+ ),
+ ),
),
],
bottom: TabBar(
diff --git a/lib/src/ui/employer/layout/employer_edit_post.dart b/lib/src/ui/employer/layout/employer_edit_post.dart
index 087e510..202e031 100644
--- a/lib/src/ui/employer/layout/employer_edit_post.dart
+++ b/lib/src/ui/employer/layout/employer_edit_post.dart
@@ -1,7 +1,4 @@
import 'package:flutter/material.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/core/models/job.dart';
-import 'package:space/src/core/models/jobs.dart';
class EditPost extends StatefulWidget {
static const routeName = '/edit-post';
@@ -18,21 +15,21 @@ class _EditPostState extends State {
final _skillFocusNode = FocusNode();
final _salaryFocusNode = FocusNode();
final _form = GlobalKey();
- var _editJob = Job(
- id: null,
- title: '',
- salary: 0,
- description: '',
- type: '',
- workingday: '',
- workinghour: '',
- skill: '',
- education: '',
- industry: '',
- location: '',
- typeSalary: '',
- gender: '',
- );
+ // var _editJob = Job(
+ // id: null,
+ // title: '',
+ // salary: 0,
+ // description: '',
+ // type: '',
+ // workingday: '',
+ // workinghour: '',
+ // skill: '',
+ // education: '',
+ // industry: '',
+ // location: '',
+ // typeSalary: '',
+ // gender: '',
+ // );
var _initValues = {
'title': '',
'salary': '',
@@ -225,23 +222,23 @@ class _EditPostState extends State {
}
return null;
},
- onSaved: (value) {
- _editJob = Job(
- title: value,
- salary: _editJob.salary,
- description: _editJob.description,
- gender: _editJob.gender,
- industry: _editJob.industry,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- education: _editJob.education,
- skill: _editJob.skill,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- id: _editJob.id,
- isSave: _editJob.isSave);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: value,
+ // salary: _editJob.salary,
+ // description: _editJob.description,
+ // gender: _editJob.gender,
+ // industry: _editJob.industry,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave);
+ // },
),
),
Padding(
@@ -286,23 +283,23 @@ class _EditPostState extends State {
}
return null;
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- salary: _editJob.salary,
- description: _editJob.description,
- gender: _editJob.gender,
- industry: _editJob.industry,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- education: _editJob.education,
- skill: _editJob.skill,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: value,
- id: _editJob.id,
- isSave: _editJob.isSave);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // salary: _editJob.salary,
+ // description: _editJob.description,
+ // gender: _editJob.gender,
+ // industry: _editJob.industry,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: value,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave);
+ // },
),
),
Padding(
@@ -347,23 +344,23 @@ class _EditPostState extends State {
}
return null;
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- salary: _editJob.salary,
- description: value,
- gender: _editJob.gender,
- industry: _editJob.industry,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- education: _editJob.education,
- skill: _editJob.skill,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- id: _editJob.id,
- isSave: _editJob.isSave);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // salary: _editJob.salary,
+ // description: value,
+ // gender: _editJob.gender,
+ // industry: _editJob.industry,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave);
+ // },
),
),
Padding(
@@ -371,24 +368,24 @@ class _EditPostState extends State {
EdgeInsets.symmetric(horizontal: 40, vertical: 8),
child: FormField(
initialValue: _initValues['gender'],
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- id: _editJob.id,
- isSave: _editJob.isSave,
- salary: _editJob.salary,
- gender: value,
- typeSalary: _editJob.typeSalary,
- type: _editJob.type,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- industry: _editJob.industry,
- education: _editJob.education,
- skill: _editJob.skill,
- description: _editJob.description,
- );
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave,
+ // salary: _editJob.salary,
+ // gender: value,
+ // typeSalary: _editJob.typeSalary,
+ // type: _editJob.type,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // industry: _editJob.industry,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // description: _editJob.description,
+ // );
+ // },
builder: (FormFieldState state) {
return InputDecorator(
decoration: InputDecoration(
@@ -429,24 +426,24 @@ class _EditPostState extends State {
gender = newValue;
});
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- id: _editJob.id,
- isSave: _editJob.isSave,
- salary: _editJob.salary,
- gender: value,
- typeSalary: _editJob.typeSalary,
- type: _editJob.type,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- industry: _editJob.industry,
- education: _editJob.education,
- skill: _editJob.skill,
- description: _editJob.description,
- );
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave,
+ // salary: _editJob.salary,
+ // gender: value,
+ // typeSalary: _editJob.typeSalary,
+ // type: _editJob.type,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // industry: _editJob.industry,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // description: _editJob.description,
+ // );
+ // },
items: [
'Male',
'Female'
@@ -518,24 +515,24 @@ class _EditPostState extends State {
industry = newValue;
});
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- id: _editJob.id,
- isSave: _editJob.isSave,
- salary: _editJob.salary,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- gender: _editJob.gender,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- industry: value,
- education: _editJob.education,
- skill: _editJob.skill,
- description: _editJob.description,
- );
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave,
+ // salary: _editJob.salary,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // gender: _editJob.gender,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // industry: value,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // description: _editJob.description,
+ // );
+ // },
items: [
'Resturants',
'Hotels'
@@ -608,23 +605,23 @@ class _EditPostState extends State {
type = newValue;
});
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- id: _editJob.id,
- isSave: _editJob.isSave,
- salary: _editJob.salary,
- type: value,
- typeSalary: _editJob.typeSalary,
- gender: _editJob.gender,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- industry: _editJob.industry,
- education: _editJob.education,
- skill: _editJob.skill,
- description: _editJob.description);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave,
+ // salary: _editJob.salary,
+ // type: value,
+ // typeSalary: _editJob.typeSalary,
+ // gender: _editJob.gender,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // industry: _editJob.industry,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // description: _editJob.description);
+ // },
items: [
'Full Time',
'Part Time',
@@ -700,23 +697,23 @@ class _EditPostState extends State {
typeSalary = newValue;
});
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- id: _editJob.id,
- isSave: _editJob.isSave,
- salary: _editJob.salary,
- type: _editJob.type,
- typeSalary: value,
- gender: _editJob.gender,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- industry: _editJob.industry,
- education: _editJob.education,
- skill: _editJob.skill,
- description: _editJob.description);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave,
+ // salary: _editJob.salary,
+ // type: _editJob.type,
+ // typeSalary: value,
+ // gender: _editJob.gender,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // industry: _editJob.industry,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // description: _editJob.description);
+ // },
items: [
'Per Hour',
'Per Day',
@@ -791,24 +788,24 @@ class _EditPostState extends State {
education = newValue;
});
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- id: _editJob.id,
- isSave: _editJob.isSave,
- salary: _editJob.salary,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- gender: _editJob.gender,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- industry: _editJob.industry,
- education: value,
- skill: _editJob.skill,
- description: _editJob.description,
- );
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave,
+ // salary: _editJob.salary,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // gender: _editJob.gender,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // industry: _editJob.industry,
+ // education: value,
+ // skill: _editJob.skill,
+ // description: _editJob.description,
+ // );
+ // },
items: [
'SD',
'SMP',
@@ -881,23 +878,23 @@ class _EditPostState extends State {
}
return null;
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- salary: _editJob.salary,
- description: _editJob.description,
- gender: _editJob.gender,
- industry: _editJob.industry,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- education: _editJob.education,
- skill: _editJob.skill,
- workinghour: _editJob.workinghour,
- workingday: value,
- location: _editJob.location,
- id: _editJob.id,
- isSave: _editJob.isSave);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // salary: _editJob.salary,
+ // description: _editJob.description,
+ // gender: _editJob.gender,
+ // industry: _editJob.industry,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // workinghour: _editJob.workinghour,
+ // workingday: value,
+ // location: _editJob.location,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave);
+ // },
),
),
Padding(
@@ -941,23 +938,23 @@ class _EditPostState extends State {
}
return null;
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- salary: _editJob.salary,
- description: _editJob.description,
- gender: _editJob.gender,
- industry: _editJob.industry,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- education: _editJob.education,
- skill: _editJob.skill,
- workinghour: value,
- workingday: _editJob.workingday,
- location: _editJob.location,
- id: _editJob.id,
- isSave: _editJob.isSave);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // salary: _editJob.salary,
+ // description: _editJob.description,
+ // gender: _editJob.gender,
+ // industry: _editJob.industry,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // workinghour: value,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave);
+ // },
),
),
Padding(
@@ -1001,23 +998,23 @@ class _EditPostState extends State {
}
return null;
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- salary: _editJob.salary,
- description: _editJob.description,
- gender: _editJob.gender,
- industry: _editJob.industry,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- education: _editJob.education,
- skill: value,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- id: _editJob.id,
- isSave: _editJob.isSave);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // salary: _editJob.salary,
+ // description: _editJob.description,
+ // gender: _editJob.gender,
+ // industry: _editJob.industry,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // education: _editJob.education,
+ // skill: value,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave);
+ // },
),
),
Padding(
@@ -1069,23 +1066,23 @@ class _EditPostState extends State {
}
return null;
},
- onSaved: (value) {
- _editJob = Job(
- title: _editJob.title,
- salary: double.parse(value),
- description: _editJob.description,
- gender: _editJob.gender,
- industry: _editJob.industry,
- type: _editJob.type,
- typeSalary: _editJob.typeSalary,
- education: _editJob.education,
- skill: _editJob.skill,
- workinghour: _editJob.workinghour,
- workingday: _editJob.workingday,
- location: _editJob.location,
- id: _editJob.id,
- isSave: _editJob.isSave);
- },
+ // onSaved: (value) {
+ // _editJob = Job(
+ // title: _editJob.title,
+ // salary: double.parse(value),
+ // description: _editJob.description,
+ // gender: _editJob.gender,
+ // industry: _editJob.industry,
+ // type: _editJob.type,
+ // typeSalary: _editJob.typeSalary,
+ // education: _editJob.education,
+ // skill: _editJob.skill,
+ // workinghour: _editJob.workinghour,
+ // workingday: _editJob.workingday,
+ // location: _editJob.location,
+ // id: _editJob.id,
+ // isSave: _editJob.isSave);
+ // },
),
),
Padding(
diff --git a/lib/src/ui/employer/layout/employer_post.dart b/lib/src/ui/employer/layout/employer_post.dart
index 498ed8a..b82dc0f 100644
--- a/lib/src/ui/employer/layout/employer_post.dart
+++ b/lib/src/ui/employer/layout/employer_post.dart
@@ -1,25 +1,21 @@
import 'package:flutter/material.dart';
import 'package:flutter_money_formatter/flutter_money_formatter.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/ui/employer/layout/employer_edit_post.dart';
-import 'package:space/src/core/models/jobs.dart';
-import 'package:space/src/ui/seeker/layout/job_details.dart';
class EmployerPost extends StatelessWidget {
- final String id;
- final double salary;
- final String title;
- final String type;
- final String location;
+ // final String id;
+ // final double salary;
+ // final String title;
+ // final String type;
+ // final String location;
- EmployerPost(
- this.id,
- this.salary,
- this.title,
- this.type,
- this.location,
- );
+ // EmployerPost(
+ // this.id,
+ // this.salary,
+ // this.title,
+ // this.type,
+ // this.location,
+ // );
@override
Widget build(BuildContext context) {
@@ -34,7 +30,7 @@ class EmployerPost extends StatelessWidget {
children: [
Row(
children: [
- Text(title,
+ Text('Mekuru Ramen',
style: TextStyle(
fontFamily: 'VarelaRound',
fontSize: 12,
@@ -47,7 +43,7 @@ class EmployerPost extends StatelessWidget {
color: Color(0xff65be3e),
child: Container(
padding: EdgeInsets.symmetric(horizontal: 4),
- child: Text(type,
+ child: Text('Full Time',
style: TextStyle(
color: Colors.white, fontSize: 9)),
),
@@ -67,7 +63,7 @@ class EmployerPost extends StatelessWidget {
children: [
Icon(Icons.location_on,
size: 10, color: Color(0xff8997a7)),
- Text(location,
+ Text('Pontianak, West Borneo',
style: TextStyle(
fontSize: 10, color: Color(0xff8997a7))),
],
@@ -79,7 +75,7 @@ class EmployerPost extends StatelessWidget {
fontSize: 10, color: Color(0xff8997a7))),
Text(
FlutterMoneyFormatter(
- amount: salary,
+ amount: 5000000,
settings: MoneyFormatterSettings(
symbol: 'Rp',
thousandSeparator: '.',
@@ -93,10 +89,11 @@ class EmployerPost extends StatelessWidget {
],
),
),
- onTap: () {
- Navigator.of(context)
- .pushNamed(JobDetails.routeName, arguments: id);
- }),
+ // onTap: () {
+ // Navigator.of(context)
+ // .pushNamed(JobDetails.routeName, arguments: id);
+ // }
+ ),
Padding(
padding: EdgeInsets.only(right: 15, top: 10),
child: Row(
diff --git a/lib/src/ui/employer/layout/employer_profile_setting.dart b/lib/src/ui/employer/layout/employer_profile_setting.dart
index 12b02af..7f5b8fb 100644
--- a/lib/src/ui/employer/layout/employer_profile_setting.dart
+++ b/lib/src/ui/employer/layout/employer_profile_setting.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:feather_icons_flutter/feather_icons_flutter.dart';
+import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
class EmployerProfileSetting extends StatefulWidget {
@override
@@ -8,129 +9,459 @@ class EmployerProfileSetting extends StatefulWidget {
class _EmployerProfileSettingState extends State
with SingleTickerProviderStateMixin {
- int _selectedIndex = 0;
-
- void _onItemTapped(int index) {
- setState(() {
- _selectedIndex = index;
- });
- }
-
TextStyle style = TextStyle(fontFamily: 'VarelaRound', fontSize: 20.0);
@override
Widget build(BuildContext context) {
- return Container(
- child: Scaffold(
- appBar: AppBar(
- automaticallyImplyLeading: true,
- leading: IconButton(
- onPressed: () {
- Navigator.pop(context, true);
- },
- icon: Icon(FeatherIcons.chevronLeft,
- color: Color(0xff2c4057), size: 16)),
- elevation: 0,
- backgroundColor: Colors.transparent,
- title: Text('Employers Profile',
- style: style.copyWith(
- color: Colors.white,
- fontSize: 14,
- fontWeight: FontWeight.w500,
- letterSpacing: 1,
- )),
- ),
- body: Container(
- margin: EdgeInsets.only(top: 20),
- width: MediaQuery.of(context).size.width,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: new BorderRadius.only(
- topLeft: const Radius.circular(30.0),
- topRight: const Radius.circular(30.0),
+ return Material(
+ color: Colors.grey[100],
+ child: Stack(
+ children: [
+ Container(
+ height: 200,
+ width: MediaQuery.of(context).size.width,
+ child: Image.asset(
+ 'assets/ketapang.png',
+ fit: BoxFit.fitWidth,
),
),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.spaceAround,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- ListTile(
- onTap: () {},
- leading: Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Text('Full Name',
- style: style.copyWith(
- color: Color(0xff757575), fontSize: 14)),
- Text('Nakamura Chan',
- style: style.copyWith(
- color: Color(0xff757575), fontSize: 12)),
- Icon(FeatherIcons.chevronRight,
- color: Color(0xff757575), size: 20),
- ],
- )),
- ],
- ),
- ),
- bottomNavigationBar: BottomNavigationBar(
- unselectedItemColor: Color(0xffdcdcdc),
- showUnselectedLabels: true,
- items: const [
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.home, size: 30),
- title: Text('HOME',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
+ Scaffold(
+ backgroundColor: Colors.black12,
+ appBar: AppBar(
+ automaticallyImplyLeading: true,
+ leading: IconButton(
+ onPressed: () {
+ Navigator.pop(context, true);
+ },
+ icon: Icon(FeatherIcons.chevronLeft,
+ color: Colors.white, size: 16)),
+ elevation: 0,
+ backgroundColor: Colors.black26,
),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.briefcase, size: 30),
- title: Text('JOBS',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
- ),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.search, size: 30),
- title: Text('SEARCH',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
- ),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.messageSquare, size: 30),
- title: Text('INBOX',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
- ),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.user, size: 30),
- title: Text('PROFILE',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
+ body: Container(
+ child: Stack(
+ children: [
+ Column(
+ children: [
+ Container(
+ padding: EdgeInsetsDirectional.only(bottom: 10),
+ alignment: Alignment.topCenter,
+ child: CircleAvatar(
+ radius: 30,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 28,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/mekuru.png'),
+ ),
+ ),
+ ),
+ Container(
+ padding: EdgeInsets.only(bottom: 10),
+ child: Column(
+ children: [
+ Text('Mekuru Ramen',
+ style: style.copyWith(
+ fontSize: 16,
+ fontWeight: FontWeight.bold,
+ color: Colors.white)),
+ Text('The Best Ramen in Town',
+ style: style.copyWith(
+ fontSize: 12,
+ color: Colors.white,
+ height: 2))
+ ],
+ ),
+ ),
+ Container(
+ child: Column(
+ children: [
+ SingleChildScrollView(
+ scrollDirection: Axis.horizontal,
+ child: Row(
+ mainAxisAlignment:
+ MainAxisAlignment.spaceAround,
+ mainAxisSize: MainAxisSize.max,
+ children: [
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#restaurant',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#ramen',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#chef',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#japanese',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ ],
+ )),
+ ],
+ ),
+ ),
+ ],
+ ),
+ Container(
+ margin: EdgeInsets.only(top: 155),
+ padding: EdgeInsets.only(top: 10, left: 5, right: 5),
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.only(
+ topLeft: const Radius.circular(40.0),
+ topRight: const Radius.circular(40.0))),
+ child: ListView(
+ children: [
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Company Name',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ 'Mekuru Ramen',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Tagline',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Padding(
+ padding: const EdgeInsets.only(left: 60.0),
+ child: Text(
+ 'The Best Ramen in Town',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Address',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Padding(
+ padding: const EdgeInsets.only(left: 54.0),
+ child: Text(
+ 'Jl. Jendral Urip no.3, Pontianak Kalimantan Barat',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Industry',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 54),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ 'Food & Beverages',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Establish',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 49),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ '26 December 2009',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Description',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 33),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ 'A japanese restaurant with...',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Recent Jobs',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 29),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ '22 Jobs posted previously',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
),
- ],
- currentIndex: _selectedIndex,
- selectedItemColor: Color(0xff4d4d4d),
- onTap: _onItemTapped,
- ),
+ ),
+ ],
),
);
}
diff --git a/lib/src/ui/employer/layout/employer_profile_view.dart b/lib/src/ui/employer/layout/employer_profile_view.dart
index 05f0bf2..61816ec 100644
--- a/lib/src/ui/employer/layout/employer_profile_view.dart
+++ b/lib/src/ui/employer/layout/employer_profile_view.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:feather_icons_flutter/feather_icons_flutter.dart';
+import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
class EmployerProfileView extends StatefulWidget {
@override
@@ -8,234 +9,460 @@ class EmployerProfileView extends StatefulWidget {
class _EmployerProfileViewState extends State
with SingleTickerProviderStateMixin {
- int _selectedIndex = 0;
-
- void _onItemTapped(int index) {
- setState(() {
- _selectedIndex = index;
- });
- }
-
TextStyle style = TextStyle(fontFamily: 'VarelaRound', fontSize: 20.0);
@override
Widget build(BuildContext context) {
- return new Container(
- child: new Stack(
- children: [
- new Container(
- child: new Image.asset('assets/ketapang.png', fit: BoxFit.cover),
- ),
- new Scaffold(
- backgroundColor: Colors.transparent,
- appBar: AppBar(
- automaticallyImplyLeading: true,
- leading: IconButton(
- onPressed: () {
- Navigator.pop(context, true);
- },
- icon: Icon(FeatherIcons.chevronLeft,
- color: Color(0xff2c4057), size: 16)),
- elevation: 1,
- backgroundColor: Colors.transparent,
- title: Text('Back',
- style: style.copyWith(
- color: Colors.white,
- fontSize: 14,
- fontWeight: FontWeight.w500,
- letterSpacing: 1,
- )),
+ return Material(
+ color: Colors.grey[100],
+ child: Stack(
+ children: [
+ Container(
+ height: 200,
+ width: MediaQuery.of(context).size.width,
+ child: Image.asset(
+ 'assets/ketapang.png',
+ fit: BoxFit.fitWidth,
+ ),
),
- body: LayoutBuilder(builder:
- (BuildContext context, BoxConstraints viewportConstraints) {
- return Column(
- children: [
- Stack(
- children: [
- Container(
- height: 120,
- margin: EdgeInsets.only(top: 120),
- padding: EdgeInsets.only(top: 20, left: 30, right: 30),
- decoration: BoxDecoration(
- color: Color(0xff4d4d4d),
- borderRadius: new BorderRadius.only(
- topLeft: const Radius.circular(40.0),
- topRight: const Radius.circular(40.0))),
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ Scaffold(
+ backgroundColor: Colors.black12,
+ appBar: AppBar(
+ automaticallyImplyLeading: true,
+ leading: IconButton(
+ onPressed: () {
+ Navigator.pop(context, true);
+ },
+ icon: Icon(FeatherIcons.chevronLeft,
+ color: Colors.white, size: 16)),
+ elevation: 0,
+ backgroundColor: Colors.black26,
+ ),
+ body: Container(
+ child: Stack(
+ children: [
+ Column(
+ children: [
+ Container(
+ padding: EdgeInsetsDirectional.only(bottom: 10),
+ alignment: Alignment.topCenter,
+ child: CircleAvatar(
+ radius: 30,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 28,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/mekuru.png'),
+ ),
+ ),
+ ),
+ Container(
+ padding: EdgeInsets.only(bottom: 10),
+ child: Column(
children: [
- Column(
- children: [
- Text('Followers',
- style: style.copyWith(
- fontSize: 14, color: Colors.white)),
- Text('31401',
- style: style.copyWith(color: Colors.white)),
- ],
- ),
- RaisedButton(
- onPressed: () {},
- color: Color(0xff22c0e8),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(30)),
- child: Text('Follow',
- style: style.copyWith(
- color: Colors.white, fontSize: 15))),
+ Text('Mekuru Ramen',
+ style: style.copyWith(
+ fontSize: 16,
+ fontWeight: FontWeight.bold,
+ color: Colors.white)),
+ Text('The Best Ramen in Town',
+ style: style.copyWith(
+ fontSize: 12,
+ color: Colors.white,
+ height: 2))
],
- )),
- Container(
- alignment: AlignmentDirectional.center,
- margin: EdgeInsets.only(top: 90),
- child: CircleAvatar(
- backgroundColor: Colors.white,
- radius: 45.0,
- child: Image.asset('assets/mekuru_2.png'),
+ ),
),
- ),
- Column(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ Container(
+ child: Column(
+ children: [
+ SingleChildScrollView(
+ scrollDirection: Axis.horizontal,
+ child: Row(
+ mainAxisAlignment:
+ MainAxisAlignment.spaceAround,
+ mainAxisSize: MainAxisSize.max,
+ children: [
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#restaurant',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#ramen',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#chef',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ Container(
+ height: 30,
+ padding: EdgeInsets.all(5),
+ child: RaisedButton(
+ color: Colors.white,
+ shape: new RoundedRectangleBorder(
+ borderRadius:
+ new BorderRadius.circular(
+ 30.0)),
+ child: Text('#japanese',
+ style:
+ style.copyWith(fontSize: 12, color: Color(0xff898989))),
+ onPressed: () {},
+ )),
+ ],
+ )),
+ ],
+ ),
+ ),
+ ],
+ ),
+ Container(
+ margin: EdgeInsets.only(top: 155),
+ padding: EdgeInsets.only(top: 10, left: 5, right: 5),
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.only(
+ topLeft: const Radius.circular(40.0),
+ topRight: const Radius.circular(40.0))),
+ child: ListView(
children: [
- //Overflow!!
Container(
- height: 330,
- width: MediaQuery.of(context).size.width,
- margin: EdgeInsets.only(top: 200),
- padding:
- EdgeInsets.only(top: 20, left: 15, right: 15),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: new BorderRadius.only(
- topLeft: const Radius.circular(40.0),
- topRight: const Radius.circular(40.0))),
- child: Column(
- children: [
- Text('Mekuru Ramen',
- style: style.copyWith(
- fontSize: 18,
- color: Color(0xff222222),
- fontWeight: FontWeight.bold)),
- Text('The Best Ramen in Town',
- style: style.copyWith(
- fontSize: 11,
- color: Color(0xff1c1c1c),
- fontWeight: FontWeight.bold)),
- Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Icon(FeatherIcons.mapPin,
- size: 12, color: Color(0xff8997a7)),
- Text(' Pontianak, West Borneo',
- style: style.copyWith(
- fontSize: 12,
- color: Color(0xff8997a7))),
- ],
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Company Name',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ 'Mekuru Ramen',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Tagline',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Padding(
+ padding: const EdgeInsets.only(left: 60.0),
+ child: Text(
+ 'The Best Ramen in Town',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Address',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Padding(
+ padding: const EdgeInsets.only(left: 54.0),
+ child: Text(
+ 'Jl. Jendral Urip no.3, Pontianak Kalimantan Barat',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Industry',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 54),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ 'Food & Beverages',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Establish',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 49),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ '26 December 2009',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Description',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 33),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ 'A japanese restaurant with...',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
),
- SizedBox(
- height: 30,
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
),
- Column(
- mainAxisAlignment:
- MainAxisAlignment.spaceBetween,
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisSize: MainAxisSize.max,
- children: [
- Text('Company Description',
- style: style.copyWith(
- fontSize: 14,
- color: Color(0xff3b3b3b))),
- Text(
- 'We have a number of different teams within our agency that specialise in different areas of business so you can be sure that you won’t receive a generic service and although we can’t boast years and years of service we can ensure you that is a good thing in this industry. Our teams are up to date with the latest technologies, media trends and are keen to prove themselves in this industry and that’s what you want from an advertising agency.',
- style: style.copyWith(
- fontSize: 11,
- color: Color(0xff8997a7),
- height: 2),
- ),
- Center(
- child: RaisedButton(
- onPressed: () {},
- color: Color(0xff8997a7),
- shape: RoundedRectangleBorder(
- borderRadius:
- BorderRadius.circular(30)),
- child: Text('Apply for a job',
- style: style.copyWith(
- color: Colors.white,
- fontSize: 15))),
- ),
- ],
- )
- ],
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
+ ),
+ ),
+ Container(
+ height: 35,
+ child: ListTile(
+ onTap: (){},
+ leading: Text(
+ 'Recent Jobs',
+ style: TextStyle(
+ fontSize: 14,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ title: Padding(
+ padding: EdgeInsets.only(left: 29),
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 6),
+ child: Text(
+ '22 Jobs posted previously',
+ maxLines: 2,
+ style: TextStyle(
+ fontSize: 12,
+ color: Color(0xff757575),
+ fontFamily: 'VarelaRound'),
+ ),
+ ),
+ ),
+ trailing: Padding(
+ padding: const EdgeInsets.only(bottom: 6),
+ child: Icon(
+ MdiIcons.chevronRight,
+ color: Color(0xff757575),
+ size: 18,
+ ),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(top: 15),
+ child: Divider(
+ height: 0,
+ endIndent: 20,
+ indent: 18,
),
),
],
),
- ],
- ),
- ],
- );
- }),
- bottomNavigationBar: BottomNavigationBar(
- unselectedItemColor: Color(0xffdcdcdc),
- showUnselectedLabels: true,
- items: const [
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.home, size: 30),
- title: Text('HOME',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
- ),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.briefcase, size: 30),
- title: Text('JOBS',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
- ),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.search, size: 30),
- title: Text('SEARCH',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
- ),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.messageSquare, size: 30),
- title: Text('INBOX',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
- ),
- BottomNavigationBarItem(
- icon: Icon(FeatherIcons.user, size: 30),
- title: Text('PROFILE',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 10,
- fontWeight: FontWeight.w400,
- fontStyle: FontStyle.normal)),
+ ),
+ ],
),
- ],
- currentIndex: _selectedIndex,
- selectedItemColor: Color(0xff4d4d4d),
- onTap: _onItemTapped,
+ ),
),
- ),
- ],
- ));
+ ],
+ ),
+ );
}
}
diff --git a/lib/src/ui/employer/layout/interviewed_list.dart b/lib/src/ui/employer/layout/interviewed_list.dart
new file mode 100644
index 0000000..bd6bd95
--- /dev/null
+++ b/lib/src/ui/employer/layout/interviewed_list.dart
@@ -0,0 +1,409 @@
+import 'package:feather_icons_flutter/feather_icons_flutter.dart';
+import 'package:flutter/material.dart';
+import 'package:space/src/ui/seeker/layout/seeker_profile_view.dart';
+
+class InterviewedList extends StatelessWidget {
+ @override
+ Widget build(BuildContext context) {
+ return Column(
+ children: [
+ Container(
+ padding: EdgeInsets.only(bottom: 10),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(0),
+ color: Colors.white,
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff0c0c0c0),
+ blurRadius: 1.5,
+ offset: Offset(1.0, 1.0))
+ ],
+ ),
+ child: Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => SeekerProfileView()),
+ );
+ },
+ leading: Column(
+ children: [
+ CircleAvatar(
+ backgroundImage: AssetImage('assets/img_profile-2.png'),
+ backgroundColor: Colors.blue,
+ radius: 28,
+ ),
+ ],
+ ),
+ title: Container(
+ height: 60,
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('James Cahyadi',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Male, 30 years old',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Education: High School',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ ],
+ ),
+ ),
+ subtitle: Container(
+ height: 30,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ RichText(
+ text: TextSpan(children: [
+ TextSpan(
+ text: "Exp: ",
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff8997a7),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ TextSpan(
+ text: '2 years as Barista',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff3b3b3b),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ ])),
+ Row(
+ children: [
+ Icon(FeatherIcons.mapPin,
+ size: 10, color: Color(0xff8997a7)),
+ Text(' Pontianak, West Borneo',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff8997a7)))
+ ],
+ ),
+ ],
+ ),
+ ),
+ trailing: RaisedButton(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30.0)),
+ color: Color(0xff65be3e),
+ onPressed: () {},
+ child: Text('Hired',
+ style: TextStyle(color: Colors.white, fontSize: 14))),
+ ),
+ ],
+ ),
+ ),
+ Container(
+ padding: EdgeInsets.only(bottom: 10),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(0),
+ color: Colors.white,
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff0c0c0c0),
+ blurRadius: 1.5,
+ offset: Offset(1.0, 1.0))
+ ],
+ ),
+ child: Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => SeekerProfileView()),
+ );
+ },
+ leading: Column(
+ children: [
+ CircleAvatar(
+ backgroundImage: AssetImage('assets/img_profile-2.png'),
+ backgroundColor: Colors.blue,
+ radius: 28,
+ ),
+ ],
+ ),
+ title: Container(
+ height: 60,
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Roni Soebedjo',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Male, 28 years old',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Education: High School',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ ],
+ ),
+ ),
+ subtitle: Container(
+ height: 30,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ RichText(
+ text: TextSpan(children: [
+ TextSpan(
+ text: "Exp: ",
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff8997a7),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ TextSpan(
+ text: '2 years as Chef',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff3b3b3b),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ ])),
+ Row(
+ children: [
+ Icon(FeatherIcons.mapPin,
+ size: 10, color: Color(0xff8997a7)),
+ Text(' Pontianak, West Borneo',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff8997a7)))
+ ],
+ ),
+ ],
+ ),
+ ),
+ trailing: RaisedButton(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30.0)),
+ color: Color(0xff8997a7),
+ onPressed: () {},
+ child: Text('Hold',
+ style: TextStyle(color: Colors.white, fontSize: 14))),
+ ),
+ ],
+ ),
+ ),
+ Container(
+ padding: EdgeInsets.only(bottom: 10),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(0),
+ color: Colors.white,
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff0c0c0c0),
+ blurRadius: 1.5,
+ offset: Offset(1.0, 1.0))
+ ],
+ ),
+ child: Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => SeekerProfileView()),
+ );
+ },
+ leading: Column(
+ children: [
+ CircleAvatar(
+ backgroundImage: AssetImage('assets/img_profile-2.png'),
+ backgroundColor: Colors.blue,
+ radius: 28,
+ ),
+ ],
+ ),
+ title: Container(
+ height: 60,
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Icha Yuni',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Female, 27 years old',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Education: High School',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ ],
+ ),
+ ),
+ subtitle: Container(
+ height: 30,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ RichText(
+ text: TextSpan(children: [
+ TextSpan(
+ text: "Exp: ",
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff8997a7),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ TextSpan(
+ text: '5 years as Waitress',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff3b3b3b),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ ])),
+ Row(
+ children: [
+ Icon(FeatherIcons.mapPin,
+ size: 10, color: Color(0xff8997a7)),
+ Text(' Pontianak, West Borneo',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff8997a7)))
+ ],
+ ),
+ ],
+ ),
+ ),
+ trailing: RaisedButton(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30.0)),
+ color: Color(0xfffb4848),
+ onPressed: () {},
+ child: Text('Rejected',
+ style: TextStyle(color: Colors.white, fontSize: 14))),
+ ),
+ ],
+ ),
+ ),
+ Container(
+ padding: EdgeInsets.only(bottom: 10),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(0),
+ color: Colors.white,
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff0c0c0c0),
+ blurRadius: 1.5,
+ offset: Offset(1.0, 1.0))
+ ],
+ ),
+ child: Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => SeekerProfileView()),
+ );
+ },
+ leading: Column(
+ children: [
+ CircleAvatar(
+ backgroundImage: AssetImage('assets/img_profile-2.png'),
+ backgroundColor: Colors.blue,
+ radius: 28,
+ ),
+ ],
+ ),
+ title: Container(
+ height: 60,
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('John Ru',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Male, 35 years old',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ Text('Education: S2',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff3b3b3b))),
+ ],
+ ),
+ ),
+ subtitle: Container(
+ height: 30,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ RichText(
+ text: TextSpan(children: [
+ TextSpan(
+ text: "Exp: ",
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff8997a7),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ TextSpan(
+ text: '10 years as Butcher',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ color: Color(0xff3b3b3b),
+ fontSize: 12,
+ fontWeight: FontWeight.w400,
+ )),
+ ])),
+ Row(
+ children: [
+ Icon(FeatherIcons.mapPin,
+ size: 10, color: Color(0xff8997a7)),
+ Text(' Pontianak, West Borneo',
+ style: TextStyle(
+ fontSize: 12, color: Color(0xff8997a7)))
+ ],
+ ),
+ ],
+ ),
+ ),
+ trailing: RaisedButton(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30.0)),
+ color: Color(0xff65be3e),
+ onPressed: () {},
+ child: Text('Hired',
+ style: TextStyle(color: Colors.white, fontSize: 14))),
+ ),
+ ],
+ ),
+ ),
+ ],
+ );
+ }
+}
\ No newline at end of file
diff --git a/lib/src/ui/employer/screens/applicants_screen.dart b/lib/src/ui/employer/screens/applicants_screen.dart
new file mode 100644
index 0000000..b41b011
--- /dev/null
+++ b/lib/src/ui/employer/screens/applicants_screen.dart
@@ -0,0 +1,30 @@
+import 'package:flutter/material.dart';
+
+import 'package:space/src/ui/employer/layout/applicants_list.dart';
+
+class ApplicantsScreen extends StatefulWidget {
+ _ApplicantsScreenState createState() => _ApplicantsScreenState();
+}
+
+class _ApplicantsScreenState extends State {
+ var _isLoading = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Colors.transparent,
+ body: _isLoading
+ ? Center(
+ child: CircularProgressIndicator(),
+ )
+ : ListView.builder(
+ padding: EdgeInsets.only(top: 5),
+ itemBuilder: (ctx, i) => (Column(
+ children: [
+ ApplicantsList(),
+ ],
+ )),
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/employer/screens/employer_posted_screen.dart b/lib/src/ui/employer/screens/employer_posted_screen.dart
index a5f29d6..61703c9 100644
--- a/lib/src/ui/employer/screens/employer_posted_screen.dart
+++ b/lib/src/ui/employer/screens/employer_posted_screen.dart
@@ -1,7 +1,5 @@
import 'package:flutter/material.dart';
-import 'package:provider/provider.dart';
-import 'package:space/src/core/models/jobs.dart';
import 'package:space/src/ui/employer/layout/employer_post.dart';
class EmployerPostScreen extends StatelessWidget {
@@ -9,7 +7,7 @@ class EmployerPostScreen extends StatelessWidget {
Future _refreshJobs(BuildContext context) async {
//await
- Provider.of(context, listen: false);//.fetchAndSetJobs(true);
+ // Provider.of(context, listen: false);//.fetchAndSetJobs(true);
}
@override
@@ -25,19 +23,22 @@ class EmployerPostScreen extends StatelessWidget {
)
: RefreshIndicator(
onRefresh: () => _refreshJobs(context),
- child: Consumer(
- builder: (ctx, jobsData, _) => ListView.builder(
- itemCount: jobsData.posts.length,
+ child:
+ // Consumer(
+ // builder: (ctx, jobsData, _) =>
+ ListView.builder(
+ padding: const EdgeInsets.all(0),
+ // itemCount: jobsData.posts.length,
itemBuilder: (_, i) => EmployerPost(
- jobsData.posts[i].id,
- jobsData.posts[i].salary,
- jobsData.posts[i].title,
- jobsData.posts[i].type,
- jobsData.posts[i].location,
+ // jobsData.posts[i].id,
+ // jobsData.posts[i].salary,
+ // jobsData.posts[i].title,
+ // jobsData.posts[i].type,
+ // jobsData.posts[i].location,
),
),
),
- ),
+ // ),
);
}
}
diff --git a/lib/src/ui/employer/screens/employer_seeker_screen.dart b/lib/src/ui/employer/screens/employer_seeker_screen.dart
deleted file mode 100644
index b40379d..0000000
--- a/lib/src/ui/employer/screens/employer_seeker_screen.dart
+++ /dev/null
@@ -1,130 +0,0 @@
-import 'package:feather_icons_flutter/feather_icons_flutter.dart';
-import 'package:flutter/material.dart';
-
-class EmployerSeekerList extends StatefulWidget {
- _EmployerSeekerListState createState() => _EmployerSeekerListState();
-}
-
-final items = List.generate(20, (i) => "Item ${i + 1}");
-
-class _EmployerSeekerListState extends State {
- @override
- @override
- Widget build(BuildContext context) {
- return ListView.builder(
- itemCount: items.length,
- itemBuilder: (context, index) {
- final item = items[index];
- return Dismissible(
- // Specify the direction to swipe and delete
- direction: DismissDirection.endToStart,
- key: Key(item),
- onDismissed: (direction) {
- // Removes that item the list on swipwe
- setState(() {
- items.removeAt(index);
- });
- // Shows the information on Snackbar
- Scaffold.of(context)
- .showSnackBar(SnackBar(content: Text("$item dismissed")));
- },
- background: Container(color: Theme.of(context).errorColor),
- child: Container(
- padding: EdgeInsets.only(bottom: 10),
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(0),
- color: Colors.white,
- boxShadow: [
- BoxShadow(
- color: Color(0xff0c0c0c0),
- blurRadius: 1.5,
- offset: Offset(1.0, 1.0))
- ],
- ),
- child: Stack(
- alignment: Alignment(1.06, -2),
- children: [
- ListTile(
- leading: Column(
- children: [
- CircleAvatar(
- backgroundImage: AssetImage('assets/img_profil.png'),
- backgroundColor: Colors.blue,
- radius: 28,
- ),
- ],
- ),
- title: Container(
- height: 60,
- padding: (EdgeInsets.only(top: 5)),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text('James Cahyadi',
- style: TextStyle(
- fontSize: 11, color: Color(0xff3b3b3b))),
- Text('Male, 30 years old',
- style: TextStyle(
- fontSize: 11, color: Color(0xff3b3b3b))),
- Text('Education: High School',
- style: TextStyle(
- fontSize: 11, color: Color(0xff3b3b3b))),
- ],
- ),
- ),
- subtitle: Container(
- height: 30,
- child: Column(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- RichText(
- text: TextSpan(children: [
- TextSpan(
- text: "Exp: ",
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff8997a7),
- fontSize: 11,
- fontWeight: FontWeight.w400,
- )),
- TextSpan(
- text: '2 years as Barista',
- style: TextStyle(
- fontFamily: 'VarelaRound',
- color: Color(0xff3b3b3b),
- fontSize: 11,
- fontWeight: FontWeight.w400,
- )),
- ])),
- Row(
- children: [
- Icon(FeatherIcons.mapPin,
- size: 10, color: Color(0xff8997a7)),
- Text(' Pontianak, West Borneo',
- style: TextStyle(
- fontSize: 10, color: Color(0xff8997a7)))
- ],
- ),
- ],
- ),
- ),
- trailing: RaisedButton.icon(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(30.0)),
- color: Color(0xff22c0e8),
- onPressed: () {},
- icon: Icon(FeatherIcons.messageCircle,
- color: Colors.white),
- label: Text('Chat',
- style:
- TextStyle(color: Colors.white, fontSize: 14))),
- ),
- ],
- ),
- ));
- },
- );
- }
-}
diff --git a/lib/src/ui/employer/screens/employer_tabs.dart b/lib/src/ui/employer/screens/employer_tabs.dart
index 79459e3..25b2f2e 100644
--- a/lib/src/ui/employer/screens/employer_tabs.dart
+++ b/lib/src/ui/employer/screens/employer_tabs.dart
@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:space/src/ui/employer/layout/employer_app_bar.dart';
+import 'package:space/src/ui/employer/screens/applicants_screen.dart';
+import 'package:space/src/ui/employer/screens/interviewed_screen.dart';
import 'package:space/src/ui/employer/widgets/employer_app_drawer.dart';
import 'package:space/src/ui/employer/screens/employer_posted_screen.dart';
-import 'package:space/src/ui/employer/screens/employer_seeker_screen.dart';
-import 'package:space/src/ui/seeker/screens/jobs_list_screen.dart';
class EmployerTabs extends StatelessWidget {
static const routeName = 'employer_tabs';
@@ -19,8 +19,8 @@ class EmployerTabs extends StatelessWidget {
[EmployerAppBar()],
body: TabBarView(
children: [
- EmployerSeekerList(),
- EmployerSeekerList(),
+ ApplicantsScreen(),
+ InterviewedScreen(),
EmployerPostScreen(),
],
)),
diff --git a/lib/src/ui/employer/screens/interviewed_screen.dart b/lib/src/ui/employer/screens/interviewed_screen.dart
new file mode 100644
index 0000000..e1025fc
--- /dev/null
+++ b/lib/src/ui/employer/screens/interviewed_screen.dart
@@ -0,0 +1,30 @@
+import 'package:flutter/material.dart';
+
+import 'package:space/src/ui/employer/layout/interviewed_list.dart';
+
+class InterviewedScreen extends StatefulWidget {
+ _InterviewedScreenState createState() => _InterviewedScreenState();
+}
+
+class _InterviewedScreenState extends State {
+ var _isLoading = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Colors.transparent,
+ body: _isLoading
+ ? Center(
+ child: CircularProgressIndicator(),
+ )
+ : ListView.builder(
+ padding: EdgeInsets.only(top: 5),
+ itemBuilder: (ctx, i) => (Column(
+ children: [
+ InterviewedList(),
+ ],
+ )),
+ ),
+ );
+ }
+}
diff --git a/lib/src/ui/employer/widgets/employer_app_drawer.dart b/lib/src/ui/employer/widgets/employer_app_drawer.dart
index eabb799..2f53474 100644
--- a/lib/src/ui/employer/widgets/employer_app_drawer.dart
+++ b/lib/src/ui/employer/widgets/employer_app_drawer.dart
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:provider/provider.dart';
import 'package:space/src/core/models/auth.dart';
-import 'package:space/src/ui/seeker/layout/seeker_profile_setting.dart';
-import 'package:space/src/ui/seeker/layout/seeker_profile_view.dart';
+import 'package:space/src/ui/employer/layout/employer_profile_setting.dart';
+import 'package:space/src/ui/employer/layout/employer_profile_view.dart';
import 'package:space/src/ui/settings/about_us.dart';
import 'package:space/src/ui/settings/setting_ui_help.dart';
import 'package:space/src/ui/settings/setting_ui_payment.dart';
@@ -24,8 +24,8 @@ class EmployerDrawer extends StatelessWidget {
onTap: () {
Navigator.push(
context,
- new MaterialPageRoute(
- builder: (context) => SeekerProfileView()));
+ MaterialPageRoute(
+ builder: (context) => EmployerProfileView()));
},
leading: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -89,7 +89,7 @@ class EmployerDrawer extends StatelessWidget {
Navigator.push(
context,
MaterialPageRoute(
- builder: (context) => SettingSeekerProfile()),
+ builder: (context) => EmployerProfileSetting()),
);
}),
),
diff --git a/lib/src/ui/employer/widgets/flare_interview_employer.dart b/lib/src/ui/employer/widgets/flare_interview_employer.dart
new file mode 100644
index 0000000..87bb584
--- /dev/null
+++ b/lib/src/ui/employer/widgets/flare_interview_employer.dart
@@ -0,0 +1,69 @@
+import 'package:flutter/material.dart';
+
+class InterviewEmployer extends StatelessWidget {
+ static const routeName = '/employer-interview';
+ @override
+ Widget build(BuildContext context) {
+ return AlertDialog(
+ backgroundColor: Colors.white,
+ shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)),
+ title: Text(
+ 'How is your interview?',
+ textAlign: TextAlign.center,
+ ),
+ titleTextStyle: TextStyle(
+ color: Color(0xff3b3b3b),
+ fontSize: 15,
+ ),
+ actions: [
+ Row(
+ children: [
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 9),
+ child: MaterialButton(
+ minWidth: 70,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(20)),
+ onPressed: () {},
+ color: Color(0xff65be3e),
+ child: Text(
+ 'Hired',
+ style: TextStyle(fontSize: 12, color: Colors.white),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 9),
+ child: MaterialButton(
+ minWidth: 70,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(20)),
+ onPressed: () {},
+ color: Color(0xff4d4d4d),
+ child: Text(
+ 'Hold',
+ style: TextStyle(fontSize: 12, color: Colors.white),
+ ),
+ ),
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 9),
+ child: MaterialButton(
+ minWidth: 70,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(20)),
+ onPressed: () {
+ },
+ color: Color(0xfffb4848),
+ child: Text(
+ 'Rejected',
+ style: TextStyle(fontSize: 12, color: Colors.white),
+ ),
+ ),
+ ),
+ ],
+ ),
+ ],
+ );
+ }
+}
diff --git a/lib/src/ui/seeker/layout/apply_post.dart b/lib/src/ui/seeker/layout/apply_post.dart
index 4deda37..e678842 100644
--- a/lib/src/ui/seeker/layout/apply_post.dart
+++ b/lib/src/ui/seeker/layout/apply_post.dart
@@ -1,71 +1,1176 @@
-// import 'dart:math';
+import 'package:flutter/material.dart';
+import 'package:flutter_money_formatter/flutter_money_formatter.dart';
-// import 'package:flutter/material.dart';
-// import 'package:intl/intl.dart';
+import 'package:space/src/ui/seeker/layout/job_details.dart';
-// // import 'package:space/src/core/models/apply.dart' as ord;
-
-// class ApplyPost extends StatefulWidget {
-// // final ord.ApplyPost apply;
-// // ApplyPost(this.apply);
-
-// @override
-// _OrderItemState createState() => _OrderItemState();
-// }
-
-// class _OrderItemState extends State {
-// var _expanded = false;
-
-// @override
-// Widget build(BuildContext context) {
-// return AnimatedContainer(
-// duration: Duration(milliseconds: 300),
-// height: _expanded ? min(widget.apply.job.length * 20.0 + 110, 200) : 95,
-// child: Card(
-// margin: EdgeInsets.all(10),
-// child: Column(
-// children: [
-// ListTile(
-// subtitle: Text(
-// DateFormat('dd/MM/yyyy hh:mm').format(widget.apply.dateTime),
-// ),
-// trailing: IconButton(
-// icon: Icon(_expanded ? Icons.expand_less : Icons.expand_more),
-// onPressed: () {
-// setState(() {
-// _expanded = !_expanded;
-// });
-// },
-// ),
-// ),
-// AnimatedContainer(
-// duration: Duration(milliseconds: 300),
-// padding: EdgeInsets.symmetric(horizontal: 15, vertical: 4),
-// height: _expanded
-// ? min(widget.apply.job.length * 20.0 + 10, 100)
-// : 0,
-// child: ListView(
-// children: widget.apply.job
-// .map(
-// (job) => Row(
-// mainAxisAlignment: MainAxisAlignment.spaceBetween,
-// children: [
-// // Text(
-// // job.title,
-// // style: TextStyle(
-// // fontSize: 18,
-// // fontWeight: FontWeight.bold,
-// // ),
-// // ),
-// ],
-// ),
-// )
-// .toList(),
-// ),
-// )
-// ],
-// ),
-// ),
-// );
-// }
-// }
+class ApplyPost extends StatelessWidget {
+ @override
+ Widget build(BuildContext context) {
+ // final job = Provider.of(context, listen: false);
+ // final authData = Provider.of(context, listen: false);
+ // final cart = Provider.of(context, listen: false);
+ // final save = Provider.of(context, listen: false);
+ return Column(
+ children: [
+ // Dismissible(
+ // direction: DismissDirection.endToStart,
+ // confirmDismiss: (direction) {
+ // return showDialog(
+ // context: context,
+ // builder: (ctx) => AlertDialog(
+ // title: Text('Are you sure?'),
+ // content: Text('Do you want to remove the job from the list?'),
+ // actions: [
+ // FlatButton(
+ // child: Text('No'),
+ // onPressed: () {
+ // Navigator.of(ctx).pop(false);
+ // },
+ // ),
+ // FlatButton(
+ // child: Text('Yes'),
+ // onPressed: () {
+ // Navigator.of(ctx).pop(true);
+ // },
+ // ),
+ // ],
+ // ));
+ // },
+ // onDismissed: (direction) {},
+ // // key: ValueKey(job.id),
+ // background: Container(
+ // color: Theme.of(context).errorColor,
+ // child: Icon(
+ // Icons.delete,
+ // color: Colors.white,
+ // size: 30,
+ // ),
+ // alignment: Alignment.centerRight,
+ // padding: EdgeInsetsDirectional.only(end: 20),
+ // ),
+ // child: Container(
+ // padding: EdgeInsets.only(bottom: 10),
+ // decoration: BoxDecoration(
+ // borderRadius: BorderRadius.circular(0),
+ // color: Colors.white,
+ // boxShadow: [
+ // BoxShadow(
+ // color: Color(0xff0c0c0c0),
+ // blurRadius: 1.5,
+ // offset: Offset(1.0, 1.0))
+ // ],
+ // ),
+ // child:
+ Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ leading: Padding(
+ padding: const EdgeInsets.only(top: 10.0),
+ child: CircleAvatar(
+ radius: 25,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 23,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/mekuru.png'),
+ ),
+ ),
+ ),
+ title: Container(
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Mekuru Ramen',
+ style: TextStyle(
+ fontSize: 16, color: Color(0xff3b3b3b), height: 2)),
+ Row(
+ children: [
+ Text('Head Chef',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ fontSize: 13,
+ color: Color(0xff3b3b3b))),
+ Container(
+ padding: EdgeInsets.only(left: 5),
+ child: Material(
+ elevation: 1.0,
+ borderRadius: BorderRadius.circular(5.0),
+ color: Color(0xff65be3e),
+ child: Container(
+ padding: EdgeInsets.symmetric(horizontal: 4),
+ child: Text('Full Time',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 9,
+ height: 1.3)),
+ ),
+ ),
+ ),
+ ],
+ ),
+ Row(
+ children: [
+ Icon(Icons.location_on,
+ size: 10, color: Color(0xff8997a7)),
+ Flexible(
+ child: Text('Pontianak, West Borneo',
+ overflow: TextOverflow.ellipsis,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3))),
+ ],
+ ),
+ Row(
+ children: [
+ Text('Salary: ',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 5000000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ Text(' / Month',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ ],
+ ),
+ ],
+ ),
+ ),
+ onTap: () {
+ Navigator.of(context).pushNamed(JobDetails.routeName);
+ },
+ trailing: Padding(
+ padding: const EdgeInsets.only(top: 20.0),
+ child: Container(
+ alignment: Alignment.center,
+ width: 80,
+ height: 30,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(30),
+ color: Color(0xff8997a7),
+ ),
+ child: Text(
+ 'Applied',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontSize: 14, color: Colors.white),
+ )),
+ ),
+ ),
+ // Padding(
+ // padding: EdgeInsets.only(top: 6),
+ // child: Consumer(
+ // builder: (ctx, job, _) => IconButton(
+ // icon: Icon(
+ // job.isSave ? MdiIcons.bookmark : MdiIcons.bookmarkOutline,
+ // color: Theme.of(context).colorScheme.onPrimary),
+ // onPressed: () {
+ // job.toggleSavePosts();
+ // Scaffold.of(context).showSnackBar(
+ // SnackBar(
+ // duration: Duration(seconds: 1),
+ // content:
+ // Text('Save', style: TextStyle(color: Colors.white)),
+ // ),
+ // );
+ // },
+ // ),
+ // ),
+ // ),
+ ],
+ ),
+ Divider(height: 10),
+ Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ leading: Padding(
+ padding: const EdgeInsets.only(top: 10.0),
+ child: CircleAvatar(
+ radius: 25,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 23,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/mekuru.png'),
+ ),
+ ),
+ ),
+ title: Container(
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Mekuru Ramen',
+ style: TextStyle(
+ fontSize: 16, color: Color(0xff3b3b3b), height: 2)),
+ Row(
+ children: [
+ Text('Head Chef',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ fontSize: 13,
+ color: Color(0xff3b3b3b))),
+ Container(
+ padding: EdgeInsets.only(left: 5),
+ child: Material(
+ elevation: 1.0,
+ borderRadius: BorderRadius.circular(5.0),
+ color: Color(0xff65be3e),
+ child: Container(
+ padding: EdgeInsets.symmetric(horizontal: 4),
+ child: Text('Full Time',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 9,
+ height: 1.3)),
+ ),
+ ),
+ ),
+ ],
+ ),
+ Row(
+ children: [
+ Icon(Icons.location_on,
+ size: 10, color: Color(0xff8997a7)),
+ Flexible(
+ child: Text('Pontianak, West Borneo',
+ overflow: TextOverflow.ellipsis,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3))),
+ ],
+ ),
+ Row(
+ children: [
+ Text('Salary: ',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 5000000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ Text(' / Month',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ ],
+ ),
+ ],
+ ),
+ ),
+ onTap: () {
+ Navigator.of(context).pushNamed(JobDetails.routeName);
+ },
+ trailing: Padding(
+ padding: const EdgeInsets.only(top: 20.0),
+ child: Container(
+ alignment: Alignment.center,
+ width: 80,
+ height: 30,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(30),
+ color: Color(0xff8997a7),
+ ),
+ child: Text(
+ 'Applied',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontSize: 14, color: Colors.white),
+ )),
+ ),
+ ),
+ // Padding(
+ // padding: EdgeInsets.only(top: 6),
+ // child: Consumer(
+ // builder: (ctx, job, _) => IconButton(
+ // icon: Icon(
+ // job.isSave ? MdiIcons.bookmark : MdiIcons.bookmarkOutline,
+ // color: Theme.of(context).colorScheme.onPrimary),
+ // onPressed: () {
+ // job.toggleSavePosts();
+ // Scaffold.of(context).showSnackBar(
+ // SnackBar(
+ // duration: Duration(seconds: 1),
+ // content:
+ // Text('Save', style: TextStyle(color: Colors.white)),
+ // ),
+ // );
+ // },
+ // ),
+ // ),
+ // ),
+ ],
+ ),
+ Divider(height: 10),
+ Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ leading: Padding(
+ padding: const EdgeInsets.only(top: 10.0),
+ child: CircleAvatar(
+ radius: 25,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 23,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/mekuru.png'),
+ ),
+ ),
+ ),
+ title: Container(
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Mekuru Ramen',
+ style: TextStyle(
+ fontSize: 16, color: Color(0xff3b3b3b), height: 2)),
+ Row(
+ children: [
+ Text('Head Chef',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ fontSize: 13,
+ color: Color(0xff3b3b3b))),
+ Container(
+ padding: EdgeInsets.only(left: 5),
+ child: Material(
+ elevation: 1.0,
+ borderRadius: BorderRadius.circular(5.0),
+ color: Color(0xff65be3e),
+ child: Container(
+ padding: EdgeInsets.symmetric(horizontal: 4),
+ child: Text('Full Time',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 9,
+ height: 1.3)),
+ ),
+ ),
+ ),
+ ],
+ ),
+ Row(
+ children: [
+ Icon(Icons.location_on,
+ size: 10, color: Color(0xff8997a7)),
+ Flexible(
+ child: Text('Pontianak, West Borneo',
+ overflow: TextOverflow.ellipsis,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3))),
+ ],
+ ),
+ Row(
+ children: [
+ Text('Salary: ',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 5000000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ Text(' / Month',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ ],
+ ),
+ ],
+ ),
+ ),
+ onTap: () {
+ Navigator.of(context).pushNamed(JobDetails.routeName);
+ },
+ trailing: Padding(
+ padding: const EdgeInsets.only(top: 20.0),
+ child: Container(
+ alignment: Alignment.center,
+ width: 80,
+ height: 30,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(30),
+ color: Color(0xff8997a7),
+ ),
+ child: Text(
+ 'Applied',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontSize: 14, color: Colors.white),
+ )),
+ ),
+ ),
+ // Padding(
+ // padding: EdgeInsets.only(top: 6),
+ // child: Consumer(
+ // builder: (ctx, job, _) => IconButton(
+ // icon: Icon(
+ // job.isSave ? MdiIcons.bookmark : MdiIcons.bookmarkOutline,
+ // color: Theme.of(context).colorScheme.onPrimary),
+ // onPressed: () {
+ // job.toggleSavePosts();
+ // Scaffold.of(context).showSnackBar(
+ // SnackBar(
+ // duration: Duration(seconds: 1),
+ // content:
+ // Text('Save', style: TextStyle(color: Colors.white)),
+ // ),
+ // );
+ // },
+ // ),
+ // ),
+ // ),
+ ],
+ ),
+ Divider(height: 10),
+ // ),
+ // ),
+ // Dismissible(
+ // direction: DismissDirection.endToStart,
+ // confirmDismiss: (direction) {
+ // return showDialog(
+ // context: context,
+ // builder: (ctx) => AlertDialog(
+ // title: Text('Are you sure?'),
+ // content: Text('Do you want to remove the job from the list?'),
+ // actions: [
+ // FlatButton(
+ // child: Text('No'),
+ // onPressed: () {
+ // Navigator.of(ctx).pop(false);
+ // },
+ // ),
+ // FlatButton(
+ // child: Text('Yes'),
+ // onPressed: () {
+ // Navigator.of(ctx).pop(true);
+ // },
+ // ),
+ // ],
+ // ));
+ // },
+ // onDismissed: (direction) {},
+ // // key: ValueKey(job.id),
+ // background: Container(
+ // color: Theme.of(context).errorColor,
+ // child: Icon(
+ // Icons.delete,
+ // color: Colors.white,
+ // size: 30,
+ // ),
+ // alignment: Alignment.centerRight,
+ // padding: EdgeInsetsDirectional.only(end: 20),
+ // ),
+ // child: Container(
+ // padding: EdgeInsets.only(bottom: 10),
+ // decoration: BoxDecoration(
+ // borderRadius: BorderRadius.circular(0),
+ // color: Colors.white,
+ // boxShadow: [
+ // BoxShadow(
+ // color: Color(0xff0c0c0c0),
+ // blurRadius: 1.5,
+ // offset: Offset(1.0, 1.0))
+ // ],
+ // ),
+ // child:
+ Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ leading: Padding(
+ padding: const EdgeInsets.only(top: 10.0),
+ child: CircleAvatar(
+ radius: 25,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 23,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/mekuru.png'),
+ ),
+ ),
+ ),
+ title: Container(
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Mekuru Ramen',
+ style: TextStyle(
+ fontSize: 16, color: Color(0xff3b3b3b), height: 2)),
+ Row(
+ children: [
+ Text('Assistant Chef',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ fontSize: 13,
+ color: Color(0xff3b3b3b))),
+ Container(
+ padding: EdgeInsets.only(left: 5),
+ child: Material(
+ elevation: 1.0,
+ borderRadius: BorderRadius.circular(5.0),
+ color: Color(0xfffb4848),
+ child: Container(
+ padding: EdgeInsets.symmetric(horizontal: 4),
+ child: Text('Part Time',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 9,
+ height: 1.3)),
+ ),
+ ),
+ ),
+ ],
+ ),
+ Row(
+ children: [
+ Icon(Icons.location_on,
+ size: 10, color: Color(0xff8997a7)),
+ Flexible(
+ child: Text('Pontianak, West Borneo',
+ overflow: TextOverflow.ellipsis,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3))),
+ ],
+ ),
+ Row(
+ children: [
+ Text('Salary: ',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 3000000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ Text(' / Month',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ ],
+ ),
+ ],
+ ),
+ ),
+ onTap: () {
+ Navigator.of(context).pushNamed(JobDetails.routeName);
+ },
+ trailing: Padding(
+ padding: const EdgeInsets.only(top: 20.0),
+ child: Container(
+ alignment: Alignment.center,
+ width: 80,
+ height: 30,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(30),
+ color: Color(0xff4d4d4d),
+ ),
+ child: Text(
+ 'Hold',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontSize: 14, color: Colors.white),
+ )),
+ ),
+ ),
+ // Padding(
+ // padding: EdgeInsets.only(top: 6),
+ // child: Consumer(
+ // builder: (ctx, job, _) => IconButton(
+ // icon: Icon(
+ // job.isSave ? MdiIcons.bookmark : MdiIcons.bookmarkOutline,
+ // color: Theme.of(context).colorScheme.onPrimary),
+ // onPressed: () {
+ // job.toggleSavePosts();
+ // Scaffold.of(context).showSnackBar(
+ // SnackBar(
+ // duration: Duration(seconds: 1),
+ // content:
+ // Text('Save', style: TextStyle(color: Colors.white)),
+ // ),
+ // );
+ // },
+ // ),
+ // ),
+ // ),
+ ],
+ ),
+ Divider(height: 10),
+ // ),
+ // ),
+ // Dismissible(
+ // direction: DismissDirection.endToStart,
+ // confirmDismiss: (direction) {
+ // return showDialog(
+ // context: context,
+ // builder: (ctx) => AlertDialog(
+ // title: Text('Are you sure?'),
+ // content: Text('Do you want to remove the job from the list?'),
+ // actions: [
+ // FlatButton(
+ // child: Text('No'),
+ // onPressed: () {
+ // Navigator.of(ctx).pop(false);
+ // },
+ // ),
+ // FlatButton(
+ // child: Text('Yes'),
+ // onPressed: () {
+ // Navigator.of(ctx).pop(true);
+ // },
+ // ),
+ // ],
+ // ));
+ // },
+ // onDismissed: (direction) {},
+ // // key: ValueKey(job.id),
+ // background: Container(
+ // color: Theme.of(context).errorColor,
+ // child: Icon(
+ // Icons.delete,
+ // color: Colors.white,
+ // size: 30,
+ // ),
+ // alignment: Alignment.centerRight,
+ // padding: EdgeInsetsDirectional.only(end: 20),
+ // ),
+ // child: Container(
+ // padding: EdgeInsets.only(bottom: 10),
+ // decoration: BoxDecoration(
+ // borderRadius: BorderRadius.circular(0),
+ // color: Colors.white,
+ // boxShadow: [
+ // BoxShadow(
+ // color: Color(0xff0c0c0c0),
+ // blurRadius: 1.5,
+ // offset: Offset(1.0, 1.0))
+ // ],
+ // ),
+ // child:
+ Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ leading: Padding(
+ padding: const EdgeInsets.only(top: 10.0),
+ child: CircleAvatar(
+ radius: 25,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 23,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/up2u.png'),
+ ),
+ ),
+ ),
+ title: Container(
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Up2u',
+ style: TextStyle(
+ fontSize: 16, color: Color(0xff3b3b3b), height: 2)),
+ Row(
+ children: [
+ Text('Cleaning Service',
+ style: TextStyle(
+ fontFamily: 'VarelaRound',
+ fontSize: 13,
+ color: Color(0xff3b3b3b))),
+ Container(
+ padding: EdgeInsets.only(left: 5),
+ child: Material(
+ elevation: 1.0,
+ borderRadius: BorderRadius.circular(5.0),
+ color: Color(0xff8997a7),
+ child: Container(
+ padding: EdgeInsets.symmetric(horizontal: 4),
+ child: Text('Weekend',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 9,
+ height: 1.3)),
+ ),
+ ),
+ ),
+ ],
+ ),
+ Row(
+ children: [
+ Icon(Icons.location_on,
+ size: 10, color: Color(0xff8997a7)),
+ Flexible(
+ child: Text('Pontianak, West Borneo',
+ overflow: TextOverflow.ellipsis,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3))),
+ ],
+ ),
+ Row(
+ children: [
+ Text('Salary: ',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff8997a7),
+ height: 1.3)),
+ Text(
+ FlutterMoneyFormatter(
+ amount: 10000,
+ settings: MoneyFormatterSettings(
+ symbol: 'Rp',
+ thousandSeparator: '.',
+ fractionDigits: 0))
+ .output
+ .symbolOnLeft,
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ Text(' / Hour',
+ style: TextStyle(
+ fontSize: 11,
+ color: Color(0xff3b3b3b),
+ height: 1.3)),
+ ],
+ ),
+ ],
+ ),
+ ),
+ onTap: () {
+ Navigator.of(context).pushNamed(JobDetails.routeName);
+ },
+ trailing: Padding(
+ padding: const EdgeInsets.only(top: 20.0),
+ child: Container(
+ alignment: Alignment.center,
+ width: 80,
+ height: 30,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(30),
+ color: Color(0xfffb4848),
+ ),
+ child: Text(
+ 'Rejected',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontSize: 14, color: Colors.white),
+ )),
+ ),
+ ),
+ // Padding(
+ // padding: EdgeInsets.only(top: 6),
+ // child: Consumer(
+ // builder: (ctx, job, _) => IconButton(
+ // icon: Icon(
+ // job.isSave ? MdiIcons.bookmark : MdiIcons.bookmarkOutline,
+ // color: Theme.of(context).colorScheme.onPrimary),
+ // onPressed: () {
+ // job.toggleSavePosts();
+ // Scaffold.of(context).showSnackBar(
+ // SnackBar(
+ // duration: Duration(seconds: 1),
+ // content:
+ // Text('Save', style: TextStyle(color: Colors.white)),
+ // ),
+ // );
+ // },
+ // ),
+ // ),
+ // ),
+ ],
+ ),
+ // ),
+ // ),
+ Divider(height: 10),
+ Stack(
+ alignment: Alignment(1.06, -2),
+ children: [
+ ListTile(
+ leading: Padding(
+ padding: const EdgeInsets.only(top: 10.0),
+ child: CircleAvatar(
+ radius: 25,
+ backgroundColor: Colors.white,
+ child: CircleAvatar(
+ radius: 23,
+ backgroundColor: Colors.white,
+ backgroundImage: AssetImage('assets/IT.png'),
+ ),
+ ),
+ ),
+ title: Container(
+ padding: (EdgeInsets.only(top: 5)),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('PT.CCTV Indonesia',
+ style: TextStyle(
+ fontSize: 16, color: Color(0xff3b3b3b), height: 2)),
+ Row(
+ children: