Flutterando/routefly

[Duvida] Funcionamento do pop no flutter web

Closed this issue · 4 comments

dtodt commented

Olá, estou avaliando utilizar o Routefly em um projeto pessoal, e me deparei com uma situação.

Quando no web dou um pop o app volta a pagina, porém a rota permanece na url, faltaria eu configurar mais alguma coisa?

// main
usePathUrlStrategy();
 
// configuração
MaterialApp.router(
  debugShowCheckedModeBanner: false,
  title: 'App',
  routerConfig: Routefly.routerConfig(
    routes: routes,
    routeBuilder: (context, settings, child) {
      return MaterialPageRoute(
        settings: settings,
        builder: (context) => child,
      );
    },
  ),
  darkTheme: ThemeData.dark(),
  theme: ThemeData(),
  themeMode: ThemeMode.light,
);

// utilização
IconButton(
  icon: const FaIcon(FontAwesomeIcons.arrowLeftLong),
  onPressed: () {
    if (Navigator.of(context).canPop()) {
      print('canPop');
      return Routefly.of(context).pop();
    }
    print('cannotPop');
    Routefly.of(context).navigate(routePaths.path);
  },
),

Digamos, quando eu volto de /users/1 usando pop, o id permanece na url.

dtodt commented

@jacobaraujo7 👀 se vc tiver um tempo da uma olhadinha 👍

Olá.
Voltando de ferias agora.

Quando usamos a forma imperativa de rotas, (push e pop) não estamos influenciando diretamente a navegação.
A ideia aqui é que a forma imperativa sirva mais como um modal e não como uma navegação, bem como acontece na web.
Por isso que o push e o pop não mudam path do navegador.

Mesmo nessa maneira de funcionar tinha um bug no histórico de navegação.
Corrigi na versão 1.0.6.
Mas a ideia do meu comentario acima ainda prevalesse.

dtodt commented

Valeu @jacobaraujo7, bom retorno das ferias 👊