Automattic / wp-calypso

The JavaScript and API powered WordPress.com
https://developer.wordpress.com
GNU General Public License v2.0
12.42k stars 1.99k forks source link

LaunchPad Checklists - Create the initial checklist module. #66124

Closed Addison-Stavlo closed 2 years ago

Addison-Stavlo commented 2 years ago

For the LaunchPad we will need a checklist module that:

Perhaps we are able to re-use or re-purpose parts of existing MyHome checklists in some way.

jeyip commented 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

edanzer commented 2 years ago

Notes on Reusing Home Setup Checklist for Launchpad

... NOTE THIS IS A DRAFT IN PROGRESS. JUST MAKING NOTES/DISTINCTIONS AS I GO.

Comparing Appearance

Home Setup Checklist

Screenshot on 2022-08-03 at 08-58-02

Launchpad Checklist

Screenshot on 2022-08-03 at 08-59-14

Relevant Files and Components

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

The Home Setup Checklist also draws on logic from elsewhere in terms of how checklists items are defined and stored.

Home vs Launchpad: What's the Same?

Home vs Launchpad: What's Different?

Home vs Launchpad: Other Considerations

Updates

edanzer commented 2 years ago

Notes on Reusing Current Stepper First Step List

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:

Screenshot on 2022-08-02 at 17-44-57(1)

Verdict

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.

edanzer commented 2 years ago

Proposal

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:

Addison-Stavlo commented 2 years ago

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