@strapi/admin 5.22.0 → 5.23.0
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/dist/admin/admin/src/components/GuidedTour/Context.js +23 -8
- package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs +23 -8
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js +7 -5
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs +7 -5
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.js +156 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.mjs +154 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ApiTokensSteps.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.js +221 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.mjs +219 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentManagerSteps.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js +219 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs +217 -0
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/{Step.js → Steps/Step.js} +116 -71
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/{Step.mjs → Steps/Step.mjs} +117 -74
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +47 -324
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +48 -326
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.js +19 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.mjs +17 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/constants.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.js +31 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs +29 -0
- package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs.map +1 -0
- package/dist/admin/admin/src/components/SubNav.js +3 -1
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +3 -1
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js +4 -0
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/components/Widgets.mjs +5 -1
- package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +10 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +10 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +17 -14
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +17 -14
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +31 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs +12 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +28 -24
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +28 -24
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +56 -57
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +57 -58
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.js +0 -1
- package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.mjs +0 -1
- package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +32 -21
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +32 -21
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +2 -2
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs +2 -2
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -1
- package/dist/admin/index.js +6 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +2 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/GuidedTour/Context.d.ts +26 -9
- package/dist/admin/src/components/GuidedTour/Steps/ApiTokensSteps.d.ts +20 -0
- package/dist/admin/src/components/GuidedTour/Steps/ContentManagerSteps.d.ts +21 -0
- package/dist/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.d.ts +30 -0
- package/dist/admin/src/components/GuidedTour/{Step.d.ts → Steps/Step.d.ts} +25 -6
- package/dist/admin/src/components/GuidedTour/Tours.d.ts +53 -14
- package/dist/admin/src/components/GuidedTour/utils/constants.d.ts +15 -0
- package/dist/admin/src/components/GuidedTour/utils/migrations.d.ts +6 -0
- package/dist/admin/src/features/Tracking.d.ts +20 -2
- package/dist/admin/src/index.d.ts +5 -0
- package/dist/admin/src/pages/Home/HomePage.d.ts +2 -2
- package/dist/server/server/src/controllers/admin.js +2 -5
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs +2 -5
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/services/index.js +0 -2
- package/dist/server/server/src/services/index.js.map +1 -1
- package/dist/server/server/src/services/index.mjs +0 -2
- package/dist/server/server/src/services/index.mjs.map +1 -1
- package/dist/server/src/controllers/admin.d.ts +1 -1
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -1
- package/dist/server/src/index.d.ts +1 -6
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/constants.d.ts +1 -0
- package/dist/server/src/services/guided-tour.d.ts +2 -3
- package/dist/server/src/services/guided-tour.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +0 -5
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/shared/contracts/admin.d.ts +2 -2
- package/dist/shared/contracts/admin.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/admin/admin/src/components/GuidedTour/Step.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +0 -1
- package/dist/server/server/src/services/guided-tour.js +0 -61
- package/dist/server/server/src/services/guided-tour.js.map +0 -1
- package/dist/server/server/src/services/guided-tour.mjs +0 -59
- package/dist/server/server/src/services/guided-tour.mjs.map +0 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { useGuidedTour } from '../Context.mjs';
|
|
4
|
+
import { tours } from '../Tours.mjs';
|
|
5
|
+
import { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants.mjs';
|
|
6
|
+
import { StepCount, GotItAction, DefaultActions } from './Step.mjs';
|
|
7
|
+
|
|
8
|
+
const ContentManagerActions = ({ isActionRequired = false, ...props })=>{
|
|
9
|
+
const { collectionType } = useParams();
|
|
10
|
+
const state = useGuidedTour('ContentManagerActions', (s)=>s.state);
|
|
11
|
+
const dispatch = useGuidedTour('ContentManagerActions', (s)=>s.dispatch);
|
|
12
|
+
const isSingleType = collectionType === 'single-types';
|
|
13
|
+
const currentStepOffset = state.tours.contentManager.currentStep + 1;
|
|
14
|
+
const displayedCurrentStep = (()=>{
|
|
15
|
+
if (isSingleType && currentStepOffset > collectionTypeSpecificSteps.length) {
|
|
16
|
+
return currentStepOffset - collectionTypeSpecificSteps.length;
|
|
17
|
+
}
|
|
18
|
+
return currentStepOffset;
|
|
19
|
+
})();
|
|
20
|
+
// For single types we subtract all contentTypeSpecificSteps
|
|
21
|
+
const displayedTourLength = isSingleType ? tours.contentManager._meta.displayedStepCount - collectionTypeSpecificSteps.length : tours.contentManager._meta.displayedStepCount;
|
|
22
|
+
const handleNextStep = ()=>{
|
|
23
|
+
if (isSingleType && state.tours.contentManager.currentStep === 0) {
|
|
24
|
+
// The tours diverge after the first step, on next click skip all the collection type specific steps
|
|
25
|
+
dispatch({
|
|
26
|
+
type: 'go_to_step',
|
|
27
|
+
payload: {
|
|
28
|
+
tourName: 'contentManager',
|
|
29
|
+
step: collectionTypeSpecificSteps.length + 1
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
} else {
|
|
33
|
+
dispatch({
|
|
34
|
+
type: 'next_step',
|
|
35
|
+
payload: 'contentManager'
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const handlePreviousStep = ()=>{
|
|
40
|
+
if (isSingleType && // Check the currentStep is the step after the collection type specific steps
|
|
41
|
+
state.tours.contentManager.currentStep === collectionTypeSpecificSteps.length + 1) {
|
|
42
|
+
dispatch({
|
|
43
|
+
type: 'go_to_step',
|
|
44
|
+
payload: {
|
|
45
|
+
tourName: 'contentManager',
|
|
46
|
+
// Go to the step just before the collection type specific steps
|
|
47
|
+
step: state.tours.contentManager.currentStep - collectionTypeSpecificSteps.length - 1
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
dispatch({
|
|
52
|
+
type: 'previous_step',
|
|
53
|
+
payload: 'contentManager'
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
if (isActionRequired) {
|
|
58
|
+
return /*#__PURE__*/ jsxs(Fragment, {
|
|
59
|
+
children: [
|
|
60
|
+
/*#__PURE__*/ jsx(StepCount, {
|
|
61
|
+
tourName: "contentManager",
|
|
62
|
+
displayedCurrentStep: displayedCurrentStep,
|
|
63
|
+
displayedTourLength: displayedTourLength
|
|
64
|
+
}),
|
|
65
|
+
/*#__PURE__*/ jsx(GotItAction, {
|
|
66
|
+
onClick: handleNextStep
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return /*#__PURE__*/ jsxs(Fragment, {
|
|
72
|
+
children: [
|
|
73
|
+
/*#__PURE__*/ jsx(StepCount, {
|
|
74
|
+
tourName: "contentManager",
|
|
75
|
+
displayedCurrentStep: displayedCurrentStep,
|
|
76
|
+
displayedTourLength: displayedTourLength
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ jsx(DefaultActions, {
|
|
79
|
+
tourName: "contentManager",
|
|
80
|
+
onNextStep: handleNextStep,
|
|
81
|
+
onPreviousStep: handlePreviousStep,
|
|
82
|
+
...props
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
/* -------------------------------------------------------------------------------------------------
|
|
88
|
+
* Step Components
|
|
89
|
+
* -----------------------------------------------------------------------------------------------*/ const Introduction = ({ Step })=>{
|
|
90
|
+
return /*#__PURE__*/ jsxs(Step.Root, {
|
|
91
|
+
side: "top",
|
|
92
|
+
sideOffset: 33,
|
|
93
|
+
withArrow: false,
|
|
94
|
+
children: [
|
|
95
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
96
|
+
id: "tours.contentManager.Introduction.title",
|
|
97
|
+
defaultMessage: "Content manager"
|
|
98
|
+
}),
|
|
99
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
100
|
+
id: "tours.contentManager.Introduction.content",
|
|
101
|
+
defaultMessage: "Create and manage content from your collection types and single types."
|
|
102
|
+
}),
|
|
103
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
104
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
105
|
+
showSkip: true
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
const CreateNewEntry = ({ Step })=>{
|
|
112
|
+
return /*#__PURE__*/ jsxs(Step.Root, {
|
|
113
|
+
side: "bottom",
|
|
114
|
+
align: "end",
|
|
115
|
+
children: [
|
|
116
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
117
|
+
id: "tours.contentManager.CreateNewEntry.title",
|
|
118
|
+
defaultMessage: "Create new entry"
|
|
119
|
+
}),
|
|
120
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
121
|
+
id: "tours.contentManager.CreateNewEntry.content",
|
|
122
|
+
defaultMessage: 'Click the "Create new entry" button to create and publish a new entry for this collection type.'
|
|
123
|
+
}),
|
|
124
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
125
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
126
|
+
showPrevious: true
|
|
127
|
+
})
|
|
128
|
+
})
|
|
129
|
+
]
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
const Fields = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
133
|
+
sideOffset: -12,
|
|
134
|
+
children: [
|
|
135
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
136
|
+
id: "tours.contentManager.Fields.title",
|
|
137
|
+
defaultMessage: "Fields"
|
|
138
|
+
}),
|
|
139
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
140
|
+
id: "tours.contentManager.Fields.content",
|
|
141
|
+
defaultMessage: "First, fill in the fields you created in the Content-Type Builder."
|
|
142
|
+
}),
|
|
143
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
144
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
145
|
+
showPrevious: true
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
]
|
|
149
|
+
});
|
|
150
|
+
const Publish = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
151
|
+
side: "left",
|
|
152
|
+
align: "center",
|
|
153
|
+
children: [
|
|
154
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
155
|
+
id: "tours.contentManager.Publish.title",
|
|
156
|
+
defaultMessage: "Publish"
|
|
157
|
+
}),
|
|
158
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
159
|
+
id: "tours.contentManager.Publish.content",
|
|
160
|
+
defaultMessage: 'Then click the "Publish" button to make your content available through the content API.'
|
|
161
|
+
}),
|
|
162
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
163
|
+
children: /*#__PURE__*/ jsx(ContentManagerActions, {
|
|
164
|
+
isActionRequired: true
|
|
165
|
+
})
|
|
166
|
+
})
|
|
167
|
+
]
|
|
168
|
+
});
|
|
169
|
+
const Finish = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
|
|
170
|
+
side: "right",
|
|
171
|
+
children: [
|
|
172
|
+
/*#__PURE__*/ jsx(Step.Title, {
|
|
173
|
+
id: "tours.contentManager.FinalStep.title",
|
|
174
|
+
defaultMessage: "Time to setup API tokens!"
|
|
175
|
+
}),
|
|
176
|
+
/*#__PURE__*/ jsx(Step.Content, {
|
|
177
|
+
id: "tours.contentManager.FinalStep.content",
|
|
178
|
+
defaultMessage: "Now that you've created and published an entry, let's setup an API token to manage access to your content."
|
|
179
|
+
}),
|
|
180
|
+
/*#__PURE__*/ jsx(Step.Actions, {
|
|
181
|
+
showStepCount: false,
|
|
182
|
+
showPrevious: false,
|
|
183
|
+
to: "/settings/api-tokens"
|
|
184
|
+
})
|
|
185
|
+
]
|
|
186
|
+
});
|
|
187
|
+
/* -------------------------------------------------------------------------------------------------
|
|
188
|
+
* Steps
|
|
189
|
+
* -----------------------------------------------------------------------------------------------*/ const collectionTypeSpecificSteps = [
|
|
190
|
+
{
|
|
191
|
+
name: 'CreateNewEntry',
|
|
192
|
+
content: CreateNewEntry
|
|
193
|
+
}
|
|
194
|
+
];
|
|
195
|
+
const contentManagerSteps = [
|
|
196
|
+
{
|
|
197
|
+
name: 'Introduction',
|
|
198
|
+
when: (completedActions)=>completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),
|
|
199
|
+
content: Introduction
|
|
200
|
+
},
|
|
201
|
+
...collectionTypeSpecificSteps,
|
|
202
|
+
{
|
|
203
|
+
name: 'Fields',
|
|
204
|
+
content: Fields
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
name: 'Publish',
|
|
208
|
+
content: Publish
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: 'Finish',
|
|
212
|
+
content: Finish,
|
|
213
|
+
excludeFromStepCount: true,
|
|
214
|
+
when: (completedActions)=>completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent)
|
|
215
|
+
}
|
|
216
|
+
];
|
|
217
|
+
|
|
218
|
+
export { contentManagerSteps };
|
|
219
|
+
//# sourceMappingURL=ContentManagerSteps.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentManagerSteps.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentManagerSteps.tsx"],"sourcesContent":["import { useParams } from 'react-router-dom';\n\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { DefaultActions, DefaultActionsProps, GotItAction, StepCount } from './Step';\n\nconst ContentManagerActions = ({\n isActionRequired = false,\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & {\n isActionRequired?: boolean;\n}) => {\n const { collectionType } = useParams();\n\n const state = useGuidedTour('ContentManagerActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentManagerActions', (s) => s.dispatch);\n\n const isSingleType = collectionType === 'single-types';\n\n const currentStepOffset = state.tours.contentManager.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (isSingleType && currentStepOffset > collectionTypeSpecificSteps.length) {\n return currentStepOffset - collectionTypeSpecificSteps.length;\n }\n\n return currentStepOffset;\n })();\n\n // For single types we subtract all contentTypeSpecificSteps\n const displayedTourLength = isSingleType\n ? tours.contentManager._meta.displayedStepCount - collectionTypeSpecificSteps.length\n : tours.contentManager._meta.displayedStepCount;\n\n const handleNextStep = () => {\n if (isSingleType && state.tours.contentManager.currentStep === 0) {\n // The tours diverge after the first step, on next click skip all the collection type specific steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentManager', step: collectionTypeSpecificSteps.length + 1 },\n });\n } else {\n dispatch({\n type: 'next_step',\n payload: 'contentManager',\n });\n }\n };\n\n const handlePreviousStep = () => {\n if (\n isSingleType &&\n // Check the currentStep is the step after the collection type specific steps\n state.tours.contentManager.currentStep === collectionTypeSpecificSteps.length + 1\n ) {\n dispatch({\n type: 'go_to_step',\n payload: {\n tourName: 'contentManager',\n // Go to the step just before the collection type specific steps\n step: state.tours.contentManager.currentStep - collectionTypeSpecificSteps.length - 1,\n },\n });\n } else {\n dispatch({\n type: 'previous_step',\n payload: 'contentManager',\n });\n }\n };\n\n if (isActionRequired) {\n return (\n <>\n <StepCount\n tourName=\"contentManager\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n <GotItAction onClick={handleNextStep} />\n </>\n );\n }\n\n return (\n <>\n <StepCount\n tourName=\"contentManager\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n <DefaultActions\n tourName=\"contentManager\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => {\n return (\n <Step.Root side=\"top\" sideOffset={33} withArrow={false}>\n <Step.Title id=\"tours.contentManager.Introduction.title\" defaultMessage=\"Content manager\" />\n <Step.Content\n id=\"tours.contentManager.Introduction.content\"\n defaultMessage=\"Create and manage content from your collection types and single types.\"\n />\n <Step.Actions>\n <ContentManagerActions showSkip />\n </Step.Actions>\n </Step.Root>\n );\n};\n\nconst CreateNewEntry = ({ Step }: StepContentProps) => {\n return (\n <Step.Root side=\"bottom\" align=\"end\">\n <Step.Title\n id=\"tours.contentManager.CreateNewEntry.title\"\n defaultMessage=\"Create new entry\"\n />\n <Step.Content\n id=\"tours.contentManager.CreateNewEntry.content\"\n defaultMessage='Click the \"Create new entry\" button to create and publish a new entry for this collection type.'\n />\n <Step.Actions>\n <ContentManagerActions showPrevious />\n </Step.Actions>\n </Step.Root>\n );\n};\n\nconst Fields = ({ Step }: StepContentProps) => (\n <Step.Root sideOffset={-12}>\n <Step.Title id=\"tours.contentManager.Fields.title\" defaultMessage=\"Fields\" />\n <Step.Content\n id=\"tours.contentManager.Fields.content\"\n defaultMessage=\"First, fill in the fields you created in the Content-Type Builder.\"\n />\n <Step.Actions>\n <ContentManagerActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Publish = ({ Step }: StepContentProps) => (\n <Step.Root side=\"left\" align=\"center\">\n <Step.Title id=\"tours.contentManager.Publish.title\" defaultMessage=\"Publish\" />\n <Step.Content\n id=\"tours.contentManager.Publish.content\"\n defaultMessage='Then click the \"Publish\" button to make your content available through the content API.'\n />\n <Step.Actions>\n <ContentManagerActions isActionRequired />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentManager.FinalStep.title\"\n defaultMessage=\"Time to setup API tokens!\"\n />\n <Step.Content\n id=\"tours.contentManager.FinalStep.content\"\n defaultMessage=\"Now that you've created and published an entry, let's setup an API token to manage access to your content.\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to=\"/settings/api-tokens\" />\n </Step.Root>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst collectionTypeSpecificSteps = [\n {\n name: 'CreateNewEntry',\n content: CreateNewEntry,\n },\n];\n\nexport const contentManagerSteps = [\n {\n name: 'Introduction',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n content: Introduction,\n },\n ...collectionTypeSpecificSteps,\n {\n name: 'Fields',\n content: Fields,\n },\n {\n name: 'Publish',\n content: Publish,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent),\n },\n] as const;\n"],"names":["ContentManagerActions","isActionRequired","props","collectionType","useParams","state","useGuidedTour","s","dispatch","isSingleType","currentStepOffset","tours","contentManager","currentStep","displayedCurrentStep","collectionTypeSpecificSteps","length","displayedTourLength","_meta","displayedStepCount","handleNextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","GotItAction","onClick","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","side","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","CreateNewEntry","align","showPrevious","Fields","Publish","Finish","showStepCount","to","name","content","contentManagerSteps","when","completedActions","includes","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","excludeFromStepCount","createContent"],"mappings":"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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var reactRouterDom = require('react-router-dom');
|
|
5
|
+
var admin = require('../../../services/admin.js');
|
|
6
|
+
var constants = require('../utils/constants.js');
|
|
7
|
+
var Step = require('./Step.js');
|
|
8
|
+
|
|
9
|
+
/* -------------------------------------------------------------------------------------------------
|
|
10
|
+
* Step Components
|
|
11
|
+
* -----------------------------------------------------------------------------------------------*/ const Introduction = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
12
|
+
sideOffset: 33,
|
|
13
|
+
withArrow: false,
|
|
14
|
+
children: [
|
|
15
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
16
|
+
id: "tours.contentTypeBuilder.Introduction.title",
|
|
17
|
+
defaultMessage: "Content-Type Builder"
|
|
18
|
+
}),
|
|
19
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
20
|
+
id: "tours.contentTypeBuilder.Introduction.content",
|
|
21
|
+
defaultMessage: "Create and manage your content structure with collection types, single types and components."
|
|
22
|
+
}),
|
|
23
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
|
|
24
|
+
showPrevious: false
|
|
25
|
+
})
|
|
26
|
+
]
|
|
27
|
+
});
|
|
28
|
+
const CollectionTypes = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
29
|
+
side: "right",
|
|
30
|
+
sideOffset: 16,
|
|
31
|
+
children: [
|
|
32
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
33
|
+
id: "tours.contentTypeBuilder.CollectionTypes.title",
|
|
34
|
+
defaultMessage: "Collection Types"
|
|
35
|
+
}),
|
|
36
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
37
|
+
id: "tours.contentTypeBuilder.CollectionTypes.content",
|
|
38
|
+
defaultMessage: "A content structure that can manage multiple entries, such as articles or products."
|
|
39
|
+
}),
|
|
40
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {})
|
|
41
|
+
]
|
|
42
|
+
});
|
|
43
|
+
const SingleTypes = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
44
|
+
side: "right",
|
|
45
|
+
sideOffset: 16,
|
|
46
|
+
children: [
|
|
47
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
48
|
+
id: "tours.contentTypeBuilder.SingleTypes.title",
|
|
49
|
+
defaultMessage: "Single Types"
|
|
50
|
+
}),
|
|
51
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
52
|
+
id: "tours.contentTypeBuilder.SingleTypes.content",
|
|
53
|
+
defaultMessage: "A content structure that can manage a single entry, such as a homepage or a header."
|
|
54
|
+
}),
|
|
55
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {})
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
const Components = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
59
|
+
side: "right",
|
|
60
|
+
sideOffset: 16,
|
|
61
|
+
children: [
|
|
62
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
63
|
+
id: "tours.contentTypeBuilder.Components.title",
|
|
64
|
+
defaultMessage: "Components"
|
|
65
|
+
}),
|
|
66
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
67
|
+
id: "tours.contentTypeBuilder.Components.content",
|
|
68
|
+
defaultMessage: "A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards."
|
|
69
|
+
}),
|
|
70
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {})
|
|
71
|
+
]
|
|
72
|
+
});
|
|
73
|
+
const YourTurn = ({ Step })=>/*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
74
|
+
side: "right",
|
|
75
|
+
sideOffset: 16,
|
|
76
|
+
children: [
|
|
77
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
78
|
+
id: "tours.contentTypeBuilder.YourTurn.title",
|
|
79
|
+
defaultMessage: "Your turn"
|
|
80
|
+
}),
|
|
81
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
82
|
+
id: "tours.contentTypeBuilder.YourTurn.content",
|
|
83
|
+
defaultMessage: "Create a collection type or single type and configure it."
|
|
84
|
+
}),
|
|
85
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {})
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
const AddFields = ({ Step: Step$1, dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Root, {
|
|
89
|
+
side: "bottom",
|
|
90
|
+
children: [
|
|
91
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Title, {
|
|
92
|
+
id: "tours.contentTypeBuilder.AddFields.title",
|
|
93
|
+
defaultMessage: "Don't forget to add a field to your content type"
|
|
94
|
+
}),
|
|
95
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Content, {
|
|
96
|
+
id: "tours.contentTypeBuilder.AddFields.content",
|
|
97
|
+
defaultMessage: "Add the fields your content needs such as text, media and relations."
|
|
98
|
+
}),
|
|
99
|
+
/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Actions, {
|
|
100
|
+
children: [
|
|
101
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
|
|
102
|
+
tourName: "contentTypeBuilder"
|
|
103
|
+
}),
|
|
104
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.GotItAction, {
|
|
105
|
+
onClick: ()=>dispatch({
|
|
106
|
+
type: 'next_step',
|
|
107
|
+
payload: 'contentTypeBuilder'
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
]
|
|
111
|
+
})
|
|
112
|
+
]
|
|
113
|
+
});
|
|
114
|
+
const Save = ({ Step: Step$1, dispatch })=>/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Root, {
|
|
115
|
+
side: "right",
|
|
116
|
+
children: [
|
|
117
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Title, {
|
|
118
|
+
id: "tours.contentTypeBuilder.Save.title",
|
|
119
|
+
defaultMessage: "Save before you leave!"
|
|
120
|
+
}),
|
|
121
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step$1.Content, {
|
|
122
|
+
id: "tours.contentTypeBuilder.Save.content",
|
|
123
|
+
defaultMessage: "Save the changes you made here before leaving this page."
|
|
124
|
+
}),
|
|
125
|
+
/*#__PURE__*/ jsxRuntime.jsxs(Step$1.Actions, {
|
|
126
|
+
children: [
|
|
127
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.StepCount, {
|
|
128
|
+
tourName: "contentTypeBuilder"
|
|
129
|
+
}),
|
|
130
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.GotItAction, {
|
|
131
|
+
onClick: ()=>{
|
|
132
|
+
// Ensure the completed action is removed
|
|
133
|
+
// in the event the user already has a schema but is still doing the tour
|
|
134
|
+
dispatch({
|
|
135
|
+
type: 'remove_completed_action',
|
|
136
|
+
payload: constants.GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema
|
|
137
|
+
});
|
|
138
|
+
dispatch({
|
|
139
|
+
type: 'next_step',
|
|
140
|
+
payload: 'contentTypeBuilder'
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
})
|
|
144
|
+
]
|
|
145
|
+
})
|
|
146
|
+
]
|
|
147
|
+
});
|
|
148
|
+
const Finish = ({ Step })=>{
|
|
149
|
+
const { data: guidedTourMeta } = admin.useGetGuidedTourMetaQuery();
|
|
150
|
+
const { '*': routeParams } = reactRouterDom.useParams();
|
|
151
|
+
// Get the uid from the params
|
|
152
|
+
const uid = routeParams?.split('/').pop();
|
|
153
|
+
const contentType = uid ? guidedTourMeta?.data?.schemas?.[uid] : null;
|
|
154
|
+
const contentTypeKindDictionary = {
|
|
155
|
+
collectionType: 'collection-types',
|
|
156
|
+
singleType: 'single-types'
|
|
157
|
+
};
|
|
158
|
+
const to = contentType ? `/content-manager/${contentTypeKindDictionary[contentType.kind]}/${contentType.uid}` : '/content-manager';
|
|
159
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(Step.Root, {
|
|
160
|
+
side: "right",
|
|
161
|
+
children: [
|
|
162
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Title, {
|
|
163
|
+
id: "tours.contentTypeBuilder.Finish.title",
|
|
164
|
+
defaultMessage: "It's time to create content!"
|
|
165
|
+
}),
|
|
166
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Content, {
|
|
167
|
+
id: "tours.contentTypeBuilder.Finish.content",
|
|
168
|
+
defaultMessage: "Now that you created content types, you'll be able to create content in the content manager."
|
|
169
|
+
}),
|
|
170
|
+
/*#__PURE__*/ jsxRuntime.jsx(Step.Actions, {
|
|
171
|
+
showStepCount: false,
|
|
172
|
+
showPrevious: false,
|
|
173
|
+
to: to
|
|
174
|
+
})
|
|
175
|
+
]
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
/* -------------------------------------------------------------------------------------------------
|
|
179
|
+
* Steps
|
|
180
|
+
* -----------------------------------------------------------------------------------------------*/ const contentTypeBuilderSteps = [
|
|
181
|
+
{
|
|
182
|
+
name: 'Introduction',
|
|
183
|
+
content: Introduction
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
name: 'CollectionTypes',
|
|
187
|
+
content: CollectionTypes
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: 'SingleTypes',
|
|
191
|
+
content: SingleTypes
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
name: 'Components',
|
|
195
|
+
content: Components
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
name: 'YourTurn',
|
|
199
|
+
content: YourTurn
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: 'AddFields',
|
|
203
|
+
content: AddFields
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: 'Save',
|
|
207
|
+
when: (completedActions)=>completedActions.includes(constants.GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField),
|
|
208
|
+
content: Save
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: 'Finish',
|
|
212
|
+
content: Finish,
|
|
213
|
+
excludeFromStepCount: true,
|
|
214
|
+
when: (completedActions)=>completedActions.includes(constants.GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema)
|
|
215
|
+
}
|
|
216
|
+
];
|
|
217
|
+
|
|
218
|
+
exports.contentTypeBuilderSteps = contentTypeBuilderSteps;
|
|
219
|
+
//# sourceMappingURL=ContentTypeBuilderSteps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentTypeBuilderSteps.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions } from '../Context';\nimport { type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount } from './Step';\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => (\n <Step.Root sideOffset={33} withArrow={false}>\n <Step.Title\n id=\"tours.contentTypeBuilder.Introduction.title\"\n defaultMessage=\"Content-Type Builder\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Introduction.content\"\n defaultMessage=\"Create and manage your content structure with collection types, single types and components.\"\n />\n <Step.Actions showPrevious={false} />\n </Step.Root>\n);\n\nconst CollectionTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.CollectionTypes.title\"\n defaultMessage=\"Collection Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.CollectionTypes.content\"\n defaultMessage=\"A content structure that can manage multiple entries, such as articles or products.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst SingleTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.SingleTypes.title\" defaultMessage=\"Single Types\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.SingleTypes.content\"\n defaultMessage=\"A content structure that can manage a single entry, such as a homepage or a header.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst Components = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.Components.title\" defaultMessage=\"Components\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Components.content\"\n defaultMessage=\"A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst YourTurn = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.YourTurn.title\" defaultMessage=\"Your turn\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.YourTurn.content\"\n defaultMessage=\"Create a collection type or single type and configure it.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst AddFields = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\">\n <Step.Title\n id=\"tours.contentTypeBuilder.AddFields.title\"\n defaultMessage=\"Don't forget to add a field to your content type\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.AddFields.content\"\n defaultMessage=\"Add the fields your content needs such as text, media and relations.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentTypeBuilder\" />\n <GotItAction onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })} />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Save = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title id=\"tours.contentTypeBuilder.Save.title\" defaultMessage=\"Save before you leave!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Save.content\"\n defaultMessage=\"Save the changes you made here before leaving this page.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentTypeBuilder\" />\n <GotItAction\n onClick={() => {\n // Ensure the completed action is removed\n // in the event the user already has a schema but is still doing the tour\n dispatch({\n type: 'remove_completed_action',\n payload: GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema,\n });\n dispatch({ type: 'next_step', payload: 'contentTypeBuilder' });\n }}\n />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n const { '*': routeParams } = useParams();\n // Get the uid from the params\n const uid = routeParams?.split('/').pop();\n const contentType = uid ? guidedTourMeta?.data?.schemas?.[uid as UID.ContentType] : null;\n const contentTypeKindDictionary = {\n collectionType: 'collection-types',\n singleType: 'single-types',\n };\n\n const to = contentType\n ? `/content-manager/${contentTypeKindDictionary[contentType.kind]}/${contentType.uid}`\n : '/content-manager';\n\n return (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentTypeBuilder.Finish.title\"\n defaultMessage=\"It's time to create content!\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"Now that you created content types, you'll be able to create content in the content manager.\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\n\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n {\n name: 'CollectionTypes',\n content: CollectionTypes,\n },\n {\n name: 'SingleTypes',\n content: SingleTypes,\n },\n {\n name: 'Components',\n content: Components,\n },\n {\n name: 'YourTurn',\n content: YourTurn,\n },\n {\n name: 'AddFields',\n content: AddFields,\n },\n {\n name: 'Save',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField),\n content: Save,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n },\n] as const;\n"],"names":["Introduction","Step","_jsxs","Root","sideOffset","withArrow","_jsx","Title","id","defaultMessage","Content","Actions","showPrevious","CollectionTypes","side","SingleTypes","Components","YourTurn","AddFields","dispatch","StepCount","tourName","GotItAction","onClick","type","payload","Save","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","contentTypeBuilderSteps","name","content","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
|