Provides a convenient hook mechanism to handle application navigation context of a component.

This will push the context when the condition is met and will cleanup the context when the condition is no longer met.

Unlike useApplicationNavigationContext, this is useful for case where the the context is attached to an element that is never remounted just hidden/shown based on some condition