Add infrastructure to register when a component has unsaved changes and show a confirmation dialog upon a client-side navigation in this case. Use this infrastructure to show a confirmation dialog when attempting to navigate from the "Settings" tab to the "Members" tab if there are unsaved changes.
Add infrastructure to register when a component has unsaved changes and show a confirmation dialog upon a client-side navigation in this case. Use this infrastructure to show a confirmation dialog when attempting to navigate from the "Settings" tab to the "Members" tab if there are unsaved changes.
Fixes https://github.com/hypothesis/h/issues/9096.
Testing:
Implementation notes:
The implementation uses Wouter's API for customizing the location hook that is used by links that perform client-side navigations.