@strapi/admin 5.31.1 → 5.31.3
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/Steps/ContentTypeBuilderSteps.js +2 -2
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +2 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +2 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.js +6 -0
- package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.mjs +6 -0
- package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.mjs +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.js +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.mjs +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +5 -5
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +5 -5
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js +4 -2
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs +4 -2
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +4 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +4 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.js +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.mjs +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
- package/dist/admin/admin/src/services/auth.js +1 -12
- package/dist/admin/admin/src/services/auth.js.map +1 -1
- package/dist/admin/admin/src/services/auth.mjs +2 -11
- package/dist/admin/admin/src/services/auth.mjs.map +1 -1
- package/dist/admin/admin/src/translations/vi.json.js +772 -129
- package/dist/admin/admin/src/translations/vi.json.js.map +1 -1
- package/dist/admin/admin/src/translations/vi.json.mjs +764 -130
- package/dist/admin/admin/src/translations/vi.json.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js +7 -0
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.mjs +7 -0
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
- package/dist/admin/index.js +0 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +0 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/index.d.ts +0 -2
- package/dist/admin/src/services/auth.d.ts +2 -11
- package/dist/ee/server/src/ai/containers/ai.d.ts +4 -0
- package/dist/ee/server/src/ai/containers/ai.d.ts.map +1 -1
- package/dist/ee/server/src/ai/controllers/ai.d.ts.map +1 -1
- package/dist/ee/server/src/ai/routes/ai.d.ts.map +1 -1
- package/dist/server/ee/server/src/ai/containers/ai.js +143 -1
- package/dist/server/ee/server/src/ai/containers/ai.js.map +1 -1
- package/dist/server/ee/server/src/ai/containers/ai.mjs +143 -1
- package/dist/server/ee/server/src/ai/containers/ai.mjs.map +1 -1
- package/dist/server/ee/server/src/ai/controllers/ai.js +7 -106
- package/dist/server/ee/server/src/ai/controllers/ai.js.map +1 -1
- package/dist/server/ee/server/src/ai/controllers/ai.mjs +7 -106
- package/dist/server/ee/server/src/ai/controllers/ai.mjs.map +1 -1
- package/dist/server/ee/server/src/ai/routes/ai.js +0 -3
- package/dist/server/ee/server/src/ai/routes/ai.js.map +1 -1
- package/dist/server/ee/server/src/ai/routes/ai.mjs +0 -3
- package/dist/server/ee/server/src/ai/routes/ai.mjs.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.js +0 -15
- package/dist/server/server/src/controllers/authenticated-user.js.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.mjs +0 -15
- package/dist/server/server/src/controllers/authenticated-user.mjs.map +1 -1
- package/dist/server/server/src/routes/users.js +0 -10
- package/dist/server/server/src/routes/users.js.map +1 -1
- package/dist/server/server/src/routes/users.mjs +0 -10
- package/dist/server/server/src/routes/users.mjs.map +1 -1
- package/dist/server/server/src/services/user.js +1 -143
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +1 -143
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/src/controllers/authenticated-user.d.ts +0 -1
- package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +0 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +0 -5
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/users.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +0 -4
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts +0 -4
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/shared/contracts/ai.d.ts +1 -1
- package/dist/shared/contracts/users.d.ts +0 -32
- package/dist/shared/contracts/users.d.ts.map +1 -1
- package/package.json +9 -9
- package/dist/admin/admin/src/hooks/useAIAvailability.js +0 -13
- package/dist/admin/admin/src/hooks/useAIAvailability.js.map +0 -1
- package/dist/admin/admin/src/hooks/useAIAvailability.mjs +0 -11
- package/dist/admin/admin/src/hooks/useAIAvailability.mjs.map +0 -1
- package/dist/admin/src/hooks/useAIAvailability.d.ts +0 -5
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
require('react');
|
|
5
|
+
var ee = require('@strapi/admin/strapi-admin/ee');
|
|
5
6
|
var reactRouterDom = require('react-router-dom');
|
|
6
|
-
var useAIAvailability = require('../../../hooks/useAIAvailability.js');
|
|
7
7
|
var admin = require('../../../services/admin.js');
|
|
8
8
|
var Context = require('../Context.js');
|
|
9
9
|
var Tours = require('../Tours.js');
|
|
@@ -13,7 +13,7 @@ var Step = require('./Step.js');
|
|
|
13
13
|
const ContentTypeBuilderActions = ({ ...props })=>{
|
|
14
14
|
const state = Context.useGuidedTour('ContentTypeBuilderActions', (s)=>s.state);
|
|
15
15
|
const dispatch = Context.useGuidedTour('ContentTypeBuilderActions', (s)=>s.dispatch);
|
|
16
|
-
const isAIEnabled =
|
|
16
|
+
const isAIEnabled = ee.useAIAvailability();
|
|
17
17
|
const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;
|
|
18
18
|
const displayedCurrentStep = (()=>{
|
|
19
19
|
if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTypeBuilderSteps.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useAIAvailability } from '../../../hooks/useAIAvailability';\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount, DefaultActions, DefaultActionsProps } from './Step';\n\nconst ContentTypeBuilderActions = ({\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & { children?: React.ReactNode }) => {\n const state = useGuidedTour('ContentTypeBuilderActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderActions', (s) => s.dispatch);\n\n const isAIEnabled = useAIAvailability();\n\n const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {\n // If AI is not enabled, we remove the AI steps\n return currentStepOffset - contentTypeBuilderStepsAI.length;\n } else if (isAIEnabled && currentStepOffset > contentTypeBuilderStepsNoAI.length) {\n // If AI is enabled, we remove the non-AI steps\n return currentStepOffset - contentTypeBuilderStepsNoAI.length;\n }\n\n return currentStepOffset;\n })();\n\n // When AI is enabled, we subtract the no AI steps and vice versa\n const displayedTourLength = isAIEnabled\n ? tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsNoAI.length\n : tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsAI.length;\n\n const handleNextStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 0) {\n // If AI is disabled, after Introduction (step 0), skip AI steps and go to first NoAI step\n const nextStep = 1 + contentTypeBuilderStepsAI.length; // Skip AI steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else if (isAIEnabled && currentStep === contentTypeBuilderStepsAI.length) {\n // If AI is enabled, after AI steps, skip NoAI steps and go to Save/Finish\n const nextStep = 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length;\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'next_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n const handlePreviousStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length) {\n // If AI is disabled and we're at the first NoAI step, go back to Introduction (step 0)\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: 0 },\n });\n } else if (\n isAIEnabled &&\n currentStep === 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length\n ) {\n // If AI is enabled and we're at Save/Finish, go back to last AI step\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: contentTypeBuilderStepsAI.length },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'previous_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n return (\n <>\n <StepCount\n tourName=\"contentTypeBuilder\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n {props.children || (\n <DefaultActions\n tourName=\"contentTypeBuilder\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n )}\n </>\n );\n};\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>\n <ContentTypeBuilderActions showSkip />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AIChat = ({ Step }: StepContentProps) => (\n <Step.Root side=\"left\">\n <Step.Title id=\"tours.contentTypeBuilder.AIChat.title\" defaultMessage=\"Time to get started!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.AIChat.content\"\n defaultMessage=\"<p>If you have any questions about the Content-Type Builder or Strapi ask them here.</p><p>Strapi AI can generate schemas tailored to your needs. Ask for exactly what you want, for example:<ul><li>Date picker</li><li>Email and password fields</li><li>Media of any type</li><li>UIDs</li></ul></p><p>Don’t be shy, try it out !</p>\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </ContentTypeBuilderActions>\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 <ContentTypeBuilderActions showPrevious>\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 </ContentTypeBuilderActions>\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=\"First Step: Done! 🎉\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"You've built your first content type! Now head over to the Content Manager to start adding entries!\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst contentTypeBuilderStepsAI = [\n {\n name: 'AIChat',\n content: AIChat,\n },\n];\n\nconst contentTypeBuilderStepsNoAI = [\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\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n ...contentTypeBuilderStepsAI,\n ...contentTypeBuilderStepsNoAI,\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":["ContentTypeBuilderActions","props","state","useGuidedTour","s","dispatch","isAIEnabled","useAIAvailability","currentStepOffset","tours","contentTypeBuilder","currentStep","displayedCurrentStep","contentTypeBuilderStepsAI","length","contentTypeBuilderStepsNoAI","displayedTourLength","_meta","displayedStepCount","handleNextStep","nextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","children","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","AIChat","side","showPrevious","CollectionTypes","SingleTypes","Components","YourTurn","AddFields","GotItAction","onClick","Save","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","name","content","contentTypeBuilderSteps","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContentTypeBuilderSteps.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount, DefaultActions, DefaultActionsProps } from './Step';\n\nconst ContentTypeBuilderActions = ({\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & { children?: React.ReactNode }) => {\n const state = useGuidedTour('ContentTypeBuilderActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderActions', (s) => s.dispatch);\n\n const isAIEnabled = useAIAvailability();\n\n const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {\n // If AI is not enabled, we remove the AI steps\n return currentStepOffset - contentTypeBuilderStepsAI.length;\n } else if (isAIEnabled && currentStepOffset > contentTypeBuilderStepsNoAI.length) {\n // If AI is enabled, we remove the non-AI steps\n return currentStepOffset - contentTypeBuilderStepsNoAI.length;\n }\n\n return currentStepOffset;\n })();\n\n // When AI is enabled, we subtract the no AI steps and vice versa\n const displayedTourLength = isAIEnabled\n ? tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsNoAI.length\n : tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsAI.length;\n\n const handleNextStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 0) {\n // If AI is disabled, after Introduction (step 0), skip AI steps and go to first NoAI step\n const nextStep = 1 + contentTypeBuilderStepsAI.length; // Skip AI steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else if (isAIEnabled && currentStep === contentTypeBuilderStepsAI.length) {\n // If AI is enabled, after AI steps, skip NoAI steps and go to Save/Finish\n const nextStep = 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length;\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'next_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n const handlePreviousStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length) {\n // If AI is disabled and we're at the first NoAI step, go back to Introduction (step 0)\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: 0 },\n });\n } else if (\n isAIEnabled &&\n currentStep === 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length\n ) {\n // If AI is enabled and we're at Save/Finish, go back to last AI step\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: contentTypeBuilderStepsAI.length },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'previous_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n return (\n <>\n <StepCount\n tourName=\"contentTypeBuilder\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n {props.children || (\n <DefaultActions\n tourName=\"contentTypeBuilder\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n )}\n </>\n );\n};\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>\n <ContentTypeBuilderActions showSkip />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AIChat = ({ Step }: StepContentProps) => (\n <Step.Root side=\"left\">\n <Step.Title id=\"tours.contentTypeBuilder.AIChat.title\" defaultMessage=\"Time to get started!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.AIChat.content\"\n defaultMessage=\"<p>If you have any questions about the Content-Type Builder or Strapi ask them here.</p><p>Strapi AI can generate schemas tailored to your needs. Ask for exactly what you want, for example:<ul><li>Date picker</li><li>Email and password fields</li><li>Media of any type</li><li>UIDs</li></ul></p><p>Don’t be shy, try it out !</p>\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </ContentTypeBuilderActions>\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 <ContentTypeBuilderActions showPrevious>\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 </ContentTypeBuilderActions>\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=\"First Step: Done! 🎉\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"You've built your first content type! Now head over to the Content Manager to start adding entries!\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst contentTypeBuilderStepsAI = [\n {\n name: 'AIChat',\n content: AIChat,\n },\n];\n\nconst contentTypeBuilderStepsNoAI = [\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\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n ...contentTypeBuilderStepsAI,\n ...contentTypeBuilderStepsNoAI,\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":["ContentTypeBuilderActions","props","state","useGuidedTour","s","dispatch","isAIEnabled","useAIAvailability","currentStepOffset","tours","contentTypeBuilder","currentStep","displayedCurrentStep","contentTypeBuilderStepsAI","length","contentTypeBuilderStepsNoAI","displayedTourLength","_meta","displayedStepCount","handleNextStep","nextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","children","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","AIChat","side","showPrevious","CollectionTypes","SingleTypes","Components","YourTurn","AddFields","GotItAction","onClick","Save","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","name","content","contentTypeBuilderSteps","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import 'react';
|
|
3
|
+
import { useAIAvailability } from '@strapi/admin/strapi-admin/ee';
|
|
3
4
|
import { useParams } from 'react-router-dom';
|
|
4
|
-
import { useAIAvailability } from '../../../hooks/useAIAvailability.mjs';
|
|
5
5
|
import { useGetGuidedTourMetaQuery } from '../../../services/admin.mjs';
|
|
6
6
|
import { useGuidedTour } from '../Context.mjs';
|
|
7
7
|
import { tours } from '../Tours.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTypeBuilderSteps.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useAIAvailability } from '../../../hooks/useAIAvailability';\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount, DefaultActions, DefaultActionsProps } from './Step';\n\nconst ContentTypeBuilderActions = ({\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & { children?: React.ReactNode }) => {\n const state = useGuidedTour('ContentTypeBuilderActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderActions', (s) => s.dispatch);\n\n const isAIEnabled = useAIAvailability();\n\n const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {\n // If AI is not enabled, we remove the AI steps\n return currentStepOffset - contentTypeBuilderStepsAI.length;\n } else if (isAIEnabled && currentStepOffset > contentTypeBuilderStepsNoAI.length) {\n // If AI is enabled, we remove the non-AI steps\n return currentStepOffset - contentTypeBuilderStepsNoAI.length;\n }\n\n return currentStepOffset;\n })();\n\n // When AI is enabled, we subtract the no AI steps and vice versa\n const displayedTourLength = isAIEnabled\n ? tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsNoAI.length\n : tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsAI.length;\n\n const handleNextStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 0) {\n // If AI is disabled, after Introduction (step 0), skip AI steps and go to first NoAI step\n const nextStep = 1 + contentTypeBuilderStepsAI.length; // Skip AI steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else if (isAIEnabled && currentStep === contentTypeBuilderStepsAI.length) {\n // If AI is enabled, after AI steps, skip NoAI steps and go to Save/Finish\n const nextStep = 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length;\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'next_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n const handlePreviousStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length) {\n // If AI is disabled and we're at the first NoAI step, go back to Introduction (step 0)\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: 0 },\n });\n } else if (\n isAIEnabled &&\n currentStep === 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length\n ) {\n // If AI is enabled and we're at Save/Finish, go back to last AI step\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: contentTypeBuilderStepsAI.length },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'previous_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n return (\n <>\n <StepCount\n tourName=\"contentTypeBuilder\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n {props.children || (\n <DefaultActions\n tourName=\"contentTypeBuilder\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n )}\n </>\n );\n};\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>\n <ContentTypeBuilderActions showSkip />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AIChat = ({ Step }: StepContentProps) => (\n <Step.Root side=\"left\">\n <Step.Title id=\"tours.contentTypeBuilder.AIChat.title\" defaultMessage=\"Time to get started!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.AIChat.content\"\n defaultMessage=\"<p>If you have any questions about the Content-Type Builder or Strapi ask them here.</p><p>Strapi AI can generate schemas tailored to your needs. Ask for exactly what you want, for example:<ul><li>Date picker</li><li>Email and password fields</li><li>Media of any type</li><li>UIDs</li></ul></p><p>Don’t be shy, try it out !</p>\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </ContentTypeBuilderActions>\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 <ContentTypeBuilderActions showPrevious>\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 </ContentTypeBuilderActions>\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=\"First Step: Done! 🎉\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"You've built your first content type! Now head over to the Content Manager to start adding entries!\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst contentTypeBuilderStepsAI = [\n {\n name: 'AIChat',\n content: AIChat,\n },\n];\n\nconst contentTypeBuilderStepsNoAI = [\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\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n ...contentTypeBuilderStepsAI,\n ...contentTypeBuilderStepsNoAI,\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":["ContentTypeBuilderActions","props","state","useGuidedTour","s","dispatch","isAIEnabled","useAIAvailability","currentStepOffset","tours","contentTypeBuilder","currentStep","displayedCurrentStep","contentTypeBuilderStepsAI","length","contentTypeBuilderStepsNoAI","displayedTourLength","_meta","displayedStepCount","handleNextStep","nextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","children","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","AIChat","side","showPrevious","CollectionTypes","SingleTypes","Components","YourTurn","AddFields","GotItAction","onClick","Save","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","name","content","contentTypeBuilderSteps","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContentTypeBuilderSteps.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount, DefaultActions, DefaultActionsProps } from './Step';\n\nconst ContentTypeBuilderActions = ({\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & { children?: React.ReactNode }) => {\n const state = useGuidedTour('ContentTypeBuilderActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderActions', (s) => s.dispatch);\n\n const isAIEnabled = useAIAvailability();\n\n const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {\n // If AI is not enabled, we remove the AI steps\n return currentStepOffset - contentTypeBuilderStepsAI.length;\n } else if (isAIEnabled && currentStepOffset > contentTypeBuilderStepsNoAI.length) {\n // If AI is enabled, we remove the non-AI steps\n return currentStepOffset - contentTypeBuilderStepsNoAI.length;\n }\n\n return currentStepOffset;\n })();\n\n // When AI is enabled, we subtract the no AI steps and vice versa\n const displayedTourLength = isAIEnabled\n ? tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsNoAI.length\n : tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsAI.length;\n\n const handleNextStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 0) {\n // If AI is disabled, after Introduction (step 0), skip AI steps and go to first NoAI step\n const nextStep = 1 + contentTypeBuilderStepsAI.length; // Skip AI steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else if (isAIEnabled && currentStep === contentTypeBuilderStepsAI.length) {\n // If AI is enabled, after AI steps, skip NoAI steps and go to Save/Finish\n const nextStep = 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length;\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'next_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n const handlePreviousStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length) {\n // If AI is disabled and we're at the first NoAI step, go back to Introduction (step 0)\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: 0 },\n });\n } else if (\n isAIEnabled &&\n currentStep === 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length\n ) {\n // If AI is enabled and we're at Save/Finish, go back to last AI step\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: contentTypeBuilderStepsAI.length },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'previous_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n return (\n <>\n <StepCount\n tourName=\"contentTypeBuilder\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n {props.children || (\n <DefaultActions\n tourName=\"contentTypeBuilder\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n )}\n </>\n );\n};\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>\n <ContentTypeBuilderActions showSkip />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AIChat = ({ Step }: StepContentProps) => (\n <Step.Root side=\"left\">\n <Step.Title id=\"tours.contentTypeBuilder.AIChat.title\" defaultMessage=\"Time to get started!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.AIChat.content\"\n defaultMessage=\"<p>If you have any questions about the Content-Type Builder or Strapi ask them here.</p><p>Strapi AI can generate schemas tailored to your needs. Ask for exactly what you want, for example:<ul><li>Date picker</li><li>Email and password fields</li><li>Media of any type</li><li>UIDs</li></ul></p><p>Don’t be shy, try it out !</p>\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious />\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 <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </ContentTypeBuilderActions>\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 <ContentTypeBuilderActions showPrevious>\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 </ContentTypeBuilderActions>\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=\"First Step: Done! 🎉\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"You've built your first content type! Now head over to the Content Manager to start adding entries!\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst contentTypeBuilderStepsAI = [\n {\n name: 'AIChat',\n content: AIChat,\n },\n];\n\nconst contentTypeBuilderStepsNoAI = [\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\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n ...contentTypeBuilderStepsAI,\n ...contentTypeBuilderStepsNoAI,\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":["ContentTypeBuilderActions","props","state","useGuidedTour","s","dispatch","isAIEnabled","useAIAvailability","currentStepOffset","tours","contentTypeBuilder","currentStep","displayedCurrentStep","contentTypeBuilderStepsAI","length","contentTypeBuilderStepsNoAI","displayedTourLength","_meta","displayedStepCount","handleNextStep","nextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","children","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","AIChat","side","showPrevious","CollectionTypes","SingleTypes","Components","YourTurn","AddFields","GotItAction","onClick","Save","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","name","content","contentTypeBuilderSteps","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":";;;;;;;;;;AAaA,MAAMA,yBAA4B,GAAA,CAAC,EACjC,GAAGC,KACoE,EAAA,GAAA;AACvE,IAAA,MAAMC,QAAQC,aAAc,CAAA,2BAAA,EAA6B,CAACC,CAAAA,GAAMA,EAAEF,KAAK,CAAA;AACvE,IAAA,MAAMG,WAAWF,aAAc,CAAA,2BAAA,EAA6B,CAACC,CAAAA,GAAMA,EAAEC,QAAQ,CAAA;AAE7E,IAAA,MAAMC,WAAcC,GAAAA,iBAAAA,EAAAA;AAEpB,IAAA,MAAMC,oBAAoBN,KAAMO,CAAAA,KAAK,CAACC,kBAAkB,CAACC,WAAW,GAAG,CAAA;IACvE,MAAMC,oBAAAA,GAAuB,CAAC,IAAA;AAC5B,QAAA,IAAI,CAACN,WAAAA,IAAeE,iBAAoBK,GAAAA,yBAAAA,CAA0BC,MAAM,EAAE;;YAExE,OAAON,iBAAAA,GAAoBK,0BAA0BC,MAAM;AAC7D,SAAA,MAAO,IAAIR,WAAAA,IAAeE,iBAAoBO,GAAAA,2BAAAA,CAA4BD,MAAM,EAAE;;YAEhF,OAAON,iBAAAA,GAAoBO,4BAA4BD,MAAM;AAC/D;QAEA,OAAON,iBAAAA;KACT,GAAA;;IAGA,MAAMQ,mBAAAA,GAAsBV,cACxBG,KAAMC,CAAAA,kBAAkB,CAACO,KAAK,CAACC,kBAAkB,GAAGH,2BAAAA,CAA4BD,MAAM,GACtFL,KAAAA,CAAMC,kBAAkB,CAACO,KAAK,CAACC,kBAAkB,GAAGL,0BAA0BC,MAAM;AAExF,IAAA,MAAMK,cAAiB,GAAA,IAAA;AACrB,QAAA,MAAMR,cAAcT,KAAMO,CAAAA,KAAK,CAACC,kBAAkB,CAACC,WAAW;QAE9D,IAAI,CAACL,WAAeK,IAAAA,WAAAA,KAAgB,CAAG,EAAA;;AAErC,YAAA,MAAMS,QAAW,GAAA,CAAA,GAAIP,yBAA0BC,CAAAA,MAAM;YACrDT,QAAS,CAAA;gBACPgB,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA;oBAAEC,QAAU,EAAA,oBAAA;oBAAsBC,IAAMJ,EAAAA;AAAS;AAC5D,aAAA,CAAA;AACF,SAAA,MAAO,IAAId,WAAAA,IAAeK,WAAgBE,KAAAA,yBAAAA,CAA0BC,MAAM,EAAE;;AAE1E,YAAA,MAAMM,WAAW,CAAIP,GAAAA,yBAAAA,CAA0BC,MAAM,GAAGC,4BAA4BD,MAAM;YAC1FT,QAAS,CAAA;gBACPgB,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA;oBAAEC,QAAU,EAAA,oBAAA;oBAAsBC,IAAMJ,EAAAA;AAAS;AAC5D,aAAA,CAAA;SACK,MAAA;;YAELf,QAAS,CAAA;gBACPgB,IAAM,EAAA,WAAA;gBACNC,OAAS,EAAA;AACX,aAAA,CAAA;AACF;AACF,KAAA;AAEA,IAAA,MAAMG,kBAAqB,GAAA,IAAA;AACzB,QAAA,MAAMd,cAAcT,KAAMO,CAAAA,KAAK,CAACC,kBAAkB,CAACC,WAAW;AAE9D,QAAA,IAAI,CAACL,WAAeK,IAAAA,WAAAA,KAAgB,CAAIE,GAAAA,yBAAAA,CAA0BC,MAAM,EAAE;;YAExET,QAAS,CAAA;gBACPgB,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA;oBAAEC,QAAU,EAAA,oBAAA;oBAAsBC,IAAM,EAAA;AAAE;AACrD,aAAA,CAAA;SACK,MAAA,IACLlB,eACAK,WAAgB,KAAA,CAAA,GAAIE,0BAA0BC,MAAM,GAAGC,2BAA4BD,CAAAA,MAAM,EACzF;;YAEAT,QAAS,CAAA;gBACPgB,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA;oBAAEC,QAAU,EAAA,oBAAA;AAAsBC,oBAAAA,IAAAA,EAAMX,0BAA0BC;AAAO;AACpF,aAAA,CAAA;SACK,MAAA;;YAELT,QAAS,CAAA;gBACPgB,IAAM,EAAA,eAAA;gBACNC,OAAS,EAAA;AACX,aAAA,CAAA;AACF;AACF,KAAA;IAEA,qBACEI,IAAA,CAAAC,QAAA,EAAA;;0BACEC,GAACC,CAAAA,SAAAA,EAAAA;gBACCN,QAAS,EAAA,oBAAA;gBACTX,oBAAsBA,EAAAA,oBAAAA;gBACtBI,mBAAqBA,EAAAA;;YAEtBf,KAAM6B,CAAAA,QAAQ,kBACbF,GAACG,CAAAA,cAAAA,EAAAA;gBACCR,QAAS,EAAA,oBAAA;gBACTS,UAAYb,EAAAA,cAAAA;gBACZc,cAAgBR,EAAAA,kBAAAA;AACf,gBAAA,GAAGxB;;;;AAKd,CAAA;AAEA;;qGAIA,MAAMiC,eAAe,CAAC,EAAEC,IAAI,EAAoB,iBAC9CT,IAACS,CAAAA,IAAAA,CAAKC,IAAI,EAAA;QAACC,UAAY,EAAA,EAAA;QAAIC,SAAW,EAAA,KAAA;;AACpC,0BAAAV,GAAA,CAACO,KAAKI,KAAK,EAAA;gBACTC,EAAG,EAAA,6CAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,+CAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B4C,QAAQ,EAAA;;;;;AAKzC,MAAMC,MAAAA,GAAS,CAAC,EAAEV,IAAI,EAAoB,iBACxCT,IAAA,CAACS,KAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,MAAA;;AACd,0BAAAlB,GAAA,CAACO,KAAKI,KAAK,EAAA;gBAACC,EAAG,EAAA,uCAAA;gBAAwCC,cAAe,EAAA;;AACtE,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,yCAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B+C,YAAY,EAAA;;;;;AAK7C,MAAMC,eAAAA,GAAkB,CAAC,EAAEb,IAAI,EAAoB,iBACjDT,IAAA,CAACS,KAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,OAAA;QAAQT,UAAY,EAAA,EAAA;;AAClC,0BAAAT,GAAA,CAACO,KAAKI,KAAK,EAAA;gBACTC,EAAG,EAAA,gDAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,kDAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B+C,YAAY,EAAA;;;;;AAK7C,MAAME,WAAAA,GAAc,CAAC,EAAEd,IAAI,EAAoB,iBAC7CT,IAAA,CAACS,KAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,OAAA;QAAQT,UAAY,EAAA,EAAA;;AAClC,0BAAAT,GAAA,CAACO,KAAKI,KAAK,EAAA;gBAACC,EAAG,EAAA,4CAAA;gBAA6CC,cAAe,EAAA;;AAC3E,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,8CAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B+C,YAAY,EAAA;;;;;AAK7C,MAAMG,UAAAA,GAAa,CAAC,EAAEf,IAAI,EAAoB,iBAC5CT,IAAA,CAACS,KAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,OAAA;QAAQT,UAAY,EAAA,EAAA;;AAClC,0BAAAT,GAAA,CAACO,KAAKI,KAAK,EAAA;gBAACC,EAAG,EAAA,2CAAA;gBAA4CC,cAAe,EAAA;;AAC1E,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,6CAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B+C,YAAY,EAAA;;;;;AAK7C,MAAMI,QAAAA,GAAW,CAAC,EAAEhB,IAAI,EAAoB,iBAC1CT,IAAA,CAACS,KAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,OAAA;QAAQT,UAAY,EAAA,EAAA;;AAClC,0BAAAT,GAAA,CAACO,KAAKI,KAAK,EAAA;gBAACC,EAAG,EAAA,yCAAA;gBAA0CC,cAAe,EAAA;;AACxE,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,2CAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B+C,YAAY,EAAA;;;;;AAK7C,MAAMK,SAAAA,GAAY,CAAC,EAAEjB,IAAI,EAAE9B,QAAQ,EAAoB,iBACrDqB,IAACS,CAAAA,IAAAA,CAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,QAAA;;AACd,0BAAAlB,GAAA,CAACO,KAAKI,KAAK,EAAA;gBACTC,EAAG,EAAA,0CAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,4CAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B+C,YAAY,EAAA,IAAA;AACrC,oBAAA,QAAA,gBAAAnB,GAACyB,CAAAA,WAAAA,EAAAA;AACCC,wBAAAA,OAAAA,EAAS,IAAMjD,QAAS,CAAA;gCAAEgB,IAAM,EAAA,WAAA;gCAAaC,OAAS,EAAA;AAAqB,6BAAA;;;;;;AAOrF,MAAMiC,IAAAA,GAAO,CAAC,EAAEpB,IAAI,EAAE9B,QAAQ,EAAoB,iBAChDqB,IAACS,CAAAA,IAAAA,CAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,OAAA;;AACd,0BAAAlB,GAAA,CAACO,KAAKI,KAAK,EAAA;gBAACC,EAAG,EAAA,qCAAA;gBAAsCC,cAAe,EAAA;;AACpE,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,uCAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;AACX,gBAAA,QAAA,gBAAAf,GAAC5B,CAAAA,yBAAAA,EAAAA;oBAA0B+C,YAAY,EAAA,IAAA;AACrC,oBAAA,QAAA,gBAAAnB,GAACyB,CAAAA,WAAAA,EAAAA;wBACCC,OAAS,EAAA,IAAA;;;4BAGPjD,QAAS,CAAA;gCACPgB,IAAM,EAAA,yBAAA;gCACNC,OAASkC,EAAAA,4BAAAA,CAA6B9C,kBAAkB,CAAC+C;AAC3D,6BAAA,CAAA;4BACApD,QAAS,CAAA;gCAAEgB,IAAM,EAAA,WAAA;gCAAaC,OAAS,EAAA;AAAqB,6BAAA,CAAA;AAC9D;;;;;;AAOV,MAAMoC,MAAS,GAAA,CAAC,EAAEvB,IAAI,EAAoB,GAAA;AACxC,IAAA,MAAM,EAAEwB,IAAAA,EAAMC,cAAc,EAAE,GAAGC,yBAAAA,EAAAA;AACjC,IAAA,MAAM,EAAE,GAAA,EAAKC,WAAW,EAAE,GAAGC,SAAAA,EAAAA;;IAE7B,MAAMC,GAAAA,GAAMF,WAAaG,EAAAA,KAAAA,CAAM,GAAKC,CAAAA,CAAAA,GAAAA,EAAAA;AACpC,IAAA,MAAMC,cAAcH,GAAMJ,GAAAA,cAAAA,EAAgBD,MAAMS,OAAS,GAACJ,IAAuB,GAAG,IAAA;AACpF,IAAA,MAAMK,yBAA4B,GAAA;QAChCC,cAAgB,EAAA,kBAAA;QAChBC,UAAY,EAAA;AACd,KAAA;AAEA,IAAA,MAAMC,KAAKL,WACP,GAAA,CAAC,iBAAiB,EAAEE,yBAAyB,CAACF,WAAAA,CAAYM,IAAI,CAAC,CAAC,CAAC,EAAEN,WAAYH,CAAAA,GAAG,EAAE,GACpF,kBAAA;IAEJ,qBACEtC,IAAA,CAACS,KAAKC,IAAI,EAAA;QAACU,IAAK,EAAA,OAAA;;AACd,0BAAAlB,GAAA,CAACO,KAAKI,KAAK,EAAA;gBACTC,EAAG,EAAA,uCAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKO,OAAO,EAAA;gBACXF,EAAG,EAAA,yCAAA;gBACHC,cAAe,EAAA;;AAEjB,0BAAAb,GAAA,CAACO,KAAKQ,OAAO,EAAA;gBAAC+B,aAAe,EAAA,KAAA;gBAAO3B,YAAc,EAAA,KAAA;gBAAOyB,EAAIA,EAAAA;;;;AAGnE,CAAA;AAEA;;AAEkG,qGAClG,MAAM3D,yBAA4B,GAAA;AAChC,IAAA;QACE8D,IAAM,EAAA,QAAA;QACNC,OAAS/B,EAAAA;AACX;AACD,CAAA;AAED,MAAM9B,2BAA8B,GAAA;AAClC,IAAA;QACE4D,IAAM,EAAA,iBAAA;QACNC,OAAS5B,EAAAA;AACX,KAAA;AACA,IAAA;QACE2B,IAAM,EAAA,aAAA;QACNC,OAAS3B,EAAAA;AACX,KAAA;AACA,IAAA;QACE0B,IAAM,EAAA,YAAA;QACNC,OAAS1B,EAAAA;AACX,KAAA;AACA,IAAA;QACEyB,IAAM,EAAA,UAAA;QACNC,OAASzB,EAAAA;AACX,KAAA;AACA,IAAA;QACEwB,IAAM,EAAA,WAAA;QACNC,OAASxB,EAAAA;AACX;AACD,CAAA;MAEYyB,uBAA0B,GAAA;AACrC,IAAA;QACEF,IAAM,EAAA,cAAA;QACNC,OAAS1C,EAAAA;AACX,KAAA;AACGrB,IAAAA,GAAAA,yBAAAA;AACAE,IAAAA,GAAAA,2BAAAA;AACH,IAAA;QACE4D,IAAM,EAAA,MAAA;QACNG,IAAM,EAAA,CAACC,mBACLA,gBAAiBC,CAAAA,QAAQ,CAACxB,4BAA6B9C,CAAAA,kBAAkB,CAACuE,QAAQ,CAAA;QACpFL,OAASrB,EAAAA;AACX,KAAA;AACA,IAAA;QACEoB,IAAM,EAAA,QAAA;QACNC,OAASlB,EAAAA,MAAAA;QACTwB,oBAAsB,EAAA,IAAA;QACtBJ,IAAM,EAAA,CAACC,mBACLA,gBAAiBC,CAAAA,QAAQ,CAACxB,4BAA6B9C,CAAAA,kBAAkB,CAAC+C,YAAY;AAC1F;;;;;"}
|
|
@@ -440,7 +440,8 @@ const Register = ({ hasAdmin })=>{
|
|
|
440
440
|
type: 'checkbox'
|
|
441
441
|
}
|
|
442
442
|
].map(({ size, ...field })=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
443
|
-
|
|
443
|
+
xs: 12,
|
|
444
|
+
m: size,
|
|
444
445
|
direction: "column",
|
|
445
446
|
alignItems: "stretch",
|
|
446
447
|
children: /*#__PURE__*/ jsxRuntime.jsx(Renderer.InputRenderer, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Register.js","sources":["../../../../../../../admin/src/pages/Auth/components/Register.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, Link } from '@strapi/design-system';\nimport omit from 'lodash/omit';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate, useMatch, useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\nimport { ValidationError } from 'yup';\n\nimport {\n Register as RegisterUser,\n RegisterAdmin,\n} from '../../../../../shared/contracts/authentication';\nimport { Form, FormHelpers } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { useNpsSurveySettings } from '../../../components/NpsSurvey';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useTracking } from '../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { LayoutContent, UnauthenticatedLayout } from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport {\n useGetRegistrationInfoQuery,\n useRegisterAdminMutation,\n useRegisterUserMutation,\n} from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getOrCreateDeviceId } from '../../../utils/deviceId';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst REGISTER_USER_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required).nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .matches(/[a-z]/, {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n })\n .matches(/[A-Z]/, {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n })\n .matches(/\\d/, {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n registrationToken: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'Registration token is required',\n }),\n});\n\nconst REGISTER_ADMIN_SCHEMA = yup.object().shape({\n firstname: yup\n .string()\n .trim()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Firstname is required',\n })\n .nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value) return true;\n return new TextEncoder().encode(value).length <= 72;\n }\n )\n .matches(/[a-z]/, {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n })\n .matches(/[A-Z]/, {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n })\n .matches(/\\d/, {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .nullable()\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n }),\n email: yup\n .string()\n .email({\n id: translatedErrors.email.id,\n defaultMessage: 'Not a valid email',\n })\n .strict()\n .lowercase({\n id: translatedErrors.lowercase.id,\n defaultMessage: 'Email must be lowercase',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Email is required',\n })\n .nullable(),\n});\n\ninterface RegisterProps {\n hasAdmin?: boolean;\n}\n\ninterface RegisterFormValues {\n firstname: string;\n lastname: string;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n}\n\nconst Register = ({ hasAdmin }: RegisterProps) => {\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const [submitCount, setSubmitCount] = React.useState(0);\n const [apiError, setApiError] = React.useState<string>();\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const match = useMatch('/auth/:authType');\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { setNpsSurveySettings } = useNpsSurveySettings();\n\n const registrationToken = query.get('registrationToken');\n\n const { data: userInfo, error } = useGetRegistrationInfoQuery(registrationToken as string, {\n skip: !registrationToken,\n });\n\n React.useEffect(() => {\n if (error) {\n const message: string = isBaseQueryError(error)\n ? formatAPIError(error)\n : (error.message ?? '');\n\n toggleNotification({\n type: 'danger',\n message,\n });\n\n navigate(`/auth/oops?info=${encodeURIComponent(message)}`);\n }\n }, [error, formatAPIError, navigate, toggleNotification]);\n\n const [registerAdmin] = useRegisterAdminMutation();\n const [registerUser] = useRegisterUserMutation();\n const dispatch = useTypedDispatch();\n\n const handleRegisterAdmin = async (\n { news, ...body }: RegisterAdmin.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerAdmin({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${true}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n const handleRegisterUser = async (\n { news, ...body }: RegisterUser.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerUser({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${hasAdmin}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n if (\n !match ||\n (match.params.authType !== 'register' && match.params.authType !== 'register-admin')\n ) {\n return <Navigate to=\"/\" />;\n }\n\n const isAdminRegistration = match.params.authType === 'register-admin';\n\n const schema = isAdminRegistration ? REGISTER_ADMIN_SCHEMA : REGISTER_USER_SCHEMA;\n\n return (\n <UnauthenticatedLayout>\n <LayoutContent>\n <Flex direction=\"column\" alignItems=\"center\" gap={3}>\n <Logo />\n\n <Typography tag=\"h1\" variant=\"alpha\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.welcome.title',\n defaultMessage: 'Welcome to Strapi!',\n })}\n </Typography>\n <Typography variant=\"epsilon\" textColor=\"neutral600\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.register.subtitle',\n defaultMessage:\n 'Credentials are only used to authenticate in Strapi. All saved data will be stored in your database.',\n })}\n </Typography>\n {apiError ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {apiError}\n </Typography>\n ) : null}\n </Flex>\n <Form\n method=\"POST\"\n initialValues={\n {\n firstname: userInfo?.firstname || '',\n lastname: userInfo?.lastname || '',\n email: userInfo?.email || '',\n password: '',\n confirmPassword: '',\n registrationToken: registrationToken || undefined,\n news: false,\n } satisfies RegisterFormValues\n }\n onSubmit={async (data, helpers) => {\n const normalizedData = normalizeData(data);\n\n try {\n await schema.validate(normalizedData, { abortEarly: false });\n\n if (submitCount > 0 && isAdminRegistration) {\n trackUsage('didSubmitWithErrorsFirstAdmin', { count: submitCount.toString() });\n }\n\n if (normalizedData.registrationToken) {\n handleRegisterUser(\n {\n userInfo: omit(normalizedData, [\n 'registrationToken',\n 'confirmPassword',\n 'email',\n 'news',\n ]),\n registrationToken: normalizedData.registrationToken,\n news: normalizedData.news,\n },\n helpers.setErrors\n );\n } else {\n await handleRegisterAdmin(\n omit(normalizedData, ['registrationToken', 'confirmPassword']),\n helpers.setErrors\n );\n }\n } catch (err) {\n if (err instanceof ValidationError) {\n helpers.setErrors(\n err.inner.reduce<Record<string, string>>((acc, { message, path }) => {\n if (path && typeof message === 'object') {\n acc[path] = formatMessage(message);\n }\n return acc;\n }, {})\n );\n }\n setSubmitCount(submitCount + 1);\n }\n }}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} marginTop={7}>\n <Grid.Root gap={4}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'Firstname',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Lastname',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n disabled: !isAdminRegistration,\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 12,\n type: 'email' as const,\n },\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage(\n {\n id: 'Auth.form.register.news.label',\n defaultMessage:\n 'Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy}).',\n },\n {\n terms: (\n <A target=\"_blank\" href=\"https://strapi.io/terms\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.terms',\n defaultMessage: 'terms',\n })}\n </A>\n ),\n policy: (\n <A target=\"_blank\" href=\"https://strapi.io/privacy\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.policy',\n defaultMessage: 'policy',\n })}\n </A>\n ),\n }\n ),\n name: 'news',\n size: 12,\n type: 'checkbox' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n <Button fullWidth size=\"L\" type=\"submit\">\n {formatMessage({\n id: 'Auth.form.button.register',\n defaultMessage: \"Let's start\",\n })}\n </Button>\n </Flex>\n </Form>\n {match?.params.authType === 'register' && (\n <Box paddingTop={4}>\n <Flex justifyContent=\"center\">\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({\n id: 'Auth.link.signin.account',\n defaultMessage: 'Already have an account?',\n })}\n </Link>\n </Flex>\n </Box>\n )}\n </LayoutContent>\n </UnauthenticatedLayout>\n );\n};\n\ninterface RegisterFormValues {\n firstname: string;\n lastname: string;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n}\n\ntype StringKeys<T> = {\n [K in keyof T]: T[K] extends string | undefined ? K : never;\n}[keyof T];\n\n/**\n * @description Trims all values but the password & sets lastName to null if it's a falsey value.\n */\nfunction normalizeData(data: RegisterFormValues) {\n return Object.entries(data).reduce(\n (acc, [key, value]) => {\n type PasswordKeys = Extract<keyof RegisterFormValues, 'password' | 'confirmPassword'>;\n type RegisterFormStringValues = Exclude<\n keyof Pick<RegisterFormValues, StringKeys<RegisterFormValues>>,\n PasswordKeys\n >;\n\n if (!['password', 'confirmPassword'].includes(key) && typeof value === 'string') {\n acc[key as RegisterFormStringValues] = value.trim();\n\n if (key === 'lastname') {\n acc[key] = value || undefined;\n }\n } else {\n acc[key as PasswordKeys] = value;\n }\n\n return acc;\n },\n {} as {\n firstname: string;\n lastname: string | undefined;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n }\n );\n}\n\nconst A = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\nexport { Register };\nexport type { RegisterProps };\n"],"names":["REGISTER_USER_SCHEMA","yup","object","shape","firstname","string","trim","required","translatedErrors","nullable","lastname","password","min","id","minLength","defaultMessage","values","test","value","byteSize","getByteSize","matches","message","confirmPassword","oneOf","ref","registrationToken","REGISTER_ADMIN_SCHEMA","TextEncoder","encode","length","email","strict","lowercase","Register","hasAdmin","toggleNotification","useNotification","navigate","useNavigate","submitCount","setSubmitCount","React","useState","apiError","setApiError","trackUsage","useTracking","formatMessage","useIntl","search","searchString","useLocation","query","useMemo","URLSearchParams","match","useMatch","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","setNpsSurveySettings","useNpsSurveySettings","get","data","userInfo","error","useGetRegistrationInfoQuery","skip","useEffect","isBaseQueryError","type","encodeURIComponent","registerAdmin","useRegisterAdminMutation","registerUser","useRegisterUserMutation","dispatch","useTypedDispatch","handleRegisterAdmin","news","body","setFormErrors","res","deviceId","getOrCreateDeviceId","login","token","s","enabled","pathname","name","handleRegisterUser","params","authType","_jsx","Navigate","to","isAdminRegistration","schema","UnauthenticatedLayout","_jsxs","LayoutContent","Flex","direction","alignItems","gap","Logo","Typography","tag","variant","textAlign","textColor","role","tabIndex","Form","method","initialValues","undefined","onSubmit","helpers","normalizedData","normalizeData","validate","abortEarly","count","toString","omit","setErrors","err","ValidationError","inner","reduce","acc","path","marginTop","Grid","Root","label","size","disabled","hint","terms","A","target","href","rel","policy","map","field","Item","col","InputRenderer","Button","fullWidth","Box","paddingTop","justifyContent","Link","NavLink","Object","entries","key","includes","styled","a","theme","colors","primary600"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Register.js","sources":["../../../../../../../admin/src/pages/Auth/components/Register.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, Link } from '@strapi/design-system';\nimport omit from 'lodash/omit';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate, useMatch, useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\nimport { ValidationError } from 'yup';\n\nimport {\n Register as RegisterUser,\n RegisterAdmin,\n} from '../../../../../shared/contracts/authentication';\nimport { Form, FormHelpers } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { useNpsSurveySettings } from '../../../components/NpsSurvey';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useTracking } from '../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { LayoutContent, UnauthenticatedLayout } from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport {\n useGetRegistrationInfoQuery,\n useRegisterAdminMutation,\n useRegisterUserMutation,\n} from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getOrCreateDeviceId } from '../../../utils/deviceId';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst REGISTER_USER_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required).nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .matches(/[a-z]/, {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n })\n .matches(/[A-Z]/, {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n })\n .matches(/\\d/, {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n registrationToken: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'Registration token is required',\n }),\n});\n\nconst REGISTER_ADMIN_SCHEMA = yup.object().shape({\n firstname: yup\n .string()\n .trim()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Firstname is required',\n })\n .nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value) return true;\n return new TextEncoder().encode(value).length <= 72;\n }\n )\n .matches(/[a-z]/, {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n })\n .matches(/[A-Z]/, {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n })\n .matches(/\\d/, {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .nullable()\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n }),\n email: yup\n .string()\n .email({\n id: translatedErrors.email.id,\n defaultMessage: 'Not a valid email',\n })\n .strict()\n .lowercase({\n id: translatedErrors.lowercase.id,\n defaultMessage: 'Email must be lowercase',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Email is required',\n })\n .nullable(),\n});\n\ninterface RegisterProps {\n hasAdmin?: boolean;\n}\n\ninterface RegisterFormValues {\n firstname: string;\n lastname: string;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n}\n\nconst Register = ({ hasAdmin }: RegisterProps) => {\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const [submitCount, setSubmitCount] = React.useState(0);\n const [apiError, setApiError] = React.useState<string>();\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const match = useMatch('/auth/:authType');\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { setNpsSurveySettings } = useNpsSurveySettings();\n\n const registrationToken = query.get('registrationToken');\n\n const { data: userInfo, error } = useGetRegistrationInfoQuery(registrationToken as string, {\n skip: !registrationToken,\n });\n\n React.useEffect(() => {\n if (error) {\n const message: string = isBaseQueryError(error)\n ? formatAPIError(error)\n : (error.message ?? '');\n\n toggleNotification({\n type: 'danger',\n message,\n });\n\n navigate(`/auth/oops?info=${encodeURIComponent(message)}`);\n }\n }, [error, formatAPIError, navigate, toggleNotification]);\n\n const [registerAdmin] = useRegisterAdminMutation();\n const [registerUser] = useRegisterUserMutation();\n const dispatch = useTypedDispatch();\n\n const handleRegisterAdmin = async (\n { news, ...body }: RegisterAdmin.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerAdmin({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${true}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n const handleRegisterUser = async (\n { news, ...body }: RegisterUser.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerUser({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${hasAdmin}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n if (\n !match ||\n (match.params.authType !== 'register' && match.params.authType !== 'register-admin')\n ) {\n return <Navigate to=\"/\" />;\n }\n\n const isAdminRegistration = match.params.authType === 'register-admin';\n\n const schema = isAdminRegistration ? REGISTER_ADMIN_SCHEMA : REGISTER_USER_SCHEMA;\n\n return (\n <UnauthenticatedLayout>\n <LayoutContent>\n <Flex direction=\"column\" alignItems=\"center\" gap={3}>\n <Logo />\n\n <Typography tag=\"h1\" variant=\"alpha\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.welcome.title',\n defaultMessage: 'Welcome to Strapi!',\n })}\n </Typography>\n <Typography variant=\"epsilon\" textColor=\"neutral600\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.register.subtitle',\n defaultMessage:\n 'Credentials are only used to authenticate in Strapi. All saved data will be stored in your database.',\n })}\n </Typography>\n {apiError ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {apiError}\n </Typography>\n ) : null}\n </Flex>\n <Form\n method=\"POST\"\n initialValues={\n {\n firstname: userInfo?.firstname || '',\n lastname: userInfo?.lastname || '',\n email: userInfo?.email || '',\n password: '',\n confirmPassword: '',\n registrationToken: registrationToken || undefined,\n news: false,\n } satisfies RegisterFormValues\n }\n onSubmit={async (data, helpers) => {\n const normalizedData = normalizeData(data);\n\n try {\n await schema.validate(normalizedData, { abortEarly: false });\n\n if (submitCount > 0 && isAdminRegistration) {\n trackUsage('didSubmitWithErrorsFirstAdmin', { count: submitCount.toString() });\n }\n\n if (normalizedData.registrationToken) {\n handleRegisterUser(\n {\n userInfo: omit(normalizedData, [\n 'registrationToken',\n 'confirmPassword',\n 'email',\n 'news',\n ]),\n registrationToken: normalizedData.registrationToken,\n news: normalizedData.news,\n },\n helpers.setErrors\n );\n } else {\n await handleRegisterAdmin(\n omit(normalizedData, ['registrationToken', 'confirmPassword']),\n helpers.setErrors\n );\n }\n } catch (err) {\n if (err instanceof ValidationError) {\n helpers.setErrors(\n err.inner.reduce<Record<string, string>>((acc, { message, path }) => {\n if (path && typeof message === 'object') {\n acc[path] = formatMessage(message);\n }\n return acc;\n }, {})\n );\n }\n setSubmitCount(submitCount + 1);\n }\n }}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} marginTop={7}>\n <Grid.Root gap={4}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'Firstname',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Lastname',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n disabled: !isAdminRegistration,\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 12,\n type: 'email' as const,\n },\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage(\n {\n id: 'Auth.form.register.news.label',\n defaultMessage:\n 'Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy}).',\n },\n {\n terms: (\n <A target=\"_blank\" href=\"https://strapi.io/terms\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.terms',\n defaultMessage: 'terms',\n })}\n </A>\n ),\n policy: (\n <A target=\"_blank\" href=\"https://strapi.io/privacy\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.policy',\n defaultMessage: 'policy',\n })}\n </A>\n ),\n }\n ),\n name: 'news',\n size: 12,\n type: 'checkbox' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n xs={12}\n m={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n <Button fullWidth size=\"L\" type=\"submit\">\n {formatMessage({\n id: 'Auth.form.button.register',\n defaultMessage: \"Let's start\",\n })}\n </Button>\n </Flex>\n </Form>\n {match?.params.authType === 'register' && (\n <Box paddingTop={4}>\n <Flex justifyContent=\"center\">\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({\n id: 'Auth.link.signin.account',\n defaultMessage: 'Already have an account?',\n })}\n </Link>\n </Flex>\n </Box>\n )}\n </LayoutContent>\n </UnauthenticatedLayout>\n );\n};\n\ninterface RegisterFormValues {\n firstname: string;\n lastname: string;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n}\n\ntype StringKeys<T> = {\n [K in keyof T]: T[K] extends string | undefined ? K : never;\n}[keyof T];\n\n/**\n * @description Trims all values but the password & sets lastName to null if it's a falsey value.\n */\nfunction normalizeData(data: RegisterFormValues) {\n return Object.entries(data).reduce(\n (acc, [key, value]) => {\n type PasswordKeys = Extract<keyof RegisterFormValues, 'password' | 'confirmPassword'>;\n type RegisterFormStringValues = Exclude<\n keyof Pick<RegisterFormValues, StringKeys<RegisterFormValues>>,\n PasswordKeys\n >;\n\n if (!['password', 'confirmPassword'].includes(key) && typeof value === 'string') {\n acc[key as RegisterFormStringValues] = value.trim();\n\n if (key === 'lastname') {\n acc[key] = value || undefined;\n }\n } else {\n acc[key as PasswordKeys] = value;\n }\n\n return acc;\n },\n {} as {\n firstname: string;\n lastname: string | undefined;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n }\n );\n}\n\nconst A = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\nexport { Register };\nexport type { RegisterProps };\n"],"names":["REGISTER_USER_SCHEMA","yup","object","shape","firstname","string","trim","required","translatedErrors","nullable","lastname","password","min","id","minLength","defaultMessage","values","test","value","byteSize","getByteSize","matches","message","confirmPassword","oneOf","ref","registrationToken","REGISTER_ADMIN_SCHEMA","TextEncoder","encode","length","email","strict","lowercase","Register","hasAdmin","toggleNotification","useNotification","navigate","useNavigate","submitCount","setSubmitCount","React","useState","apiError","setApiError","trackUsage","useTracking","formatMessage","useIntl","search","searchString","useLocation","query","useMemo","URLSearchParams","match","useMatch","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","setNpsSurveySettings","useNpsSurveySettings","get","data","userInfo","error","useGetRegistrationInfoQuery","skip","useEffect","isBaseQueryError","type","encodeURIComponent","registerAdmin","useRegisterAdminMutation","registerUser","useRegisterUserMutation","dispatch","useTypedDispatch","handleRegisterAdmin","news","body","setFormErrors","res","deviceId","getOrCreateDeviceId","login","token","s","enabled","pathname","name","handleRegisterUser","params","authType","_jsx","Navigate","to","isAdminRegistration","schema","UnauthenticatedLayout","_jsxs","LayoutContent","Flex","direction","alignItems","gap","Logo","Typography","tag","variant","textAlign","textColor","role","tabIndex","Form","method","initialValues","undefined","onSubmit","helpers","normalizedData","normalizeData","validate","abortEarly","count","toString","omit","setErrors","err","ValidationError","inner","reduce","acc","path","marginTop","Grid","Root","label","size","disabled","hint","terms","A","target","href","rel","policy","map","field","Item","xs","m","InputRenderer","Button","fullWidth","Box","paddingTop","justifyContent","Link","NavLink","Object","entries","key","includes","styled","a","theme","colors","primary600"],"mappings":"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"}
|
|
@@ -419,7 +419,8 @@ const Register = ({ hasAdmin })=>{
|
|
|
419
419
|
type: 'checkbox'
|
|
420
420
|
}
|
|
421
421
|
].map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
|
|
422
|
-
|
|
422
|
+
xs: 12,
|
|
423
|
+
m: size,
|
|
423
424
|
direction: "column",
|
|
424
425
|
alignItems: "stretch",
|
|
425
426
|
children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
|