Skip to content

Commit 8950204

Browse files
os-zhuangclaude
andauthored
feat(cloud-connection): Installed Apps page ships as plugin metadata (ADR-0009 P2a) (#1773)
marketplace_installed page (page:header + marketplace:installed-list widget) added to the install-local plugin's UI bundle; the Setup nav entry switches from a hard-coded console URL to type:'page'. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent a3ae817 commit 8950204

2 files changed

Lines changed: 44 additions & 4 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@objectstack/cloud-connection": minor
3+
---
4+
5+
The Installed Apps page ships as metadata with `MarketplaceInstallLocalPlugin` (cloud ADR-0009 P2a): `marketplace_installed` page (page:header + `marketplace:installed-list` widget) and the Setup nav entry switches to `type:'page'`.

packages/cloud-connection/src/marketplace-ui.ts

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,57 @@ export const MARKETPLACE_BROWSE_UI_BUNDLE = {
3838
],
3939
};
4040

41-
/** "Installed Apps" — owned by the local-install capability. */
41+
/** "Installed Apps" — owned by the local-install capability (ADR-0009 P2a:
42+
* the page itself is now metadata; the console provides only the
43+
* `marketplace:installed-list` widget). */
44+
export const MarketplaceInstalledPage = {
45+
name: 'marketplace_installed',
46+
label: 'Installed Apps',
47+
type: 'app' as const,
48+
template: 'default',
49+
kind: 'full' as const,
50+
isDefault: false,
51+
regions: [
52+
{
53+
name: 'header',
54+
width: 'full' as const,
55+
components: [
56+
{
57+
type: 'page:header',
58+
properties: {
59+
title: 'Installed Apps',
60+
subtitle: 'Marketplace packages currently installed into this runtime\'s kernel.',
61+
icon: 'package-check',
62+
},
63+
},
64+
],
65+
},
66+
{
67+
name: 'main',
68+
width: 'large' as const,
69+
components: [
70+
{ type: 'marketplace:installed-list', properties: {} },
71+
],
72+
},
73+
],
74+
};
75+
4276
export const MARKETPLACE_INSTALLED_UI_BUNDLE = {
4377
id: 'com.objectstack.cloud-connection.marketplace-installed-ui',
4478
namespace: 'sys',
45-
version: '0.1.0',
79+
version: '0.2.0',
4680
type: 'plugin',
4781
scope: 'system',
4882
name: 'Marketplace Installed UI',
49-
description: 'Setup navigation for locally-installed marketplace packages.',
83+
description: 'Installed Apps page + Setup navigation for locally-installed marketplace packages.',
84+
pages: [MarketplaceInstalledPage],
5085
navigationContributions: [
5186
{
5287
app: 'setup',
5388
group: 'group_apps',
5489
priority: 110,
5590
items: [
56-
{ id: 'nav_marketplace_installed', type: 'url', label: 'Installed Apps', url: '/apps/setup/system/marketplace/installed', icon: 'package-check' },
91+
{ id: 'nav_marketplace_installed', type: 'page', pageName: 'marketplace_installed', label: 'Installed Apps', icon: 'package-check' },
5792
],
5893
},
5994
],

0 commit comments

Comments
 (0)