Skip to content

Commit

Permalink
Merge branch 'develop' into client-7214-lazy-err-handling
Browse files Browse the repository at this point in the history
  • Loading branch information
ccanos authored Nov 21, 2024
2 parents 09038ab + 7de5901 commit 686fe21
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 5 deletions.
3 changes: 3 additions & 0 deletions src/core/apollo/generated/apollo-hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20033,6 +20033,9 @@ export const SpaceTemplatesSetIdDocument = gql`
id
templatesSet {
id
authorization {
myPrivileges
}
}
}
}
Expand Down
10 changes: 9 additions & 1 deletion src/core/apollo/generated/graphql-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25137,7 +25137,15 @@ export type SpaceTemplatesSetIdQuery = {
| {
__typename?: 'TemplatesManager';
id: string;
templatesSet?: { __typename?: 'TemplatesSet'; id: string } | undefined;
templatesSet?:
| {
__typename?: 'TemplatesSet';
id: string;
authorization?:
| { __typename?: 'Authorization'; myPrivileges?: Array<AuthorizationPrivilege> | undefined }
| undefined;
}
| undefined;
}
| undefined;
};
Expand Down
1 change: 1 addition & 0 deletions src/core/i18n/en/translation.en.json
Original file line number Diff line number Diff line change
Expand Up @@ -2057,6 +2057,7 @@
"title": "Copy Subspace",
"description": "To utilize this Subspace setup, you can either duplicate it within the same Space or save it as a template for use across the platform. In both scenarios, the innovation flow and all collaboration tools will be replicated. Please note that comments or contributions to a tool will not be included in the template or duplicated Subspace.",
"createTemplate": "Create Template",
"createTemplateTooltip": "To create a template from this Subspace, you need Space admin permissions.",
"duplicate": "Duplicate"
},
"account": {
Expand Down
28 changes: 25 additions & 3 deletions src/domain/journey/space/pages/SpaceSettings/SpaceSettingsView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
useSpaceHostQuery,
useSpacePrivilegesQuery,
useSpaceSettingsQuery,
useSpaceTemplatesSetIdQuery,
useUpdateSpaceSettingsMutation,
} from '@/core/apollo/generated/apollo-hooks';
import {
Expand Down Expand Up @@ -39,6 +40,8 @@ import Gutters from '@/core/ui/grid/Gutters';
import CreateTemplateDialog from '@/domain/templates/components/Dialogs/CreateEditTemplateDialog/CreateTemplateDialog';
import { useCreateCollaborationTemplate } from '@/domain/templates/hooks/useCreateCollaborationTemplate';
import { CollaborationTemplateFormSubmittedValues } from '@/domain/templates/components/Forms/CollaborationTemplateForm';
import ButtonWithTooltip from '@/core/ui/button/ButtonWithTooltip';
import { noop } from 'lodash';

type SpaceSettingsViewProps = {
journeyId: string;
Expand Down Expand Up @@ -127,6 +130,14 @@ export const SpaceSettingsView = ({ journeyId, journeyTypeName }: SpaceSettingsV
const roleSetId = settingsData?.lookup.space?.community?.roleSet.id;
const collaborationId = settingsData?.lookup.space?.collaboration.id;

const { data: templateData } = useSpaceTemplatesSetIdQuery({
variables: { spaceNameId },
skip: !spaceNameId,
});

const templateSetPrivileges = templateData?.space.templatesManager?.templatesSet?.authorization?.myPrivileges ?? [];
const canCreateTemplate = templateSetPrivileges?.includes(AuthorizationPrivilege.Create);

const { handleCreateCollaborationTemplate } = useCreateCollaborationTemplate();
const handleSaveAsTemplate = async (values: CollaborationTemplateFormSubmittedValues) => {
await handleCreateCollaborationTemplate(values, spaceNameId);
Expand Down Expand Up @@ -417,9 +428,20 @@ export const SpaceSettingsView = ({ journeyId, journeyTypeName }: SpaceSettingsV
<PageContentBlockHeader title={t('pages.admin.space.settings.copySpace.title')} />
<Text>{t('pages.admin.space.settings.copySpace.description')}</Text>
<Gutters disablePadding row>
<Button variant="contained" onClick={() => setSaveAsTemplateDialogOpen(true)}>
{t('pages.admin.space.settings.copySpace.createTemplate')}
</Button>
{canCreateTemplate ? (
<Button variant="contained" onClick={() => setSaveAsTemplateDialogOpen(true)}>
{t('pages.admin.space.settings.copySpace.createTemplate')}
</Button>
) : (
<ButtonWithTooltip
tooltip={t('pages.admin.space.settings.copySpace.createTemplateTooltip')}
tooltipPlacement="right"
variant="outlined"
onClick={noop}
>
{t('pages.admin.space.settings.copySpace.createTemplate')}
</ButtonWithTooltip>
)}
<Button variant="outlined" onClick={/* PENDING */ () => {}} disabled>
{t('pages.admin.space.settings.copySpace.duplicate')}
</Button>
Expand Down
3 changes: 3 additions & 0 deletions src/domain/templates/graphql/SpaceTemplatesSetId.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ query SpaceTemplatesSetId($spaceNameId: UUID_NAMEID!) {
id
templatesSet {
id
authorization {
myPrivileges
}
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/topLevelPages/Home/HomePageLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const HomePageLayout = ({ children }: PropsWithChildren<{}>) => {
setTitle(t('pages.home.sections.welcome.welcome-back', { username: user?.firstName }));
setSubTitle(t('pages.home.subtitle'));
}
}, [isAuthenticated]);
}, [isAuthenticated, user]);

return (
<>
Expand Down

0 comments on commit 686fe21

Please sign in to comment.