aboutsummaryrefslogtreecommitdiffstats
path: root/apps/settings
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2023-07-26 22:55:50 +0200
committernextcloud-command <nextcloud-command@users.noreply.github.com>2023-07-31 09:17:32 +0000
commitc1975a634cb6d40d9024c7b329c1a5bb0d01aa24 (patch)
tree3fa46fec4ccc8658be7516d3887e594c8dd68881 /apps/settings
parent0de805b2a71b1ce295c78b8497a96673a5758911 (diff)
downloadnextcloud-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.vue7
-rw-r--r--apps/settings/src/constants/AppsConstants.js1
-rw-r--r--apps/settings/src/views/Apps.vue17
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: {