created initial admin, reseller and user pages
This commit is contained in:
@@ -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"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
+33
-20
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user