boa noite, pessoal!
estou precisando de uma ajuda. Tenho um app feito com o Modular. Está em produção já. Aí fui dar manutenção e as rotas pararam de funcionar. Não sei se com as atualizações do modular algo que fiz errado agora ficou inviável.
Rotas:
const String HOME_ROUTE = "/home";
const String RECIPES_ROUTE = "/recipes";
const String RECIPE_EDIT_ROUTE = "/recipe-edit";
const String RECIPE_PRODUCTS_ROUTE = "/recipe-products";
E os módulos:
rotas no AppModule:
Router(Modular.initialRoute, child: (_, args) => SplashPage()),
Router(INTRO_ROUTE, module: IntroModule()),
Router(HOME_ROUTE, module: HomeModule()),
Router(RECIPES_ROUTE,
module: RecipesModule(), transition: TransitionType.fadeIn),
rotas no RecipesModule:
Router(Modular.initialRoute, child: (_, args) => RecipesPage()),
Router(
'/recipe-edit/:id',
child: (_, args) => RecipeEditPage(id: args.params['id']),
transition: TransitionType.downToUp,
),
Router(
RECIPE_PRODUCTS_ROUTE,
child: (_, args) => RecipeProductsPage(),
transition: TransitionType.downToUp,
),
Na RecipesPage tenho um FAB que faz a navegação para a página de edição, /recipes/recipe-edit. Se não informar o id, a página vai saber que é uma receita nova.
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add),
backgroundColor: Theme.of(context).primaryColor,
onPressed: () {
_goToEditingPage();
},
),
_goToEditingPage({int id}) async {
final successText = await Modular.to.pushNamed('/recipes/recipe-edit');
if (successText != null) {
_scaffoldKey.currentState.removeCurrentSnackBar();
_scaffoldKey.currentState
.showSnackBar(getSuccessSnackbar(context, successText));
}
}
Só que dessa forma, dá a mensagem Could not find a generator for route RouteSettings("/recipes/recipe-edit", null) in the _WidgetsAppState e não navega.
Tentei então mudar a navegação tirando a rota principal /recipes, ficando assim:
final successText = await Modular.to.pushNamed('/recipe-edit');
Mas também não navega e dá a mensagem Could not find a generator for route RouteSettings("/recipe-edit", null) in the _WidgetsAppState.
Tentei, então, usar o comando Modular.link, ficando assim:
final successText = await Modular.link.pushNamed('/recipe-edit');
Aí além de não navegar, a mensagem 'Could not find a generator for route RouteSettings("/intro/recipe-edit", null) in the _WidgetsAppState' mostra uma rota /intro que não deveria estar ali, pois pra chegar na RecipesPage eu usei o Modular.to.pushReplacementNamed(RECIPES_ROUTE).
Resumo da história é que não sei onde estou errando. Alguém poderia me dar uma luz, por favor?
Estou na versão mais recente do Flutter Modular