The survey is hidden until 30 seconds after the user has first visited
the visualizations page, at which point the survey notification will
be rendered at the top of the view. The survey notification is set to a
fixed position so that it will be visible on rendering, regardless of
if the user has scrolled down the page, and will appear on any page
which the user is on.
After the initial rendering, the survey will continue to be displayed
until the user has clicked the survey link or has closed it, after which
the survey will not appear again.
The survey status is stored in a persisted reducer to be consistent
with how we have managed other local storage data.
Connects #69
Demo
Testing Instructions
Navigate to the Visualizations page in the Nelify preview. The survey notification shouldn't show.
Wait for 30 seconds (scrolling or navigating around the application while you wait is fine).
The survey notification should appear. Click the link.
You should be taken to the survey in a new tab. The notification should disappear in the Netlify preview.
Refresh the page, navigate to the visualizations page, and wait for 30 seconds. The notification shouldn't appear.
Clear out local storage, refresh, navigate to the visualizations page, and wait for 30 seconds.
Once the notification appears, click the 'close' button. The notification should disappear.
Refresh the page, navigate to the visualizations page, and wait for 30 seconds. The notification shouldn't appear.
Overview
The survey is hidden until 30 seconds after the user has first visited the visualizations page, at which point the survey notification will be rendered at the top of the view. The survey notification is set to a fixed position so that it will be visible on rendering, regardless of if the user has scrolled down the page, and will appear on any page which the user is on.
After the initial rendering, the survey will continue to be displayed until the user has clicked the survey link or has closed it, after which the survey will not appear again.
The survey status is stored in a persisted reducer to be consistent with how we have managed other local storage data.
Connects #69
Demo
Testing Instructions