Hi Everyone,
I’m building a project management tool and would love to get your advice on creating a dynamic, context-aware navigation structure. Here’s what I’m aiming to achieve:
1. Start Screen:
• Users should see a list of projects they’re involved in when opening the app.
• Navigation to other tabs or sections should be disabled until a project is selected.
2. Project Selection:
• Once a project is selected:
• It should be clear throughout the app which project is selected (e.g., the project name prominently displayed in a header or banner).
• The user should always have the option to return to the start screen and select another project. (for example by clicking on the project title)
• Other navigation menus should become visible only after a project is selected. Otherwise one would risk to change or view info without have a project selected which will cause mistakes.
Challenges:
I’ve explored a few things already:
• “Things in Things” functionality: This seems a plausible route, however in this case I can’t use the usual Glide navigation menu. And I would love to keep the usual menu since it’s responsive and working in all situations.
• Custom containers and buttons for navigation: May result in poor layout consistency on different screen sizes. Or you need to setup different versions of it working with visibility conditions which makes the app difficult to maintain.
• User-specific columns: Storing the selected project in the user profile based on that hide or show certain pages. But I don’t seem to find a nice way to conveniently show the selected project in every screen. Perhaps something could be done via custom css? Also all these filters and visibility rules that would need to be added add significant complexity to my app and reduce maintainability.
What I Need: → your inspiration / examples
Does anyone have experience implementing something similar or suggestions on the best approach?
I’m looking for a solution that balances:
-
Ease of use for the user.
-
Simplicity for app maintenance and scalability as functionality grows.
Thanks in advance for your help and insights!