123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- import 'package:flutter/material.dart';
- import 'package:go_router/go_router.dart';
- import 'package:namer_app/account.dart';
- import 'package:namer_app/data.dart';
- import 'package:namer_app/list.dart';
- import 'package:namer_app/login.dart';
- import 'package:namer_app/lang.dart';
- import 'package:namer_app/listblock.dart';
- import 'package:flutter/rendering.dart';
- import 'package:namer_app/detail.dart';
- import 'package:namer_app/search.dart';
- void main() {
- runApp(MyApp());
- }
- final _router = GoRouter(
- routes: [
- GoRoute(path: '/', builder: (context, state) => MyHomePage(), routes: [
- GoRoute(
- path: 'login',
- builder: (context, state) => LoginPage(),
- ),
- GoRoute(
- path: 'list',
- builder: (context, state) => ListPage(),
- routes: [
- GoRoute(
- path: 'listblock',
- builder: (context, state) => ListBlockPage(),
- routes: [
- GoRoute(
- path: 'search/:type',
- builder: (context, state) {
- var item = items.firstWhere(
- (element) => element['type'] == state.params['type']);
- return SearchPage(items: item);
- })
- ],
- ),
- GoRoute(
- path: 'detail/:type',
- builder: (context, state) {
- var item = items.firstWhere(
- (element) => element['type'] == state.params['type']);
- return DetailPage(items: item);
- })
- ],
- ),
- GoRoute(
- path: 'account',
- builder: (context, state) => AccountPage(),
- ),
- ]),
- ],
- );
- class MyApp extends StatelessWidget {
- const MyApp({super.key});
- @override
- Widget build(BuildContext context) {
- return MaterialApp.router(
- debugShowCheckedModeBanner: false,
- title: 'TelNow Lat',
- routerConfig: _router,
- );
- }
- }
- class MyHomePage extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- debugPaintSizeEnabled = false;
- return Scaffold(
- body: Container(
- decoration: BoxDecoration(
- gradient: LinearGradient(
- begin: Alignment.topCenter,
- end: Alignment.bottomCenter,
- colors: [
- Color(0xffD9D9D9),
- Color(0xff0F968E),
- Color(0xff000000)
- ]),
- image: DecorationImage(
- image: AssetImage("assets/images/building.jpg"),
- fit: BoxFit.cover,
- )),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- Lang(),
- ],
- ),
- Expanded(
- child: Center(
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(
- 'tel',
- style: TextStyle(color: Color(0xffFF6600), fontSize: 48),
- ),
- Text(
- 'now',
- style: TextStyle(color: Color(0xffFFFFFF), fontSize: 48),
- ),
- ],
- )),
- ),
- Padding(
- padding: const EdgeInsets.only(left: 180, right: 180),
- child: Text(
- 'Silakan pindai QR terlebih dulu untuk mulai menggunakan aplikasi.',
- softWrap: true,
- textAlign: TextAlign.center,
- style: TextStyle(fontSize: 16, color: Colors.white),
- ),
- ),
- Expanded(
- child: Center(child: Pindai()),
- ),
- Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- children: [
- Text('Kebijakan Privasi',
- style: TextStyle(
- fontSize: 16,
- decoration: TextDecoration.underline,
- fontWeight: FontWeight.w400,
- decorationColor: Colors.white,
- color: Colors.white)),
- Text('Versi 4.0.0.0',
- style: TextStyle(
- fontSize: 16,
- fontWeight: FontWeight.w400,
- color: Colors.white,
- ))
- ],
- ),
- ),
- ],
- ),
- ),
- );
- }
- }
- class Pindai extends StatelessWidget {
- const Pindai({
- Key? key,
- }) : super(key: key);
- @override
- Widget build(BuildContext context) {
- return SizedBox(
- width: 257,
- height: 96,
- child: ElevatedButton(
- onPressed: () => context.go('/login'),
- style: ElevatedButton.styleFrom(
- backgroundColor: Color(0xff078C84).withOpacity(0.76),
- side: BorderSide(color: Colors.white),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12.0),
- ),
- ),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(
- 'Pindai QR',
- style: TextStyle(color: Colors.white, fontSize: 20),
- ),
- Container(
- width: 5,
- ),
- Image.asset(
- 'assets/images/scan_icon_183865.png',
- width: 32,
- height: 32,
- fit: BoxFit.cover,
- color: Color(0xffFFFFFF),
- )
- ],
- ),
- ));
- }
- }
|