Giter Club home page Giter Club logo

Comments (4)

csells avatar csells commented on August 15, 2024

Hey, @jezsung, thanks for the feedback. Personally, I like my login and signup page to be a single page w/ panels/tabs. However, even if you want them to be separate pages, you can get the behavior you want like so:

GoRouter(routes: [
    GoRoute(path: '/', builder: ...HomePage...),
    GoRoute(path: '/login', builder: ...LoginPage...),
    GoRoute(path: '/signup', builder: ...SignupPage...),
  ],

  error: ...

  redirect: (state) {
    final loggedIn = ...
    final loggingIn = state.subloc == '/login' || state.subloc == '/signup';

    if( !loggedIn && !loggingIn ) return '/login';
    if( loggedIn && loggingIn ) return '/';
    return null;
  },
}

If the user isn't logged in, they'll be sent to /login. If they press Sign Up instead and you send them to '/signup' via context.go('/signup'), that's the link that will show in the address bar. They won't have a Back button on the AppBar but if they press Back on the browser, they'll be redirected to '/login' again, which I think is what you're after.

Does that allow you to do what you want?

from go_router.

jezsung avatar jezsung commented on August 15, 2024

@csells This would be ideal for the web, but I want the app bar to have the back button on mobile. This could be achieved by the push function that you mentioned on the other issue. Will that feature be implemented?

from go_router.

csells avatar csells commented on August 15, 2024

@jezsung I think your sign-up page would have a button to login instead, right? I don't think you'd want a Back button on the App bar in this case.

However, yes, I do plan to implement this feature.

from go_router.

csells avatar csells commented on August 15, 2024

dup: #9

from go_router.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.