step 6 : slicing vektor atas home screen
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:scanktpflutter/screen/home_screen.dart';
|
||||||
|
|
||||||
import '../screen/login_screen.dart';
|
import '../screen/login_screen.dart';
|
||||||
import '../screen/splash_screen.dart';
|
import '../screen/splash_screen.dart';
|
||||||
|
|
||||||
const splashRoute = "/splashRoute";
|
const splashRoute = "/splashRoute";
|
||||||
const loginRoute = "/loginRoute";
|
const loginRoute = "/loginRoute";
|
||||||
|
const homeRoute = "/homeRoute";
|
||||||
|
|
||||||
class AppRoute {
|
class AppRoute {
|
||||||
static Route<dynamic> generateRoute(RouteSettings settings) {
|
static Route<dynamic> generateRoute(RouteSettings settings) {
|
||||||
@@ -12,8 +14,8 @@ class AppRoute {
|
|||||||
if (settings.name == splashRoute) {
|
if (settings.name == splashRoute) {
|
||||||
return MaterialPageRoute(builder: (context) {
|
return MaterialPageRoute(builder: (context) {
|
||||||
return MediaQuery(
|
return MediaQuery(
|
||||||
data: MediaQuery.of(context)
|
data: MediaQuery.of(context).copyWith(
|
||||||
.copyWith(textScaler: TextScaler.linear(1.0), padding: EdgeInsets.all(0)),
|
textScaler: TextScaler.linear(1.0), padding: EdgeInsets.all(0)),
|
||||||
child: SplashScreen(),
|
child: SplashScreen(),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@@ -23,19 +25,31 @@ class AppRoute {
|
|||||||
if (settings.name == loginRoute) {
|
if (settings.name == loginRoute) {
|
||||||
return MaterialPageRoute(builder: (context) {
|
return MaterialPageRoute(builder: (context) {
|
||||||
return MediaQuery(
|
return MediaQuery(
|
||||||
data: MediaQuery.of(context)
|
data: MediaQuery.of(context).copyWith(
|
||||||
.copyWith(textScaler: TextScaler.linear(1.0), padding: EdgeInsets.all(0)),
|
textScaler: TextScaler.linear(1.0), padding: EdgeInsets.all(0)),
|
||||||
child: LoginScreen(),
|
child: LoginScreen(),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// home screen
|
||||||
|
if (settings.name == homeRoute) {
|
||||||
|
return MaterialPageRoute(builder: (context) {
|
||||||
|
return MediaQuery(
|
||||||
|
data: MediaQuery.of(context).copyWith(
|
||||||
|
textScaler: TextScaler.linear(1.0), padding: EdgeInsets.all(0)),
|
||||||
|
child: HomeScreen(),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return MaterialPageRoute(builder: (context) {
|
return MaterialPageRoute(builder: (context) {
|
||||||
return MediaQuery(
|
return MediaQuery(
|
||||||
data: MediaQuery.of(context)
|
data: MediaQuery.of(context).copyWith(
|
||||||
.copyWith(padding: const EdgeInsets.all(0), textScaler: TextScaler.linear(1.0)),
|
padding: const EdgeInsets.all(0),
|
||||||
|
textScaler: TextScaler.linear(1.0)),
|
||||||
child: SplashScreen(),
|
child: SplashScreen(),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ class MyApp extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
// initialRoute: splashRoute,
|
// initialRoute: splashRoute,
|
||||||
initialRoute: loginRoute,
|
// initialRoute: loginRoute,
|
||||||
|
initialRoute: homeRoute,
|
||||||
onGenerateRoute: AppRoute.generateRoute,
|
onGenerateRoute: AppRoute.generateRoute,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
93
lib/screen/home_screen.dart
Normal file
93
lib/screen/home_screen.dart
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
|
|
||||||
|
import '../app/constant.dart';
|
||||||
|
|
||||||
|
class HomeScreen extends HookConsumerWidget {
|
||||||
|
const HomeScreen({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
FocusManager.instance.primaryFocus!.unfocus();
|
||||||
|
},
|
||||||
|
child: Scaffold(
|
||||||
|
resizeToAvoidBottomInset: true,
|
||||||
|
backgroundColor: Constant.textWhite,
|
||||||
|
body: SingleChildScrollView(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
// atas
|
||||||
|
Image.asset(
|
||||||
|
'images/vektoratas.png',
|
||||||
|
width: double.infinity,
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: Constant.getActualYPhone(
|
||||||
|
context: context,
|
||||||
|
y: 34,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// button scan ktp
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
left: Constant.getActualXPhone(
|
||||||
|
context: context,
|
||||||
|
x: 20,
|
||||||
|
),
|
||||||
|
right: Constant.getActualXPhone(
|
||||||
|
context: context,
|
||||||
|
x: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: SizedBox(
|
||||||
|
width: double.infinity,
|
||||||
|
height: Constant.getActualYPhone(
|
||||||
|
context: context,
|
||||||
|
y: 48,
|
||||||
|
),
|
||||||
|
child: ElevatedButton(
|
||||||
|
onPressed: () {},
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: Constant.bgButton,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
elevation: 8,
|
||||||
|
shadowColor: Constant.bgButton.withOpacity(0.24),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons
|
||||||
|
.scanner,
|
||||||
|
color: Constant.textWhite,
|
||||||
|
size: 24,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width:
|
||||||
|
Constant.getActualXPhone(context: context, x: 10),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'SCAN KTP BARU',
|
||||||
|
style: Constant.titleButton500(context: context)
|
||||||
|
.copyWith(
|
||||||
|
color: Constant.textWhite,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user