From ff45fb8ae51d52e2dbef47150f6ca1a4f62e6d44 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sat, 27 Dec 2025 13:56:21 +0100 Subject: [PATCH] refactor(appstore): migrate app discover section to Vue 3 Signed-off-by: Ferdinand Thiessen --- ...AppDiscoverTypes.ts => apps-discover.d.ts} | 7 +- apps/appstore/src/components/AppImage.vue | 77 +++++++ apps/appstore/src/components/AppLink.vue | 83 ++++++++ .../src/components/{AppList => }/AppScore.vue | 2 +- .../components/AppStoreDiscover/AppLink.vue | 98 --------- .../AppStoreDiscoverSection.vue | 126 ------------ .../DiscoverTypeApp.vue} | 65 ++++-- .../DiscoverTypeCarousel.vue} | 110 ++++------ .../DiscoverTypePost.vue} | 192 ++++++++---------- .../DiscoverTypeShowcase.vue} | 73 +++---- .../common.ts | 4 +- .../src/composables/useGetLocalizedValue.ts | 30 +-- apps/appstore/src/router/routes.ts | 37 ++-- apps/appstore/src/service/app-discover.ts | 52 +++++ apps/appstore/src/views/AppstoreDiscover.vue | 98 +++++++++ 15 files changed, 545 insertions(+), 509 deletions(-) rename apps/appstore/src/{constants/AppDiscoverTypes.ts => apps-discover.d.ts} (93%) create mode 100644 apps/appstore/src/components/AppImage.vue create mode 100644 apps/appstore/src/components/AppLink.vue rename apps/appstore/src/components/{AppList => }/AppScore.vue (96%) delete mode 100644 apps/appstore/src/components/AppStoreDiscover/AppLink.vue delete mode 100644 apps/appstore/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue rename apps/appstore/src/components/{AppStoreDiscover/AppType.vue => DiscoverType/DiscoverTypeApp.vue} (57%) rename apps/appstore/src/components/{AppStoreDiscover/CarouselType.vue => DiscoverType/DiscoverTypeCarousel.vue} (62%) rename apps/appstore/src/components/{AppStoreDiscover/PostType.vue => DiscoverType/DiscoverTypePost.vue} (54%) rename apps/appstore/src/components/{AppStoreDiscover/ShowcaseType.vue => DiscoverType/DiscoverTypeShowcase.vue} (54%) rename apps/appstore/src/components/{AppStoreDiscover => DiscoverType}/common.ts (86%) create mode 100644 apps/appstore/src/service/app-discover.ts create mode 100644 apps/appstore/src/views/AppstoreDiscover.vue diff --git a/apps/appstore/src/constants/AppDiscoverTypes.ts b/apps/appstore/src/apps-discover.d.ts similarity index 93% rename from apps/appstore/src/constants/AppDiscoverTypes.ts rename to apps/appstore/src/apps-discover.d.ts index ceca45a4058..d9bb560a804 100644 --- a/apps/appstore/src/constants/AppDiscoverTypes.ts +++ b/apps/appstore/src/apps-discover.d.ts @@ -1,13 +1,8 @@ -/** +/*! * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ -/** - * Currently known types of app discover section elements - */ -export const APP_DISCOVER_KNOWN_TYPES = ['post', 'showcase', 'carousel'] as const - /** * Helper for localized values */ diff --git a/apps/appstore/src/components/AppImage.vue b/apps/appstore/src/components/AppImage.vue new file mode 100644 index 00000000000..17181fa375f --- /dev/null +++ b/apps/appstore/src/components/AppImage.vue @@ -0,0 +1,77 @@ + + + + + + + + + diff --git a/apps/appstore/src/components/AppLink.vue b/apps/appstore/src/components/AppLink.vue new file mode 100644 index 00000000000..107a8dc2481 --- /dev/null +++ b/apps/appstore/src/components/AppLink.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/apps/appstore/src/components/AppList/AppScore.vue b/apps/appstore/src/components/AppScore.vue similarity index 96% rename from apps/appstore/src/components/AppList/AppScore.vue rename to apps/appstore/src/components/AppScore.vue index beafb35f500..712a04e6fee 100644 --- a/apps/appstore/src/components/AppList/AppScore.vue +++ b/apps/appstore/src/components/AppScore.vue @@ -53,7 +53,7 @@ export default defineComponent({ computed: { title() { const appScore = (this.score * 5).toFixed(1) - return t('settings', 'Community rating: {score}/5', { score: appScore }) + return t('appstore', 'Community rating: {score}/5', { score: appScore }) }, fullStars() { diff --git a/apps/appstore/src/components/AppStoreDiscover/AppLink.vue b/apps/appstore/src/components/AppStoreDiscover/AppLink.vue deleted file mode 100644 index a4183b5601b..00000000000 --- a/apps/appstore/src/components/AppStoreDiscover/AppLink.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - diff --git a/apps/appstore/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue b/apps/appstore/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue deleted file mode 100644 index 2a979997c2a..00000000000 --- a/apps/appstore/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - diff --git a/apps/appstore/src/components/AppStoreDiscover/AppType.vue b/apps/appstore/src/components/DiscoverType/DiscoverTypeApp.vue similarity index 57% rename from apps/appstore/src/components/AppStoreDiscover/AppType.vue rename to apps/appstore/src/components/DiscoverType/DiscoverTypeApp.vue index eec761bd65c..fb8d1b107d4 100644 --- a/apps/appstore/src/components/AppStoreDiscover/AppType.vue +++ b/apps/appstore/src/components/DiscoverType/DiscoverTypeApp.vue @@ -3,15 +3,8 @@ - SPDX-License-Identifier: AGPL-3.0-or-later -->