initial router setup

This commit is contained in:
2023-08-27 16:43:24 -03:00
parent c02ea580c7
commit 30c69dd5a8
9 changed files with 118 additions and 16 deletions
+15
View File
@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class NcBasePage extends StatelessWidget {
const NcBasePage({super.key, required this.body});
final Widget body;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xffa600f9),
body: body,
);
}
}
+11
View File
@@ -0,0 +1,11 @@
import 'package:flutter/material.dart';
final GlobalKey<ScaffoldMessengerState> snackbarKey = GlobalKey<ScaffoldMessengerState>();
String baseURL = '';
String apiVersion = '';
class Endpoints {
static final String version = '$baseURL/version';
static final String login = '$baseURL/login';
}
+3 -3
View File
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:lixo/pages/initial_page.dart';
import 'package:lixo/routes.dart';
void main() {
runApp(const MyApp());
@@ -10,13 +10,13 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
return MaterialApp.router(
title: 'PCastLiveTV',
theme: ThemeData(
useMaterial3: true,
),
debugShowCheckedModeBanner: false,
home: const InitialPage(),
routerConfig: router,
);
}
}
+5 -12
View File
@@ -1,4 +1,6 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:lixo/components/nc_base_page.dart';
import 'package:lixo/components/nc_button.dart';
class InitialPage extends StatelessWidget {
@@ -6,8 +8,7 @@ class InitialPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xffa600f9),
return NcBasePage(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@@ -16,7 +17,7 @@ class InitialPage extends StatelessWidget {
caption: "Quero me registrar",
backgroundColor: Colors.black,
captionColor: Colors.white,
onPressed: _register,
onPressed: () => context.go('/register'),
),
const SizedBox(
height: 40,
@@ -25,19 +26,11 @@ class InitialPage extends StatelessWidget {
caption: "Já sou cliente",
backgroundColor: Colors.black,
captionColor: Colors.white,
onPressed: _login,
onPressed: () => context.go('/login'),
),
],
),
),
);
}
void _register() {
print("Quero me registrar");
}
void _login() {
print("Quero fazer login");
}
}
+20
View File
@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:lixo/components/nc_base_page.dart';
class LoginPage extends StatelessWidget {
const LoginPage({super.key});
@override
Widget build(BuildContext context) {
return const NcBasePage(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Login Page"),
],
),
),
);
}
}
+20
View File
@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:lixo/components/nc_base_page.dart';
class RegisterPage extends StatelessWidget {
const RegisterPage({super.key});
@override
Widget build(BuildContext context) {
return const NcBasePage(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Register Page"),
],
),
),
);
}
}
+26
View File
@@ -0,0 +1,26 @@
import 'package:go_router/go_router.dart';
import 'package:lixo/pages/initial_page.dart';
import 'package:lixo/pages/login_page.dart';
import 'package:lixo/pages/register_page.dart';
// GoRouter configuration
final router = GoRouter(
initialLocation: '/',
routes: [
GoRoute(
name: 'home', // Optional, add name to your routes. Allows you navigate by name instead of path
path: '/',
builder: (context, state) => const InitialPage(),
),
GoRoute(
name: 'login',
path: '/login',
builder: (context, state) => const LoginPage(),
),
GoRoute(
name: 'register',
path: '/register',
builder: (context, state) => const RegisterPage(),
),
],
);