discover
diff --git a/neode-ui/src/views/Marketplace.vue b/neode-ui/src/views/Marketplace.vue
index 1369a3d5..3625a856 100644
--- a/neode-ui/src/views/Marketplace.vue
+++ b/neode-ui/src/views/Marketplace.vue
@@ -8,7 +8,7 @@
My Apps
App Store
- Websites
+ Services
@@ -64,7 +64,7 @@
discover
diff --git a/neode-ui/src/views/apps/appsConfig.ts b/neode-ui/src/views/apps/appsConfig.ts
index 1b784f89..cb6456a4 100644
--- a/neode-ui/src/views/apps/appsConfig.ts
+++ b/neode-ui/src/views/apps/appsConfig.ts
@@ -79,9 +79,9 @@ export function isKnownApp(id: string, pkg?: PackageDataEntry): boolean {
}
// True when the package's manifest declares a front-end UI interface. This is
-// the authoritative "is this a user-facing app?" signal (#45): apps with a UI
-// belong in "My Apps", while headless services (databases, backends, workers)
-// declare no UI and belong in "Websites"/"Services".
+// the authoritative "is this a user-facing app?" signal (#45/#51): apps with a
+// UI belong in "My Apps", while headless services (databases, APIs, backends,
+// workers) declare no UI and belong in the "Services" tab.
export function hasFrontendUi(pkg?: PackageDataEntry): boolean {
return !!pkg?.manifest?.interfaces?.main?.ui
}
diff --git a/neode-ui/src/views/dashboard/DashboardMobileNav.vue b/neode-ui/src/views/dashboard/DashboardMobileNav.vue
index a138c1cc..285bcd64 100644
--- a/neode-ui/src/views/dashboard/DashboardMobileNav.vue
+++ b/neode-ui/src/views/dashboard/DashboardMobileNav.vue
@@ -19,11 +19,11 @@
:class="{ 'mode-switcher-btn-active': route.path === '/dashboard/marketplace' || route.path.startsWith('/dashboard/marketplace/') || route.path === '/dashboard/discover' }"
>App Store
Websites
+ @click.prevent="router.push({ path: '/dashboard/apps', query: { tab: 'services' } })"
+ >Services