Skip to content

Instantly share code, notes, and snippets.

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:navigator/app/core/navigation/module.dart';
import 'package:navigator/app/core/navigation/widgets/custom_navigator.dart';
import 'package:navigator/app/core/navigation/types.dart';
class ModuleNavigator extends StatefulWidget {
ModuleNavigator({
Key key,
this.modules = const {},
class ModuleA extends Module {
ModuleA()
: super(
name: 'ModuleA',
initialRoute: ModuleATmp1.route,
routes: {
ModuleATmp1.route: (BuildContext context) => ModuleATmp1(),
ModuleATmp2.route: (BuildContext context) => ModuleATmp2(),
},
);
class AppModules {
static int moduleA = 0;
static int moduleB = 1;
static int moduleC = 2;
}
class App extends StatefulWidget {
@override
_AppState createState() => _AppState();
}
import 'package:flutter/material.dart';
class CustomNavigator extends StatefulWidget {
const CustomNavigator({
Key key,
this.navigatorKey,
this.routes,
this.pageRoute,
this.home,
this.observers,
import 'package:flutter/material.dart';
class Module {
Module({
@required this.name,
@required this.initialRoute,
@required this.routes,
});
final String name;
final String initialRoute;
import 'package:flutter/material.dart';
import 'package:navigator/app/app.dart';
import 'package:navigator/app/modules.dart';
void main() {
runApp(MaterialApp(
title: 'Navigation Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
{
"data": [
{
"quizId":1,
"name": "Programming"
},
{
"quizId":2,
"name": "Movies"
},
{
"quizId": 1,
"data": [
{
"questionId": 1,
"title": "Best programming language",
"body": "",
"correctAnswer": "1",
"answers": [
{
// Place fonts/icomoon.ttf in your fonts/ directory and
// add the following to your pubspec.yaml
// flutter:
// fonts:
// - family: icomoon
// fonts:
// - asset: fonts/icomoon.ttf
import 'package:flutter/widgets.dart';
class Icomoon {
class Car {
final int id;
final String name;
final CarBrand brand;
Car({
this.id,
this.name,
this.brand,
});