Skip to content

Commit

Permalink
feat: add new trivia page
Browse files Browse the repository at this point in the history
  • Loading branch information
luisburgos committed Sep 22, 2022
1 parent 7cc5be1 commit 1c0d1b4
Show file tree
Hide file tree
Showing 8 changed files with 82 additions and 37 deletions.
8 changes: 6 additions & 2 deletions example/lib/get/core_module.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import 'package:example/shared/app_routes.dart';
import 'package:get/get.dart';

import 'extensions/get_module.dart';
import 'home/module.dart';
import 'modules/home_module.dart';
import 'modules/trivia_module.dart';
import 'profile/module.dart';

class CoreModule extends GetModule {
Expand All @@ -14,9 +15,12 @@ class CoreModule extends GetModule {
List<GetRoute> get routes => [
GetModuleRoute(
module: HomeModule(
profileRoute: AppRoutes.profileRoot,
newTriviaRoute: AppRoutes.newTrivia,
),
),
GetModuleRoute(
module: TriviaModule(),
),
GetModuleRoute(
module: ProfileModule(),
),
Expand Down
1 change: 0 additions & 1 deletion example/lib/get/home/route.dart

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,35 +1,34 @@
import 'package:buzz/buzz.dart';
import 'package:example/shared/modules/trivia/new/page.dart';
import 'package:get/get.dart';

import '../../shared/modules/home/page.dart';
import '../extensions/get_module.dart';

class HomeModule extends GetModule {
final String profileRoute;
final String newTriviaRoute;

HomeModule({
required this.profileRoute,
required this.newTriviaRoute,
});

@override
List<GetRoute> get routes => [
HomeRoute(profileRoute),
HomeRoute(newTriviaRoute),
];
}

class HomeRoute extends GetRoute {
HomeRoute(this.profileRoute);
HomeRoute(this.newTriviaRoute);

final String profileRoute;
final String newTriviaRoute;

@override
GetPage get asGetPage => GetPage(
name: HomePage.routeName,
page: () => HomePage(
onNewTriviaGameTap: () {
Buzz.fire(
NavigateToCommand.named(profileRoute),
);
Buzz.fire(NavigateToNewTrivia());
},
onGoToBuzzTap: () {
Buzz.fire(
Expand Down
25 changes: 25 additions & 0 deletions example/lib/get/modules/trivia_module.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import 'package:example/shared/modules/trivia/new/page.dart';
import 'package:get/get.dart';

import '../extensions/get_module.dart';

class TriviaModule extends GetModule {
@override
List<GetRoute> get routes => [
NewTriviaRoute(),
];
}

class NewTriviaRoute extends GetRoute {
NewTriviaRoute();

@override
GetPage get asGetPage => GetPage(
name: NewTriviaPage.routeName,
page: () => NewTriviaPage(
onDoneTap: () {
throw UnimplementedError('Must go to TriviaGamePage');
},
),
);
}
4 changes: 3 additions & 1 deletion example/lib/shared/app_routes.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import 'package:example/shared/modules/home/page.dart';
import 'modules/home/page.dart';
import 'modules/trivia/new/page.dart';

class AppRoutes {
static const root = HomePage.routeName;
static const profileRoot = '/profile';
static const notFound = '/not-found';
static const newTrivia = NewTriviaPage.routeName;
}
41 changes: 41 additions & 0 deletions example/lib/shared/modules/trivia/new/page.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import 'package:buzz/buzz.dart';
import 'package:core/core.dart';
import 'package:flutter/material.dart';

//TODO: Should this be NewTriviaNavigateToCommand?
class NavigateToNewTrivia extends NavigateToCommand {
NavigateToNewTrivia()
: super(
directions: NavigationDirections(
routeBuilder: () => NewTriviaPage.routeName,
),
);
}

class NewTriviaPage extends StatelessWidget {
static const String routeName = '/new-trivia';
static const String pageName = 'NewTriviaPage';

const NewTriviaPage({
Key? key,
required this.onDoneTap,
}) : super(key: key);

final Function() onDoneTap;

@override
Widget build(BuildContext context) {
return BasePage(
name: 'New Trivia',
actions: [
MainAction(
label: 'Done',
onPressed: () {
debugPrint('$runtimeType onDoneTap');
onDoneTap();
},
),
],
);
}
}
1 change: 0 additions & 1 deletion example/lib/shared/modules/trivia/new_trivia.dart

This file was deleted.

24 changes: 0 additions & 24 deletions example/lib/shared/modules/trivia/trivia.dart

This file was deleted.

0 comments on commit 1c0d1b4

Please sign in to comment.