initRoutes top-level property
read / write
Implementation
Function initRoutes = (RouteSettings settings) {
final args = settings.arguments;
switch (settings.name) {
// Into
case Routes.causesEditPage:
{
return customRoute(
builder: (context) => ChangeCausePage(), settings: settings);
}
case Routes.causesOnboardingPage:
{
return customRoute(
builder: (context) => CauseOnboardingPage(), settings: settings);
}
case Routes.login:
{
if (args is LoginPageArguments) {
return customRoute(
builder: (context) => LoginPage(args), settings: settings);
}
return customRoute(
builder: (context) => LoginPage(LoginPageArguments()),
settings: settings);
}
case Routes.emailSent:
case Routes.loginLinkClicked:
{
if (args is EmailSentPageArguments) {
return customRoute(
builder: (context) => EmailSentPage(args), settings: settings);
}
return customRoute(
builder: (context) => LoginPage(LoginPageArguments()),
settings: settings);
}
case Routes.loginCodeInput:
{
if (args is String) {
return customRoute(
builder: (context) => LoginCodePage(args), settings: settings);
}
return customRoute(
builder: (context) => LoginPage(LoginPageArguments()),
settings: settings);
}
case Routes.profileSetup:
{
return customRoute(
builder: (context) => ProfileSetup(), settings: settings);
}
case Routes.intro:
{
return customRoute(
builder: (context) => IntroPage(), settings: settings);
}
case Routes.faq:
{
return customRoute(builder: (context) => FAQPage(), settings: settings);
}
case Routes.parteners:
{
return customRoute(
builder: (context) => PartnersPage(), settings: settings);
}
case Routes.accountDetails:
{
return customRoute(builder: (context) => AccountDetailsPage());
}
// Tab page
case Routes.home:
{
return customRoute(
builder: (context) =>
TabsPage(TabsPageArguments(initialPage: TabPage.Home)),
settings: settings);
}
case Routes.explore:
{
return customRoute(
builder: (context) => TabsPage(TabsPageArguments(
initialPage: TabPage.Explore,
explorePageArgs: args is ExplorePageArguments ? args : null)),
settings: settings);
}
case Routes.campaign:
{
if (args is ListCampaign) {
return customRoute(
builder: (context) => CampaignPage(args), settings: settings);
}
break;
}
case Routes.actionInfo:
{
if (args is ActionInfoArguments) {
return customRoute(
builder: (context) => ActionInfo(args), settings: settings);
}
break;
}
// Other
case Routes.info:
{
if (args is InfoPageArgumnets) {
return customRoute(
builder: (context) => InfoPage(args), settings: settings);
}
return customRoute(
builder: (context) =>
TabsPage(TabsPageArguments(initialPage: TabPage.Home)),
settings: settings);
}
// Other
case Routes.organisationPage:
{
if (args is Organisation) {
return customRoute(
builder: (context) => OraganisationInfoPage(args),
settings: settings);
}
return customRoute(
builder: (context) => PartnersPage(), settings: settings);
}
case Routes.notification:
{
if (args is InternalNotification) {
return customRoute(
builder: (context) => NotificationPage(args), settings: settings);
}
break;
}
case Routes.search:
{
return customRoute(
builder: (context) => SearchPage(), settings: settings);
}
// TODO add a 404 page
default:
{
return customRoute(
builder: (context) =>
TabsPage(TabsPageArguments(initialPage: TabPage.Home)),
settings: settings);
}
}
};