created initial admin, reseller and user pages
parent
8328b7af4c
commit
ee6e881fbf
|
|
@ -0,0 +1,20 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:pcastlivetv/components/nc_base_page.dart';
|
||||
|
||||
class AdminPage extends StatelessWidget {
|
||||
const AdminPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const NcBasePage(
|
||||
body: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text("Admin Page"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:fluttertoast/fluttertoast.dart';
|
||||
import 'package:motion_toast/motion_toast.dart';
|
||||
import 'package:motion_toast/resources/arrays.dart';
|
||||
import 'package:pcastlivetv/components/nc_form_field.dart';
|
||||
import 'package:pcastlivetv/routes.dart';
|
||||
import 'package:pcastlivetv/stores/login_store.dart';
|
||||
|
|
@ -93,18 +94,20 @@ class _LoginPageState extends State<LoginPage> {
|
|||
onPressed: () async {
|
||||
var result = await processAuth(formKey, store, email, password);
|
||||
if (result) {
|
||||
router.go('/user');
|
||||
switch (store.userType) {
|
||||
case 'A':
|
||||
router.go('/admin');
|
||||
break;
|
||||
case 'R':
|
||||
router.go('/reseller');
|
||||
break;
|
||||
case 'U':
|
||||
router.go('/user');
|
||||
break;
|
||||
default:
|
||||
}
|
||||
} else {
|
||||
Fluttertoast.showToast(
|
||||
msg: store.message!,
|
||||
toastLength: Toast.LENGTH_LONG,
|
||||
webBgColor: "linear-gradient(to right, #ff0000, #ff0000)",
|
||||
webPosition: "center",
|
||||
gravity: ToastGravity.BOTTOM,
|
||||
timeInSecForIosWeb: 1,
|
||||
backgroundColor: Colors.red,
|
||||
textColor: Colors.white,
|
||||
fontSize: 32);
|
||||
_displayErrorMotionToast(store.message!);
|
||||
}
|
||||
},
|
||||
child: const Padding(
|
||||
|
|
@ -126,6 +129,23 @@ class _LoginPageState extends State<LoginPage> {
|
|||
);
|
||||
}
|
||||
|
||||
void _displayErrorMotionToast(String message) {
|
||||
MotionToast.error(
|
||||
title: const Text(
|
||||
"ERRO",
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
description: Text(message),
|
||||
position: MotionToastPosition.top,
|
||||
barrierColor: Colors.black.withOpacity(0.3),
|
||||
width: 300,
|
||||
height: 80,
|
||||
dismissable: false,
|
||||
).show(context);
|
||||
}
|
||||
|
||||
Future<bool> processAuth(GlobalKey<FormState> formKey, LoginStore store, String email, String password) async {
|
||||
Function? close;
|
||||
if (formKey.currentState!.validate()) {
|
||||
|
|
@ -151,14 +171,7 @@ class _LoginPageState extends State<LoginPage> {
|
|||
}
|
||||
} catch (e) {
|
||||
close!();
|
||||
Fluttertoast.showToast(
|
||||
msg: e.toString().replaceAll("Exception: ", ""),
|
||||
toastLength: Toast.LENGTH_SHORT,
|
||||
gravity: ToastGravity.BOTTOM,
|
||||
timeInSecForIosWeb: 1,
|
||||
backgroundColor: Colors.red,
|
||||
textColor: Colors.white,
|
||||
fontSize: 16.0);
|
||||
_displayErrorMotionToast(e.toString().replaceAll("Exception: ", ""));
|
||||
}
|
||||
// SnackBarService.showSnackBar(content: e.toString().replaceAll("Exception: ", ""), error: true);
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:pcastlivetv/components/nc_base_page.dart';
|
||||
|
||||
class ResellerPage extends StatelessWidget {
|
||||
const ResellerPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const NcBasePage(
|
||||
body: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text("Reseller Page"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
import 'package:go_router/go_router.dart';
|
||||
import 'package:pcastlivetv/pages/admin_page.dart';
|
||||
import 'package:pcastlivetv/pages/initial_page.dart';
|
||||
import 'package:pcastlivetv/pages/login_page.dart';
|
||||
import 'package:pcastlivetv/pages/reseller_page.dart';
|
||||
import 'package:pcastlivetv/pages/user_page.dart';
|
||||
|
||||
import 'pages/register_page.dart';
|
||||
|
|
@ -24,6 +26,16 @@ final router = GoRouter(
|
|||
path: '/register',
|
||||
builder: (context, state) => const RegisterPage(),
|
||||
),
|
||||
GoRoute(
|
||||
name: 'admin',
|
||||
path: '/admin',
|
||||
builder: (context, state) => const AdminPage(),
|
||||
),
|
||||
GoRoute(
|
||||
name: 'reseller',
|
||||
path: '/reseller',
|
||||
builder: (context, state) => const ResellerPage(),
|
||||
),
|
||||
GoRoute(
|
||||
name: 'user',
|
||||
path: '/user',
|
||||
|
|
|
|||
16
pubspec.lock
16
pubspec.lock
|
|
@ -96,14 +96,6 @@ packages:
|
|||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
fluttertoast:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: fluttertoast
|
||||
sha256: "474f7d506230897a3cd28c965ec21c5328ae5605fc9c400cd330e9e9d6ac175c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.2.2"
|
||||
go_router:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -168,6 +160,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.9.1"
|
||||
motion_toast:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: motion_toast
|
||||
sha256: f27cfcd39c6a0c433670fb20e4add55c42f925a5382b25f58e917c054d47a624
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.7.8"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ dependencies:
|
|||
velocity_x: ^4.1.1
|
||||
go_router: ^10.1.0
|
||||
validatorless: ^1.2.3
|
||||
dio: ^5.3.2
|
||||
motion_toast: ^2.7.8
|
||||
|
||||
flutter_web_plugins:
|
||||
sdk: flutter
|
||||
dio: ^5.3.2
|
||||
fluttertoast: ^8.2.2
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
|
|
|||
Loading…
Reference in New Issue