Skip to content

feat(tour) designed tour of the board UI, created tour context & card step component. - #81

Open
moffatethan wants to merge 5 commits into
mainfrom
feat-react-tour
Open

feat(tour) designed tour of the board UI, created tour context & card step component.#81
moffatethan wants to merge 5 commits into
mainfrom
feat-react-tour

Conversation

@moffatethan

Copy link
Copy Markdown
Contributor

What this PR does (required):

  • Creates tour guide context for managing when we are giving a user a tour. This is for future if we ever do future guides such as introducing a new feature or a teams ui walkthrough.
  • Sets up the steps to go over how to work with the board and gives a description of each step.
  • Created a re-useable CardStep component in the steps file. I figured it was small enough to just keep it all in one file however, if the feature expands extracting will be a good move for better maintainability.

Screenshots / Videos (required):

Screen Shot 2021-06-03 at 2 07 23 PM

Any information needed to test this feature (required):

  • When you initially login it should just start up the tour after you complete it won't show up again. If you want to test it just delete the hasSeenTour property in LocalStorage.

Any issues with the current functionality (optional):

  • Columns are not draggable right now but I believe that is addressed in another PR.
  • This current implementation only tours the Board UI, if we want to tour future features I will rework the TourGuide so the steps are dynamic.

@moffatethan moffatethan changed the title Feat react tour feat(tour) designed tour of the board UI, created tour context & card step component. Jun 3, 2021
@moffatethan

Copy link
Copy Markdown
Contributor Author

Merge conflicts will be addressed after approval to merge.

if (!hasSeenTour) {
setIsTourMode(true);
}
});

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgot to add in the empty dependency array so it runs on just render as opposed to right now which is running on render then on every update.

const [tourSteps] = useState<ReactourStep[]>(steps || []);

useEffect(() => {
const hasSeenTour = localStorage.getItem('hasSeenTour');

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this project, just utilizing localStorage works however how it works currently is pretty static to only the tour of the board. For extending this and working with showcasing other features (i.e., teams UI), the implementation would have to be touched up. However, the TourProvider is flexible with updating the steps so just some tweaking for a better tour system.

);
};

export const steps: ReactourStep[] = [

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no step for adding a column, I will add that in as it's a pretty hidden feature and probably best to highlight it.

@amahalwy

amahalwy commented Jun 6, 2021

Copy link
Copy Markdown
Contributor

@moffatethan Large scale bug that exists likely due to our dashboard redirecting; check out this video here and here. Wasn't able to test unfortunately due to these crashes 😞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants