diff --git a/apps/meteor/client/components/Sidebar/SidebarGenericItem.tsx b/apps/meteor/client/components/Sidebar/SidebarGenericItem.tsx index e1b862d1210..ee23c0862c6 100644 --- a/apps/meteor/client/components/Sidebar/SidebarGenericItem.tsx +++ b/apps/meteor/client/components/Sidebar/SidebarGenericItem.tsx @@ -25,7 +25,7 @@ const SidebarGenericItem = ({ href, active, externalUrl, children, ...props }: S {...(externalUrl && { target: '_blank', rel: 'noopener noreferrer' })} {...props} > - + {children} diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx index 1384412461e..4272db0522d 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx @@ -99,6 +99,7 @@ const AppDetailsPage = ({ id }: { id: App['id'] }): ReactElement => { marketplace={marketplace} settings={settings} tab={tab} + context={context || ''} /> {Boolean(!tab || tab === 'details') && } {tab === 'requests' && } diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageHeader.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageHeader.tsx index e6cd63ca8e9..3f12198a650 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageHeader.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageHeader.tsx @@ -37,7 +37,7 @@ const AppDetailsPageHeader = ({ app }: { app: App }): ReactElement => { return ( - + diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageLoading.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageLoading.tsx index 4c4cb0647d9..d9e66c08aa9 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageLoading.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageLoading.tsx @@ -4,7 +4,7 @@ import React from 'react'; const AppDetailsPageLoading: FC = () => ( - + diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageTabs.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageTabs.tsx index d2b7236fbc4..ff3ddef243a 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageTabs.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageTabs.tsx @@ -11,9 +11,17 @@ type AppDetailsPageTabsProps = { marketplace: unknown; settings: ISettings | undefined; tab: string | undefined; + context: string; }; -const AppDetailsPageTabs = ({ installed, isSecurityVisible, marketplace, settings, tab }: AppDetailsPageTabsProps): ReactElement => { +const AppDetailsPageTabs = ({ + installed, + isSecurityVisible, + marketplace, + settings, + tab, + context, +}: AppDetailsPageTabsProps): ReactElement => { const t = useTranslation(); const isAdminUser = usePermission('manage-apps'); @@ -33,7 +41,7 @@ const AppDetailsPageTabs = ({ installed, isSecurityVisible, marketplace, setting handleTabClick('details')} selected={!tab || tab === 'details'}> {t('Details')} - {isAdminUser && ( + {isAdminUser && context !== 'private' && ( handleTabClick('requests')} selected={tab === 'requests'}> {t('Requests')} diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx index 45711c84f39..99b12e54729 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx @@ -113,7 +113,7 @@ const AppStatus = ({ app, showStatus = true, isAppDetailsPage, installed, ...pro }; return ( - + {button && isAppDetailsPage && (!installed || canUpdate) && ( ( - + {handleAppRequestsNumber(status)} {t(`${status.label}` as TranslationKey)} diff --git a/apps/meteor/client/views/marketplace/AppsList/AppRow.tsx b/apps/meteor/client/views/marketplace/AppsList/AppRow.tsx index 0a017665a4e..db3291b643a 100644 --- a/apps/meteor/client/views/marketplace/AppsList/AppRow.tsx +++ b/apps/meteor/client/views/marketplace/AppsList/AppRow.tsx @@ -79,17 +79,19 @@ const AppRow = (props: App): ReactElement => { > - - {name} + + + {name} + - + {bundledIn && Boolean(bundledIn.length) && ( - + )} {shortDescription && !isMobile && ( - + {shortDescription} )} diff --git a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx index 569f0807e99..8fcf4ce306a 100644 --- a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx +++ b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx @@ -18,6 +18,9 @@ const EnabledAppsCount = ({ }): ReactElement | null => { const t = useTranslation(); + const privateAppsCountText: string = t('Private_Apps_Count_Enabled', { count: enabled }); + const marketplaceAppsCountText: string = t('Apps_Count_Enabled', { count: enabled }); + return ( - {t('Apps_Count_Enabled', { count: enabled })} + {context === 'private' ? privateAppsCountText : marketplaceAppsCountText} {`${enabled} / ${limit}`} - + + + ); }; diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json index 58e35ad20e7..aa1900c859a 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json @@ -505,6 +505,8 @@ "Apps_context_private": "Private Apps", "Apps_Count_Enabled": "__count__ app enabled", "Apps_Count_Enabled_plural": "__count__ apps enabled", + "Private_Apps_Count_Enabled": "__count__ private app enabled", + "Private_Apps_Count_Enabled_plural": "__count__ private apps enabled", "Apps_Count_Enabled_tooltip": "Community Edition workspaces can enable up to __number__ __context__ apps", "Apps_disabled_when_Enterprise_trial_ended": "Apps disabled when Enterprise trial ended", "Apps_disabled_when_Enterprise_trial_ended_description": "Workspaces on Community Edition can have up to 5 marketplace apps and 3 private apps enabled. Ask your workspace admin to reenable apps.", diff --git a/apps/meteor/public/images/unlimited-apps-modal.svg b/apps/meteor/public/images/unlimited-apps-modal.svg index 9581bb726ff..24a73a761cc 100644 --- a/apps/meteor/public/images/unlimited-apps-modal.svg +++ b/apps/meteor/public/images/unlimited-apps-modal.svg @@ -1,653 +1,653 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - - + + - + - - + + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + @@ -656,12 +656,12 @@ - + - + @@ -669,163 +669,163 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + +