Closed Addison-Stavlo closed 2 years ago
It'll be worthwhile to look at the existing implementation of the my home site setup checklist https://github.com/Automattic/wp-calypso/blob/trunk/client/my-sites/customer-home/cards/tasks/site-setup-list/index.jsx
... NOTE THIS IS A DRAFT IN PROGRESS. JUST MAKING NOTES/DISTINCTIONS AS I GO.
Home Setup Checklist
Launchpad Checklist
This folder contains most components and logic for the Home Setup Checklist. https://github.com/Automattic/wp-calypso/tree/trunk/client/my-sites/customer-home/cards/tasks/site-setup-list
Component for checklist wrapper. Checklist is rendered starting on line 268. Seems like the checklist itself could be pulled out of this file and put in separate component. https://github.com/Automattic/wp-calypso/blob/trunk/client/my-sites/customer-home/cards/tasks/site-setup-list/index.jsx
Component for checklist items. This component is quite simple compared to the one above. https://github.com/Automattic/wp-calypso/blob/trunk/client/my-sites/customer-home/cards/tasks/site-setup-list/nav-item.jsx
The Home Setup Checklist also draws on logic from elsewhere in terms of how checklists items are defined and stored.
The current stepper-based onboarding flow for new WP.com websites ends with a screen that has a kind-of similar feel to Launchpad. Like Launchpad, this is a task list that shows on the last page of an onboarding stepper flow. I thought it may also be a good jumping off point for Launchpad.
It looks like this:
I don't think the checkist / checklist items components used here are a good starting point. The list above is generated by very basic markup. The checklist lacks any logic or methods for checking status of items, doesn't handle any conditional rendering for complete/incomplete/intermediate states, etc. There just isn't much advantage gained by using this as a starting point.
1) Launchpad + Site Setup Checklist. Ultimately, I think we should try to coordinate our work with the Site Setup Checklist. They serve the same purpose in providing a trackable checklist of site set setup tasks with status. And they need similar UI elements and logic. And Automattic has already done a lot of work to refine a system for this. We'd end up reinventing a lot of the same logic if we start entirely from scratch.
2) Stage Things for Faster Immediate Progress. There's some urgency for Launchpad. We can accommodate this by taking some initial shortcuts to get Launchpad UI and checklist logic in place, and then moving toward integrating with Home Checklist afterward. In particular:
For tracking purposes Im going to close this initial issue for creating the initial checklist, and we have the follow up for further functionality - https://github.com/Automattic/wp-calypso/issues/66125
For the LaunchPad we will need a checklist module that:
newsletter
orlinks-in-bio
, but in the end will need to set this up to read the checklist variable being coordinated in this P2 - pdDR7T-bx-p2 . Related for defining checklists - https://github.com/Automattic/wp-calypso/issues/66125Perhaps we are able to re-use or re-purpose parts of existing MyHome checklists in some way.