diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2023-07-26 22:55:50 +0200 |
---|---|---|
committer | nextcloud-command <nextcloud-command@users.noreply.github.com> | 2023-07-31 09:17:32 +0000 |
commit | c1975a634cb6d40d9024c7b329c1a5bb0d01aa24 (patch) | |
tree | 3fa46fec4ccc8658be7516d3887e594c8dd68881 /apps/settings | |
parent | 0de805b2a71b1ce295c78b8497a96673a5758911 (diff) | |
download | nextcloud-server-c1975a634cb6d40d9024c7b329c1a5bb0d01aa24.tar.gz nextcloud-server-c1975a634cb6d40d9024c7b329c1a5bb0d01aa24.zip |
feat(settings): Show supported apps on app settings if subscribed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Diffstat (limited to 'apps/settings')
-rw-r--r-- | apps/settings/src/components/AppList.vue | 7 | ||||
-rw-r--r-- | apps/settings/src/constants/AppsConstants.js | 1 | ||||
-rw-r--r-- | apps/settings/src/views/Apps.vue | 17 |
3 files changed, 24 insertions, 1 deletions
diff --git a/apps/settings/src/components/AppList.vue b/apps/settings/src/components/AppList.vue index 734c1952998..751a9ffdb54 100644 --- a/apps/settings/src/components/AppList.vue +++ b/apps/settings/src/components/AppList.vue @@ -154,7 +154,12 @@ export default { if (this.category === 'updates') { return apps.filter(app => app.update) } + if (this.category === 'supported') { + // For customers of the Nextcloud GmbH the app level will be set to `300` for apps that are supported in their subscription + return apps.filter(app => app.level === 300) + } if (this.category === 'featured') { + // An app level of `200` will be set for apps featured on the app store return apps.filter(app => app.level === 200) } // filter app store categories @@ -190,7 +195,7 @@ export default { return !this.useListView && !this.useBundleView }, useListView() { - return (this.category === 'installed' || this.category === 'enabled' || this.category === 'disabled' || this.category === 'updates' || this.category === 'featured') + return (this.category === 'installed' || this.category === 'enabled' || this.category === 'disabled' || this.category === 'updates' || this.category === 'featured' || this.category === 'supported') }, useBundleView() { return (this.category === 'app-bundles') diff --git a/apps/settings/src/constants/AppsConstants.js b/apps/settings/src/constants/AppsConstants.js index 5ede6334231..aec06aded3a 100644 --- a/apps/settings/src/constants/AppsConstants.js +++ b/apps/settings/src/constants/AppsConstants.js @@ -29,4 +29,5 @@ export const APPS_SECTION_ENUM = Object.freeze({ updates: t('settings', 'Updates'), 'app-bundles': t('settings', 'App bundles'), featured: t('settings', 'Featured apps'), + supported: t('settings', 'Supported apps'), // From subscription }) diff --git a/apps/settings/src/views/Apps.vue b/apps/settings/src/views/Apps.vue index 3cfa3b62bae..6cc5f2fb0e8 100644 --- a/apps/settings/src/views/Apps.vue +++ b/apps/settings/src/views/Apps.vue @@ -50,6 +50,14 @@ <NcCounterBubble>{{ updateCount }}</NcCounterBubble> </template> </NcAppNavigationItem> + <NcAppNavigationItem v-if="isSubscribed" + id="app-category-supported" + :to="{ name: 'apps-category', params: { category: 'supported' } }" + :name="$options.APPS_SECTION_ENUM.supported"> + <template #icon> + <IconStarShooting :size="20" /> + </template> + </NcAppNavigationItem> <NcAppNavigationItem id="app-category-your-bundles" :to="{ name: 'apps-category', params: { category: 'app-bundles' } }" icon="icon-category-app-bundles" @@ -147,6 +155,7 @@ import NcAppSidebar from '@nextcloud/vue/dist/Components/NcAppSidebar.js' import NcAppSidebarTab from '@nextcloud/vue/dist/Components/NcAppSidebarTab.js' import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js' import NcContent from '@nextcloud/vue/dist/Components/NcContent.js' +import IconStarShooting from 'vue-material-design-icons/StarShooting.vue' import AppList from '../components/AppList.vue' import AppDetails from '../components/AppDetails.vue' @@ -165,6 +174,7 @@ export default { NcAppContent, AppDetails, AppList, + IconStarShooting, NcAppNavigation, NcAppNavigationItem, NcAppNavigationSpacer, @@ -255,6 +265,13 @@ export default { changelog() { return (release) => release.translations.en.changelog }, + /** + * Check if the current instance has a support subscription from the Nextcloud GmbH + */ + isSubscribed() { + // For customers of the Nextcloud GmbH the app level will be set to `300` for apps that are supported in their subscription + return this.apps.some(app => app.level === 300) + }, }, watch: { |