@automattic/launchpad 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.ts +16 -0
- package/.storybook/preview.ts +6 -0
- package/README.md +11 -2
- package/dist/cjs/action-components/index.js +6 -0
- package/dist/cjs/action-components/index.js.map +1 -0
- package/dist/cjs/action-components/share-site-modal/index.js +44 -0
- package/dist/cjs/action-components/share-site-modal/index.js.map +1 -0
- package/dist/cjs/action-components/share-site-modal/style.scss +159 -0
- package/dist/cjs/badge/index.js +2 -2
- package/dist/cjs/badge/index.js.map +1 -1
- package/dist/cjs/checklist/index.js +16 -8
- package/dist/cjs/checklist/index.js.map +1 -1
- package/dist/cjs/checklist/index.stories.js +29 -0
- package/dist/cjs/checklist/index.stories.js.map +1 -0
- package/dist/cjs/checklist-item/index.js +30 -13
- package/dist/cjs/checklist-item/index.js.map +1 -1
- package/dist/cjs/checklist-item/index.stories.js +79 -0
- package/dist/cjs/checklist-item/index.stories.js.map +1 -0
- package/dist/cjs/checklist-item/style.scss +142 -22
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/launchpad-container/index.js +11 -0
- package/dist/cjs/launchpad-container/index.js.map +1 -0
- package/dist/cjs/launchpad-container/style.scss +59 -0
- package/dist/cjs/launchpad-internal.js +40 -0
- package/dist/cjs/launchpad-internal.js.map +1 -0
- package/dist/cjs/launchpad-internal.stories.js +45 -0
- package/dist/cjs/launchpad-internal.stories.js.map +1 -0
- package/dist/cjs/launchpad.js +39 -10
- package/dist/cjs/launchpad.js.map +1 -1
- package/dist/cjs/msw/link-in-bio.js +68 -0
- package/dist/cjs/msw/link-in-bio.js.map +1 -0
- package/dist/cjs/msw/resolver.js +19 -0
- package/dist/cjs/msw/resolver.js.map +1 -0
- package/dist/cjs/msw/setup-free.js +88 -0
- package/dist/cjs/msw/setup-free.js.map +1 -0
- package/dist/cjs/setup-actions.js +51 -54
- package/dist/cjs/setup-actions.js.map +1 -1
- package/dist/cjs/use-tracking/index.js +72 -0
- package/dist/cjs/use-tracking/index.js.map +1 -0
- package/dist/esm/action-components/index.js +2 -0
- package/dist/esm/action-components/index.js.map +1 -0
- package/dist/esm/action-components/share-site-modal/index.js +42 -0
- package/dist/esm/action-components/share-site-modal/index.js.map +1 -0
- package/dist/esm/action-components/share-site-modal/style.scss +159 -0
- package/dist/esm/badge/index.js +2 -2
- package/dist/esm/badge/index.js.map +1 -1
- package/dist/esm/checklist/index.js +14 -8
- package/dist/esm/checklist/index.js.map +1 -1
- package/dist/esm/checklist/index.stories.js +25 -0
- package/dist/esm/checklist/index.stories.js.map +1 -0
- package/dist/esm/checklist-item/index.js +29 -14
- package/dist/esm/checklist-item/index.js.map +1 -1
- package/dist/esm/checklist-item/index.stories.js +75 -0
- package/dist/esm/checklist-item/index.stories.js.map +1 -0
- package/dist/esm/checklist-item/style.scss +142 -22
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/launchpad-container/index.js +8 -0
- package/dist/esm/launchpad-container/index.js.map +1 -0
- package/dist/esm/launchpad-container/style.scss +59 -0
- package/dist/esm/launchpad-internal.js +37 -0
- package/dist/esm/launchpad-internal.js.map +1 -0
- package/dist/esm/launchpad-internal.stories.js +41 -0
- package/dist/esm/launchpad-internal.stories.js.map +1 -0
- package/dist/esm/launchpad.js +41 -13
- package/dist/esm/launchpad.js.map +1 -1
- package/dist/esm/msw/link-in-bio.js +66 -0
- package/dist/esm/msw/link-in-bio.js.map +1 -0
- package/dist/esm/msw/resolver.js +14 -0
- package/dist/esm/msw/resolver.js.map +1 -0
- package/dist/esm/msw/setup-free.js +86 -0
- package/dist/esm/msw/setup-free.js.map +1 -0
- package/dist/esm/setup-actions.js +51 -54
- package/dist/esm/setup-actions.js.map +1 -1
- package/dist/esm/use-tracking/index.js +68 -0
- package/dist/esm/use-tracking/index.js.map +1 -0
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/action-components/index.d.ts +2 -0
- package/dist/types/action-components/index.d.ts.map +1 -0
- package/dist/types/action-components/share-site-modal/index.d.ts +9 -0
- package/dist/types/action-components/share-site-modal/index.d.ts.map +1 -0
- package/dist/types/badge/index.d.ts.map +1 -1
- package/dist/types/checklist/index.d.ts +6 -7
- package/dist/types/checklist/index.d.ts.map +1 -1
- package/dist/types/checklist/index.stories.d.ts +8 -0
- package/dist/types/checklist/index.stories.d.ts.map +1 -0
- package/dist/types/checklist-item/index.d.ts +11 -8
- package/dist/types/checklist-item/index.d.ts.map +1 -1
- package/dist/types/checklist-item/index.stories.d.ts +14 -0
- package/dist/types/checklist-item/index.stories.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/launchpad-container/index.d.ts +15 -0
- package/dist/types/launchpad-container/index.d.ts.map +1 -0
- package/dist/types/launchpad-internal.d.ts +20 -0
- package/dist/types/launchpad-internal.d.ts.map +1 -0
- package/dist/types/launchpad-internal.stories.d.ts +8 -0
- package/dist/types/launchpad-internal.stories.d.ts.map +1 -0
- package/dist/types/launchpad.d.ts +10 -9
- package/dist/types/launchpad.d.ts.map +1 -1
- package/dist/types/msw/link-in-bio.d.ts +35 -0
- package/dist/types/msw/link-in-bio.d.ts.map +1 -0
- package/dist/types/msw/resolver.d.ts +3 -0
- package/dist/types/msw/resolver.d.ts.map +1 -0
- package/dist/types/msw/setup-free.d.ts +35 -0
- package/dist/types/msw/setup-free.d.ts.map +1 -0
- package/dist/types/setup-actions.d.ts +1 -1
- package/dist/types/setup-actions.d.ts.map +1 -1
- package/dist/types/types.d.ts +19 -9
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/use-tracking/index.d.ts +14 -0
- package/dist/types/use-tracking/index.d.ts.map +1 -0
- package/package.json +24 -16
- package/src/action-components/index.ts +1 -0
- package/src/action-components/share-site-modal/index.tsx +100 -0
- package/src/action-components/share-site-modal/style.scss +159 -0
- package/src/badge/index.tsx +2 -4
- package/src/checklist/index.stories.tsx +45 -0
- package/src/checklist/index.tsx +22 -21
- package/src/checklist/test/index.tsx +26 -0
- package/src/checklist-item/index.stories.tsx +92 -0
- package/src/checklist-item/index.tsx +62 -22
- package/src/checklist-item/style.scss +142 -22
- package/src/checklist-item/test/index.tsx +232 -0
- package/src/index.ts +3 -0
- package/src/launchpad-container/index.tsx +45 -0
- package/src/launchpad-container/style.scss +59 -0
- package/src/launchpad-container/test/index.tsx +72 -0
- package/src/launchpad-internal.stories.tsx +49 -0
- package/src/launchpad-internal.tsx +85 -0
- package/src/launchpad.tsx +80 -30
- package/src/msw/link-in-bio.ts +66 -0
- package/src/msw/resolver.ts +18 -0
- package/src/msw/setup-free.ts +85 -0
- package/src/setup-actions.ts +67 -54
- package/src/test/launchpad.tsx +51 -24
- package/src/test/lib/fixtures.ts +7 -2
- package/src/types.ts +24 -9
- package/src/use-tracking/index.tsx +87 -0
- package/src/use-tracking/test/index.tsx +116 -0
- package/static/mockServiceWorker.js +287 -0
- package/src/test/checklist-item.tsx +0 -96
- package/src/test/checklist.tsx +0 -25
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = {
|
|
4
|
+
site_intent: 'free',
|
|
5
|
+
launchpad_screen: 'full',
|
|
6
|
+
checklist_statuses: {
|
|
7
|
+
setup_free: true,
|
|
8
|
+
setup_general: true,
|
|
9
|
+
design_completed: true,
|
|
10
|
+
site_theme_selected: true,
|
|
11
|
+
},
|
|
12
|
+
checklist: [
|
|
13
|
+
{
|
|
14
|
+
id: 'plan_selected',
|
|
15
|
+
title: 'Choose a plan',
|
|
16
|
+
completed: true,
|
|
17
|
+
disabled: false,
|
|
18
|
+
subtitle: '',
|
|
19
|
+
badge_text: '',
|
|
20
|
+
isLaunchTask: false,
|
|
21
|
+
calypso_path: '/plans/site62798.wordpress.com',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: 'setup_free',
|
|
25
|
+
title: 'Personalize your site',
|
|
26
|
+
completed: true,
|
|
27
|
+
disabled: false,
|
|
28
|
+
subtitle: '',
|
|
29
|
+
badge_text: '',
|
|
30
|
+
isLaunchTask: false,
|
|
31
|
+
calypso_path: '/settings/general/site62798.wordpress.com',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'design_selected',
|
|
35
|
+
title: 'Select a design',
|
|
36
|
+
completed: true,
|
|
37
|
+
disabled: false,
|
|
38
|
+
subtitle: '',
|
|
39
|
+
badge_text: '',
|
|
40
|
+
isLaunchTask: false,
|
|
41
|
+
calypso_path: '/setup/update-design/designSetup?siteSlug=site62798.wordpress.com',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'domain_upsell',
|
|
45
|
+
title: 'Choose a domain',
|
|
46
|
+
completed: false,
|
|
47
|
+
disabled: false,
|
|
48
|
+
subtitle: '',
|
|
49
|
+
badge_text: 'Upgrade plan',
|
|
50
|
+
isLaunchTask: false,
|
|
51
|
+
calypso_path: '/setup/domain-upsell/domains?siteSlug=site62798.wordpress.com',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: 'first_post_published',
|
|
55
|
+
title: 'Write your first post',
|
|
56
|
+
completed: false,
|
|
57
|
+
disabled: false,
|
|
58
|
+
subtitle: '',
|
|
59
|
+
badge_text: '',
|
|
60
|
+
isLaunchTask: false,
|
|
61
|
+
calypso_path: '/post/site62798.wordpress.com',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 'design_edited',
|
|
65
|
+
title: 'Edit site design',
|
|
66
|
+
completed: false,
|
|
67
|
+
disabled: false,
|
|
68
|
+
subtitle: '',
|
|
69
|
+
badge_text: '',
|
|
70
|
+
isLaunchTask: false,
|
|
71
|
+
calypso_path: '/site-editor/site62798.wordpress.com',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'site_launched',
|
|
75
|
+
title: 'Launch your site',
|
|
76
|
+
completed: false,
|
|
77
|
+
disabled: false,
|
|
78
|
+
subtitle: '',
|
|
79
|
+
badge_text: '',
|
|
80
|
+
isLaunchTask: true,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
is_enabled: true,
|
|
84
|
+
is_dismissed: false,
|
|
85
|
+
is_dismissible: false,
|
|
86
|
+
title: 'Next steps for your site',
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=setup-free.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-free.js","sourceRoot":"","sources":["../../../src/msw/setup-free.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,WAAW,EAAE,MAAM;IACnB,gBAAgB,EAAE,MAAM;IACxB,kBAAkB,EAAE;QACnB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,IAAI;KACzB;IACD,SAAS,EAAE;QACV;YACC,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,gCAAgC;SAC9C;QACD;YACC,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,uBAAuB;YAC9B,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,2CAA2C;SACzD;QACD;YACC,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,iBAAiB;YACxB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,mEAAmE;SACjF;QACD;YACC,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,iBAAiB;YACxB,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,+DAA+D;SAC7E;QACD;YACC,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,uBAAuB;YAC9B,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,+BAA+B;SAC7C;QACD;YACC,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,kBAAkB;YACzB,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,sCAAsC;SACpD;QACD;YACC,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,kBAAkB;YACzB,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,IAAI;SAClB;KACD;IACD,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,0BAA0B;CACjC,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.setUpActionsForTasks = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const calypso_config_1 = tslib_1.__importDefault(require("@automattic/calypso-config"));
|
|
6
6
|
const data_stores_1 = require("@automattic/data-stores");
|
|
7
|
+
const i18n_utils_1 = require("@automattic/i18n-utils");
|
|
7
8
|
const viewport_1 = require("@automattic/viewport");
|
|
8
9
|
const url_1 = require("@wordpress/url");
|
|
9
10
|
const wpcom_proxy_request_1 = tslib_1.__importDefault(require("wpcom-proxy-request"));
|
|
@@ -14,29 +15,24 @@ const TASKS_TO_COMPLETE_ON_CLICK = [
|
|
|
14
15
|
'manage_subscribers',
|
|
15
16
|
'connect_social_media',
|
|
16
17
|
'drive_traffic',
|
|
18
|
+
'site_monitoring_page',
|
|
19
|
+
'front_page_updated',
|
|
20
|
+
'post_sharing_enabled',
|
|
21
|
+
'mobile_app_installed',
|
|
17
22
|
];
|
|
18
|
-
const setUpActionsForTasks = ({ siteSlug, tasks, tracksData, extraActions, uiContext = 'calypso', }) => {
|
|
19
|
-
const { recordTracksEvent, checklistSlug,
|
|
20
|
-
const { setShareSiteModalIsOpen,
|
|
21
|
-
|
|
22
|
-
const recordTaskClickTracksEvent = (task) => {
|
|
23
|
-
recordTracksEvent('calypso_launchpad_task_clicked', {
|
|
24
|
-
checklist_slug: checklistSlug,
|
|
25
|
-
checklist_completed: tasklistCompleted,
|
|
26
|
-
task_id: task.id,
|
|
27
|
-
is_completed: task.completed,
|
|
28
|
-
context: launchpadContext,
|
|
29
|
-
order: task.order,
|
|
30
|
-
});
|
|
31
|
-
};
|
|
23
|
+
const setUpActionsForTasks = ({ siteSlug, tasks, tracksData, extraActions, eventHandlers, uiContext = 'calypso', }) => {
|
|
24
|
+
const { recordTracksEvent, checklistSlug, launchpadContext } = tracksData;
|
|
25
|
+
const { setShareSiteModalIsOpen, setActiveChecklist } = extraActions;
|
|
26
|
+
const { onSiteLaunched, onTaskClick } = eventHandlers || {};
|
|
32
27
|
// Add actions to the tasks.
|
|
33
28
|
return tasks.map((task) => {
|
|
34
29
|
let action;
|
|
35
30
|
let logMissingCalypsoPath = false;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
let useCalypsoPath = true;
|
|
32
|
+
const hasCalypsoPath = task.calypso_path !== undefined;
|
|
33
|
+
if (uiContext === 'calypso' && hasCalypsoPath) {
|
|
34
|
+
if (task.id === 'drive_traffic' && !(0, viewport_1.isMobile)() && hasCalypsoPath) {
|
|
35
|
+
task.calypso_path = (0, url_1.addQueryArgs)(task.calypso_path, { tour: 'marketingConnectionsTour' });
|
|
40
36
|
}
|
|
41
37
|
// Enable task in 'calypso' context
|
|
42
38
|
if (task.id === 'setup_general') {
|
|
@@ -48,7 +44,6 @@ const setUpActionsForTasks = ({ siteSlug, tasks, tracksData, extraActions, uiCon
|
|
|
48
44
|
checklist_statuses: { [task.id]: true },
|
|
49
45
|
});
|
|
50
46
|
}
|
|
51
|
-
window.location.assign(targetPath);
|
|
52
47
|
};
|
|
53
48
|
}
|
|
54
49
|
else {
|
|
@@ -57,64 +52,45 @@ const setUpActionsForTasks = ({ siteSlug, tasks, tracksData, extraActions, uiCon
|
|
|
57
52
|
action = () => {
|
|
58
53
|
setShareSiteModalIsOpen?.(true);
|
|
59
54
|
};
|
|
55
|
+
useCalypsoPath = false;
|
|
60
56
|
break;
|
|
61
57
|
case 'site_title':
|
|
62
58
|
logMissingCalypsoPath = true;
|
|
63
|
-
|
|
64
|
-
window.location.assign(`/settings/general/${siteSlug}`);
|
|
65
|
-
};
|
|
59
|
+
task.calypso_path = `/settings/general/${siteSlug}`;
|
|
66
60
|
break;
|
|
67
61
|
case 'domain_claim':
|
|
68
62
|
case 'domain_upsell':
|
|
69
63
|
case 'domain_customize':
|
|
70
64
|
logMissingCalypsoPath = true;
|
|
71
|
-
|
|
72
|
-
window.location.assign(`/domains/add/${siteSlug}`);
|
|
73
|
-
};
|
|
65
|
+
task.calypso_path = `/domains/add/${siteSlug}`;
|
|
74
66
|
break;
|
|
75
67
|
case 'drive_traffic':
|
|
76
68
|
logMissingCalypsoPath = true;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
: `/marketing/connections/${siteSlug}?tour=marketingConnectionsTour`;
|
|
81
|
-
window.location.assign(url);
|
|
82
|
-
};
|
|
69
|
+
task.calypso_path = (0, viewport_1.isMobile)()
|
|
70
|
+
? `/marketing/connections/${siteSlug}`
|
|
71
|
+
: `/marketing/connections/${siteSlug}?tour=marketingConnectionsTour`;
|
|
83
72
|
break;
|
|
84
73
|
case 'add_new_page':
|
|
85
74
|
logMissingCalypsoPath = true;
|
|
86
|
-
|
|
87
|
-
window.location.assign(`/page/${siteSlug}`);
|
|
88
|
-
};
|
|
75
|
+
task.calypso_path = `/page/${siteSlug}`;
|
|
89
76
|
break;
|
|
90
77
|
case 'edit_page':
|
|
91
78
|
logMissingCalypsoPath = true;
|
|
92
|
-
|
|
93
|
-
window.location.assign(`/pages/${siteSlug}`);
|
|
94
|
-
};
|
|
79
|
+
task.calypso_path = `/pages/${siteSlug}`;
|
|
95
80
|
break;
|
|
96
81
|
case 'update_about_page':
|
|
97
82
|
logMissingCalypsoPath = true;
|
|
98
|
-
|
|
99
|
-
window.location.assign(`/page/${siteSlug}/${task?.extra_data?.about_page_id}`);
|
|
100
|
-
};
|
|
83
|
+
task.calypso_path = `/page/${siteSlug}/${task?.extra_data?.about_page_id}`;
|
|
101
84
|
break;
|
|
102
85
|
case 'customize_welcome_message':
|
|
103
86
|
logMissingCalypsoPath = true;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
window.location.assign(`/settings/reading/${siteSlug}#newsletter-settings`);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
87
|
+
task.calypso_path = calypso_config_1.default.isEnabled('settings/newsletter-settings-page')
|
|
88
|
+
? `/settings/newsletter/${siteSlug}`
|
|
89
|
+
: `/settings/reading/${siteSlug}#newsletter-settings`;
|
|
112
90
|
break;
|
|
113
91
|
case 'manage_subscribers':
|
|
114
92
|
logMissingCalypsoPath = true;
|
|
115
|
-
|
|
116
|
-
window.location.assign(`/subscribers/${siteSlug}`);
|
|
117
|
-
};
|
|
93
|
+
task.calypso_path = `/subscribers/${siteSlug}`;
|
|
118
94
|
break;
|
|
119
95
|
case 'site_launched':
|
|
120
96
|
case 'blog_launched':
|
|
@@ -126,11 +102,29 @@ const setUpActionsForTasks = ({ siteSlug, tasks, tracksData, extraActions, uiCon
|
|
|
126
102
|
apiVersion: '1.1',
|
|
127
103
|
method: 'post',
|
|
128
104
|
});
|
|
129
|
-
|
|
105
|
+
onSiteLaunched?.();
|
|
106
|
+
};
|
|
107
|
+
useCalypsoPath = false;
|
|
108
|
+
break;
|
|
109
|
+
case 'review_site':
|
|
110
|
+
action = () => {
|
|
111
|
+
// redirects to the site slug home page in a new tab
|
|
112
|
+
window.open(`https://${siteSlug}`, '_blank');
|
|
113
|
+
(0, data_stores_1.updateLaunchpadSettings)(siteSlug, {
|
|
114
|
+
checklist_statuses: { [task.id]: true },
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
useCalypsoPath = false;
|
|
118
|
+
break;
|
|
119
|
+
case 'domain_dns_mapped':
|
|
120
|
+
action = () => {
|
|
121
|
+
window.open((0, i18n_utils_1.localizeUrl)(`https://wordpress.com/support/domains/connect-existing-domain/#step-2-connect-your-domain`), '_blank');
|
|
130
122
|
};
|
|
123
|
+
useCalypsoPath = false;
|
|
131
124
|
break;
|
|
132
125
|
default:
|
|
133
126
|
logMissingCalypsoPath = true;
|
|
127
|
+
useCalypsoPath = false;
|
|
134
128
|
break;
|
|
135
129
|
}
|
|
136
130
|
}
|
|
@@ -143,12 +137,15 @@ const setUpActionsForTasks = ({ siteSlug, tasks, tracksData, extraActions, uiCon
|
|
|
143
137
|
});
|
|
144
138
|
}
|
|
145
139
|
const actionDispatch = () => {
|
|
146
|
-
|
|
147
|
-
if (siteSlug && setActiveChecklist) {
|
|
140
|
+
if (siteSlug && setActiveChecklist && calypso_config_1.default.isEnabled('launchpad/navigator')) {
|
|
148
141
|
setActiveChecklist(siteSlug, checklistSlug);
|
|
149
142
|
}
|
|
143
|
+
onTaskClick?.(task);
|
|
150
144
|
action?.();
|
|
151
145
|
};
|
|
146
|
+
// Note that we double-check for both the flag and a valid calypso_path as a safety check.
|
|
147
|
+
// We intentionally avoid `hasCalypsoPath`, as it may be out of date.
|
|
148
|
+
task.useCalypsoPath = useCalypsoPath && task.calypso_path !== undefined;
|
|
152
149
|
return { ...task, actionDispatch };
|
|
153
150
|
});
|
|
154
151
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-actions.js","sourceRoot":"","sources":["../../src/setup-actions.ts"],"names":[],"mappings":";;;;AAAA,wFAAgD;AAChD,yDAAkE;AAClE,mDAAgD;AAChD,wCAA8C;AAC9C,sFAA+C;AAG/C,MAAM,0BAA0B,GAAG;IAClC,gBAAgB;IAChB,6BAA6B;IAC7B,YAAY;IACZ,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;
|
|
1
|
+
{"version":3,"file":"setup-actions.js","sourceRoot":"","sources":["../../src/setup-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTracking = void 0;
|
|
4
|
+
const calypso_analytics_1 = require("@automattic/calypso-analytics");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const stringifyTasks = (tasks) => {
|
|
7
|
+
const prefix = ',';
|
|
8
|
+
const suffix = ',';
|
|
9
|
+
const separator = ',';
|
|
10
|
+
const taskIds = tasks.map((task) => task.id).join(separator);
|
|
11
|
+
return `${prefix}${taskIds}${suffix}`;
|
|
12
|
+
};
|
|
13
|
+
const useTracking = (params) => {
|
|
14
|
+
const { tasks, checklistSlug, context, site, flow } = params;
|
|
15
|
+
const completedSteps = (0, react_1.useMemo)(() => tasks.filter((task) => task.completed), [tasks]);
|
|
16
|
+
const taskNames = (0, react_1.useMemo)(() => stringifyTasks(tasks), [tasks]);
|
|
17
|
+
const numberOfSteps = tasks.length;
|
|
18
|
+
const numberOfCompletedSteps = completedSteps.length;
|
|
19
|
+
const isCheckListCompleted = completedSteps.length === tasks.length;
|
|
20
|
+
const isSiteAvailable = !!site;
|
|
21
|
+
const hasNoTask = tasks.length === 0;
|
|
22
|
+
// We skip the view events until we have fetched the site details to avoid sending incomplete data
|
|
23
|
+
const shoulSkipTracking = hasNoTask || !isSiteAvailable;
|
|
24
|
+
(0, react_1.useEffect)(() => {
|
|
25
|
+
if (shoulSkipTracking) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const siteIntent = site?.options?.site_intent;
|
|
29
|
+
(0, calypso_analytics_1.recordTracksEvent)('calypso_launchpad_tasklist_viewed', {
|
|
30
|
+
number_of_steps: numberOfSteps,
|
|
31
|
+
number_of_completed_steps: numberOfCompletedSteps,
|
|
32
|
+
is_completed: isCheckListCompleted,
|
|
33
|
+
tasks: taskNames,
|
|
34
|
+
checklist_slug: checklistSlug,
|
|
35
|
+
context: context,
|
|
36
|
+
site_intent: siteIntent,
|
|
37
|
+
flow,
|
|
38
|
+
});
|
|
39
|
+
tasks.forEach((task) => {
|
|
40
|
+
(0, calypso_analytics_1.recordTracksEvent)('calypso_launchpad_task_view', {
|
|
41
|
+
checklist_slug: checklistSlug,
|
|
42
|
+
task_id: task.id,
|
|
43
|
+
is_completed: task.completed,
|
|
44
|
+
context: context,
|
|
45
|
+
order: task.order,
|
|
46
|
+
site_intent: siteIntent,
|
|
47
|
+
flow,
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
// Array of tasks requires deep comparison
|
|
51
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
+
}, [
|
|
53
|
+
JSON.stringify(tasks.map(({ id, completed, order }) => ({ id, completed, order }))),
|
|
54
|
+
shoulSkipTracking,
|
|
55
|
+
]);
|
|
56
|
+
const trackTaskClick = (task) => {
|
|
57
|
+
(0, calypso_analytics_1.recordTracksEvent)('calypso_launchpad_task_clicked', {
|
|
58
|
+
checklist_completed: isCheckListCompleted,
|
|
59
|
+
is_completed: task.completed,
|
|
60
|
+
checklist_slug: checklistSlug,
|
|
61
|
+
context: context,
|
|
62
|
+
task_id: task.id,
|
|
63
|
+
flow,
|
|
64
|
+
order: task.order,
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
trackTaskClick,
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
exports.useTracking = useTracking;
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/use-tracking/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Popover } from '@automattic/components';
|
|
3
|
+
import { updateLaunchpadSettings } from '@automattic/data-stores';
|
|
4
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
5
|
+
import { Button, Modal } from '@wordpress/components';
|
|
6
|
+
import { Icon, link } from '@wordpress/icons';
|
|
7
|
+
import { useTranslate } from 'i18n-calypso';
|
|
8
|
+
import { useState, useRef } from 'react';
|
|
9
|
+
import './style.scss';
|
|
10
|
+
const ShareSiteModal = ({ setModalIsOpen, site }) => {
|
|
11
|
+
const translate = useTranslate();
|
|
12
|
+
const queryClient = useQueryClient();
|
|
13
|
+
const getSiteSlug = (site) => {
|
|
14
|
+
if (!site) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
if (site.slug) {
|
|
18
|
+
return site.slug;
|
|
19
|
+
}
|
|
20
|
+
if (site.URL) {
|
|
21
|
+
return new URL(site.URL).host;
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
};
|
|
25
|
+
const siteSlug = getSiteSlug(site);
|
|
26
|
+
const [clipboardCopied, setClipboardCopied] = useState(false);
|
|
27
|
+
const clipboardTextEl = useRef(null);
|
|
28
|
+
const copyHandler = async () => {
|
|
29
|
+
navigator.clipboard.writeText(`https://${siteSlug}`);
|
|
30
|
+
if (siteSlug) {
|
|
31
|
+
await updateLaunchpadSettings(siteSlug, {
|
|
32
|
+
checklist_statuses: { share_site: true },
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
queryClient.invalidateQueries({ queryKey: ['launchpad'] });
|
|
36
|
+
setClipboardCopied(true);
|
|
37
|
+
setTimeout(() => setClipboardCopied(false), 3000);
|
|
38
|
+
};
|
|
39
|
+
return (_jsx(_Fragment, { children: _jsx(Modal, { onRequestClose: () => setModalIsOpen(false), className: "share-site-modal__modal", title: "", children: _jsxs("div", { className: "share-site-modal__modal-content", children: [_jsxs("div", { className: "share-site-modal__modal-text", children: [_jsx("h1", { className: "share-site-modal__modal-heading", children: translate('Share your site') }), _jsx("p", { className: "share-site-modal__modal-body", children: translate('Now you can head over to your site and share it with the world.') })] }), _jsx("div", { className: "share-site-modal__modal-actions", children: _jsxs("div", { className: "share-site-modal__modal-site", children: [_jsxs("div", { className: "share-site-modal__modal-domain", children: [_jsx("p", { className: "share-site-modal__modal-domain-text", ref: clipboardTextEl, children: siteSlug }), _jsx(Popover, { className: "share-site-modal__popover", isVisible: clipboardCopied, context: clipboardTextEl.current, position: "top", children: translate('Copied to clipboard!') })] }), _jsxs(Button, { onClick: copyHandler, className: "share-site-modal__modal-view-site", disabled: !siteSlug, children: [_jsx(Icon, { icon: link, size: 22 }), _jsx("span", { className: "share-site-modal__modal-view-site-text", children: translate('Copy') })] })] }) })] }) }) }));
|
|
40
|
+
};
|
|
41
|
+
export default ShareSiteModal;
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/action-components/share-site-modal/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
@import "@automattic/typography/styles/variables";
|
|
2
|
+
|
|
3
|
+
.share-site-modal__modal {
|
|
4
|
+
max-width: 640px;
|
|
5
|
+
|
|
6
|
+
.components-modal__header {
|
|
7
|
+
padding: 48px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.components-modal__content {
|
|
11
|
+
margin: 0;
|
|
12
|
+
padding: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.share-site-modal__modal-content {
|
|
16
|
+
padding: 48px;
|
|
17
|
+
padding-bottom: 40px;
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
gap: 32px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.share-site-modal__modal-heading {
|
|
24
|
+
color: var(--studio-gray-100);
|
|
25
|
+
font-family: Recoleta, "Noto Serif", Georgia, "Times New Roman", Times, serif;
|
|
26
|
+
font-size: 2rem;
|
|
27
|
+
line-height: 40px;
|
|
28
|
+
font-weight: 400;
|
|
29
|
+
letter-spacing: 0.2px;
|
|
30
|
+
margin: 0;
|
|
31
|
+
padding-bottom: 8px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.share-site-modal__modal-domain {
|
|
35
|
+
display: flex;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
align-items: center;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.share-site-modal__modal-body,
|
|
41
|
+
.share-site-modal__modal-domain-text {
|
|
42
|
+
margin: 0;
|
|
43
|
+
color: var(--studio-gray-80);
|
|
44
|
+
font-size: 1rem;
|
|
45
|
+
line-height: 24px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.share-site-modal__modal-domain-text {
|
|
49
|
+
padding: 0 8px;
|
|
50
|
+
|
|
51
|
+
// prevent text overflow
|
|
52
|
+
text-overflow: ellipsis;
|
|
53
|
+
white-space: nowrap;
|
|
54
|
+
overflow: hidden;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.share-site-modal__modal-buttons {
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-direction: row;
|
|
60
|
+
justify-content: end;
|
|
61
|
+
gap: 16px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.share-site-modal__modal-site {
|
|
65
|
+
padding: 8px;
|
|
66
|
+
background: var(--studio-gray-0);
|
|
67
|
+
display: flex;
|
|
68
|
+
flex-direction: row;
|
|
69
|
+
justify-content: space-between;
|
|
70
|
+
align-items: center;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.launchpad__clipboard-button {
|
|
74
|
+
opacity: 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.launchpad__clipboard-button:focus {
|
|
78
|
+
opacity: 1;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.share-site-modal__modal-site:hover {
|
|
82
|
+
.launchpad__clipboard-button {
|
|
83
|
+
opacity: 1;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.share-site-modal__modal-customize {
|
|
88
|
+
color: var(--studio-blue-50);
|
|
89
|
+
font-size: 0.875rem;
|
|
90
|
+
display: inline-flex;
|
|
91
|
+
flex-direction: row;
|
|
92
|
+
justify-content: start;
|
|
93
|
+
gap: 6px;
|
|
94
|
+
padding: 0;
|
|
95
|
+
margin: 0;
|
|
96
|
+
margin-top: 16px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.share-site-modal__modal-upsell {
|
|
100
|
+
border-top: 1px solid var(--studio-gray-5);
|
|
101
|
+
background: var(--studio-gray-0);
|
|
102
|
+
display: flex;
|
|
103
|
+
justify-content: center;
|
|
104
|
+
align-items: center;
|
|
105
|
+
padding: 32px 48px;
|
|
106
|
+
gap: 32px;
|
|
107
|
+
|
|
108
|
+
.components-button {
|
|
109
|
+
height: 42px;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.share-site-modal__modal-upsell-content p {
|
|
114
|
+
margin-bottom: 0;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.share-site-modal__modal-upsell-content-highlight {
|
|
118
|
+
font-weight: bold;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.share-site-modal__modal-view-site {
|
|
122
|
+
display: flex;
|
|
123
|
+
gap: 4px;
|
|
124
|
+
|
|
125
|
+
font-weight: 500;
|
|
126
|
+
/* stylelint-disable-next-line */
|
|
127
|
+
font-size: 14px;
|
|
128
|
+
line-height: 20px;
|
|
129
|
+
letter-spacing: -0.154px;
|
|
130
|
+
color: #101517;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.share-site-modal__modal-view-site:visited {
|
|
134
|
+
color: #101517;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.share-site-modal__modal-view-site:hover:not(:disabled) {
|
|
138
|
+
text-decoration: underline;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.share-site-modal__popover {
|
|
143
|
+
outline: none;
|
|
144
|
+
z-index: 100000;
|
|
145
|
+
.popover__inner {
|
|
146
|
+
border: 0;
|
|
147
|
+
box-shadow: none;
|
|
148
|
+
border-radius: 2px;
|
|
149
|
+
color: var(--color-text-inverted);
|
|
150
|
+
background: var(--color-neutral-60);
|
|
151
|
+
font-size: $font-body-extra-small;
|
|
152
|
+
padding: 6px 10px;
|
|
153
|
+
text-align: left;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.popover__arrow {
|
|
157
|
+
display: none;
|
|
158
|
+
}
|
|
159
|
+
}
|
package/dist/esm/badge/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import clsx from 'clsx';
|
|
3
3
|
import './style.scss';
|
|
4
4
|
const Badge = (props) => {
|
|
5
5
|
const className = props.className;
|
|
6
6
|
const type = props.type || 'warning';
|
|
7
|
-
return
|
|
7
|
+
return _jsx("div", { className: clsx(`badge badge--${type}`, className), children: props.children });
|
|
8
8
|
};
|
|
9
9
|
export default Badge;
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/badge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/badge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,cAAc,CAAC;AAgBtB,MAAM,KAAK,GAA0C,CAAE,KAAK,EAAG,EAAE;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;IACrC,OAAO,cAAK,SAAS,EAAG,IAAI,CAAE,gBAAiB,IAAK,EAAE,EAAE,SAAS,CAAE,YAAK,KAAK,CAAC,QAAQ,GAAQ,CAAC;AAChG,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { Children, cloneElement } from 'react';
|
|
4
|
+
import { Placeholder as ChecklistItemPlaceholder } from '../checklist-item';
|
|
4
5
|
import './style.scss';
|
|
5
|
-
const Checklist = ({
|
|
6
|
-
|
|
6
|
+
const Checklist = ({ children, makeLastTaskPrimaryAction }) => {
|
|
7
|
+
const lastChildIndex = Children.count(children) - 1;
|
|
8
|
+
return (_jsx("ul", { className: clsx('checklist__tasks', {
|
|
7
9
|
'checklist__has-primary-action': makeLastTaskPrimaryAction,
|
|
8
|
-
}), "aria-label": "Launchpad Checklist", children:
|
|
9
|
-
|
|
10
|
+
}), "aria-label": "Launchpad Checklist", children: Children.map(children || [], (child, index) => {
|
|
11
|
+
if (index === lastChildIndex) {
|
|
12
|
+
return cloneElement(child, { isPrimaryAction: makeLastTaskPrimaryAction });
|
|
13
|
+
}
|
|
14
|
+
return child;
|
|
15
|
+
}) }));
|
|
10
16
|
};
|
|
11
|
-
|
|
12
|
-
return (_jsxs("ul", { className: "checklist__tasks", "aria-label": "Launchpad Checklist", children: [_jsx(
|
|
17
|
+
export const Placeholder = () => {
|
|
18
|
+
return (_jsxs("ul", { className: "checklist__tasks", "aria-label": "Launchpad Checklist", children: [_jsx(ChecklistItemPlaceholder, {}), _jsx(ChecklistItemPlaceholder, {}), _jsx(ChecklistItemPlaceholder, {}), _jsx(ChecklistItemPlaceholder, {})] }));
|
|
13
19
|
};
|
|
14
20
|
export default Checklist;
|
|
15
21
|
//# sourceMappingURL=index.js.map
|