diff --git a/src/core/i18n/en/translation.en.json b/src/core/i18n/en/translation.en.json index e04fdfcc37..dd83552c32 100644 --- a/src/core/i18n/en/translation.en.json +++ b/src/core/i18n/en/translation.en.json @@ -2031,12 +2031,12 @@ "subspaces": { "description": "Here you can edit Subspaces for this Space.", "defaultSettings": { - "title": "Default settings", + "title": "Default Subspace Template", "description": "Choose the default settings that will apply when creating a new Subspace within this Space. These settings can be modified during the creation process or at a later time.", "defaultCollaborationTemplate": { - "selectDifferentTemplate": "Select Collaboration Template", - "title": "Selecting the Default Collaboration Template", - "description": "Customize the default template for newly created Subspaces. Admins can modify it later in the Innovation flow settings. \n\nBelow you can choose between the templates collected in the Space Templates library." + "selectDifferentTemplate": "Change Default Template", + "title": "Change Default Subspace Template", + "description": "Customize the default template for newly created Subspaces.

Below you can choose between the templates collected in the Space Templates library. If you’re looking to create new templates or explore additional templates, click here to access this library." } } } diff --git a/src/domain/journey/space/pages/SpaceSubspaces/SubspaceListView.tsx b/src/domain/journey/space/pages/SpaceSubspaces/SubspaceListView.tsx index 5d18d3bd98..4e611cf69e 100644 --- a/src/domain/journey/space/pages/SpaceSubspaces/SubspaceListView.tsx +++ b/src/domain/journey/space/pages/SpaceSubspaces/SubspaceListView.tsx @@ -4,7 +4,6 @@ import useNavigate from '@/core/routing/useNavigate'; import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; import AddOutlinedIcon from '@mui/icons-material/AddOutlined'; -import Loading from '@/core/ui/loading/Loading'; import { refetchAdminSpaceSubspacesPageQuery, refetchDashboardWithMembershipsQuery, @@ -28,7 +27,7 @@ import InnovationFlowProfileView from '@/domain/collaboration/InnovationFlow/Inn import InnovationFlowStates from '@/domain/collaboration/InnovationFlow/InnovationFlowStates/InnovationFlowStates'; import { Actions } from '@/core/ui/actions/Actions'; import { Cached, DeleteOutline, DownloadForOfflineOutlined } from '@mui/icons-material'; -import SelectDefaultCollabTemplateDialog from '@/domain/templates-manager/SelectDefaultCollaborationTemplate/SelectDefaultCollabTemplateDialog'; +import SelectDefaultCollaborationTemplateDialog from '@/domain/templates-manager/SelectDefaultCollaborationTemplate/SelectDefaultCollaborationTemplateDialog'; import MenuItemWithIcon from '@/core/ui/menu/MenuItemWithIcon'; import Gutters from '@/core/ui/grid/Gutters'; import SearchableList, { SearchableListItem } from '@/domain/platform/admin/components/SearchableList'; @@ -213,36 +212,38 @@ export const SubspaceListView = () => { ); - if (loading) return ; - return ( <> {t('pages.admin.space.sections.subspaces.defaultSettings.description')} - - - {defaultSubspaceTemplate?.template?.profile.displayName} - - setSelectedState(state.displayName)} - /> - - - - + {defaultSubspaceTemplate?.template ? ( + <> + {defaultSubspaceTemplate.template.profile.displayName} + + setSelectedState(state.displayName)} + /> + + ) : ( + {t('context.subspace.template.defaultTemplate')} + )} + + + + @@ -256,11 +257,11 @@ export const SubspaceListView = () => { {t('buttons.create')} - + - void; - defaultCollaborationTemplateId?: string; - onSelectCollaborationTemplate: (collaborationTemplateId: string) => Promise; -} - -const SelectDefaultCollabTemplateDialog = ({ - spaceId, - open, - onClose, - defaultCollaborationTemplateId, - onSelectCollaborationTemplate: onSelectInnovationFlow, -}: SelectDefaultCollabTemplateDialogProps) => { - const { t } = useTranslation(); - const [handleSelectCollaborationTemplate, loadingSelectCollaborationTemplate] = - useLoadingState(onSelectInnovationFlow); - - const { data, loading: loadingInnovationFlows } = useSpaceCollaborationTemplatesQuery({ - variables: { - spaceId: spaceId!, - }, - skip: !spaceId, - }); - - const initialValues: FormValues = { - collaborationTemplateSelectedId: - defaultCollaborationTemplateId ?? - data?.lookup.space?.templatesManager?.templatesSet?.collaborationTemplates[0]?.id ?? - '', - }; - - const validationSchema = yup.object().shape({ - collaborationTemplateSelectedId: yup.string().required(), - }); - - const collaborationTemplates = useMemo( - () => - data?.lookup.space?.templatesManager?.templatesSet?.collaborationTemplates.map(template => ({ - id: template.id, - name: template.profile.displayName, - })), - [data?.lookup.space?.templatesManager?.templatesSet?.collaborationTemplates] - ); - - return ( - - - {}}> - {({ isValid, values }) => ( -
- - - {t('pages.admin.space.sections.subspaces.defaultSettings.defaultCollaborationTemplate.description')} - - {loadingInnovationFlows && } - {collaborationTemplates && ( - - )} - - - handleSelectCollaborationTemplate(values.collaborationTemplateSelectedId)} - > - {t('buttons.save')} - - - -
- )} -
-
- ); -}; - -export default SelectDefaultCollabTemplateDialog; diff --git a/src/domain/templates-manager/SelectDefaultCollaborationTemplate/SelectDefaultCollaborationTemplateDialog.tsx b/src/domain/templates-manager/SelectDefaultCollaborationTemplate/SelectDefaultCollaborationTemplateDialog.tsx index d9da72ef57..edec76686e 100644 --- a/src/domain/templates-manager/SelectDefaultCollaborationTemplate/SelectDefaultCollaborationTemplateDialog.tsx +++ b/src/domain/templates-manager/SelectDefaultCollaborationTemplate/SelectDefaultCollaborationTemplateDialog.tsx @@ -2,8 +2,7 @@ import * as yup from 'yup'; import { Button, Skeleton } from '@mui/material'; import DialogHeader from '@/core/ui/dialog/DialogHeader'; import DialogWithGrid from '@/core/ui/dialog/DialogWithGrid'; -import WrapperMarkdown from '@/core/ui/markdown/WrapperMarkdown'; -import { useTranslation } from 'react-i18next'; +import { Trans, useTranslation } from 'react-i18next'; import FormikSelect from '@/core/ui/forms/FormikSelect'; import { Form, Formik } from 'formik'; import useLoadingState from '@/domain/shared/utils/useLoadingState'; @@ -12,6 +11,9 @@ import { useSpaceCollaborationTemplatesQuery } from '@/core/apollo/generated/apo import { useMemo } from 'react'; import Gutters from '@/core/ui/grid/Gutters'; import { Actions } from '@/core/ui/actions/Actions'; +import RouterLink from '@/core/ui/link/RouterLink'; +import { Caption } from '@/core/ui/typography'; +import { SettingsSection } from '@/domain/platform/admin/layout/EntitySettingsLayout/constants'; interface FormValues { collaborationTemplateSelectedId: string; @@ -73,13 +75,19 @@ const SelectDefaultCollaborationTemplateDialog = ({ {({ isValid, values }) => (
- - {t('pages.admin.space.sections.subspaces.defaultSettings.defaultCollaborationTemplate.description')} - + + , + br:
, + }} + /> + {loadingInnovationFlows && } {collaborationTemplates && (