Skip to content

Commit b3db7c9

Browse files
committed
Add marketplace thumbnail
1 parent fd6221c commit b3db7c9

File tree

11 files changed

+72
-12
lines changed

11 files changed

+72
-12
lines changed

.changeset/pre.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"real-knives-rest",
3939
"rude-ducks-design",
4040
"sad-tables-join",
41+
"sharp-memes-give",
4142
"shiny-doodles-jump",
4243
"slick-roses-fix",
4344
"social-donkeys-cross",

.changeset/sharp-memes-give.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@pulse-editor/shared-utils": patch
3+
"@pulse-editor/react-api": patch
4+
---
5+
6+
Update types

npm-packages/react-api/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# @pulse-editor/react-api
22

3+
## 0.1.1-alpha.32
4+
5+
### Patch Changes
6+
7+
- Update types
8+
- Updated dependencies
9+
- @pulse-editor/shared-utils@0.1.1-alpha.32
10+
311
## 0.1.1-alpha.31
412

513
### Patch Changes

npm-packages/react-api/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pulse-editor/react-api",
3-
"version": "0.1.1-alpha.31",
3+
"version": "0.1.1-alpha.32",
44
"main": "dist/main.js",
55
"files": [
66
"dist"
@@ -38,7 +38,7 @@
3838
"typescript-eslint": "^8.30.1"
3939
},
4040
"peerDependencies": {
41-
"@pulse-editor/shared-utils": "0.1.1-alpha.31",
41+
"@pulse-editor/shared-utils": "0.1.1-alpha.32",
4242
"react": "^19.0.0",
4343
"react-dom": "^19.0.0"
4444
}

npm-packages/shared-utils/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @pulse-editor/shared-utils
22

3+
## 0.1.1-alpha.32
4+
5+
### Patch Changes
6+
7+
- Update types
8+
39
## 0.1.1-alpha.31
410

511
### Patch Changes

npm-packages/shared-utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pulse-editor/shared-utils",
3-
"version": "0.1.1-alpha.31",
3+
"version": "0.1.1-alpha.32",
44
"main": "dist/main.js",
55
"files": [
66
"dist"

npm-packages/shared-utils/src/types/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ export type ExtensionConfig = {
122122
materialIcon?: string;
123123
extensionType?: ExtensionTypeEnum;
124124
fileTypes?: string[];
125-
preview?: string;
125+
thumbnail?: string;
126126
enabledPlatforms?: Record<string, boolean>;
127127

128128
// Extension or user installed agents

web/components/extension/preview.tsx

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { useContext, useEffect, useState } from "react";
1414
import ContextMenu from "../interface/context-menu";
1515
import { EditorContext } from "../providers/editor-context-provider";
1616
import { getPlatform } from "@/lib/platform-api/platform-checker";
17+
import { getRemoteClientBaseURL } from "@/lib/module-federation/remote";
1718

1819
export default function ExtensionPreview({
1920
extension,
@@ -52,6 +53,8 @@ export default function ExtensionPreview({
5253
);
5354
setIsInstalled(foundExt !== undefined);
5455
setIsEnabled(foundExt?.isEnabled ?? false);
56+
57+
console.log("Extension preview loaded", extension);
5558
}, [extension]);
5659

5760
function toggleExtension() {
@@ -116,7 +119,25 @@ export default function ExtensionPreview({
116119
isOpen: true,
117120
}));
118121
}}
119-
></Button>
122+
>
123+
{extension.config.thumbnail ? (
124+
<img
125+
src={
126+
getRemoteClientBaseURL(
127+
extension.remoteOrigin,
128+
extension.config.id,
129+
extension.config.version,
130+
) +
131+
"/" +
132+
extension.config.thumbnail
133+
}
134+
alt={extension.config.displayName}
135+
className="h-full w-full rounded-md object-cover"
136+
/>
137+
) : (
138+
<Skeleton className="h-full w-full" isLoaded={false}></Skeleton>
139+
)}
140+
</Button>
120141
{isShowInfo && (
121142
<div className="absolute bottom-0.5 left-1/2 flex w-full -translate-x-1/2 justify-center gap-x-0.5">
122143
<Button color="secondary" size="sm">

web/components/modals/extension-marketplace-modal.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,16 @@ export default function ExtensionMarketplaceModal({
5050
.then((res) => res.json())
5151
.then((body) => {
5252
const fetchedExts: ExtensionMeta[] = body;
53-
const extensions: Extension[] = fetchedExts.map((ext) => {
53+
const extensions: Extension[] = fetchedExts.map((extMeta) => {
5454
return {
5555
config: {
56-
id: ext.name,
57-
version: ext.version,
58-
author: ext.user ? ext.user.name : ext.org.name,
59-
description: ext.description ?? "No description available",
60-
displayName: ext.displayName ?? ext.name,
61-
visibility: ext.visibility,
56+
id: extMeta.name,
57+
version: extMeta.version,
58+
author: extMeta.user ? extMeta.user.name : extMeta.org.name,
59+
description: extMeta.description ?? "No description available",
60+
displayName: extMeta.displayName ?? extMeta.name,
61+
visibility: extMeta.visibility,
62+
thumbnail: extMeta.thumbnail,
6263
},
6364
isEnabled: true,
6465
remoteOrigin: `${process.env.NEXT_PUBLIC_CDN_URL}/${process.env.NEXT_PUBLIC_STORAGE_CONTAINER}`,

web/lib/module-federation/remote.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,19 @@ export function getRemote(remoteOrigin: string, id: string, version: string) {
1212
},
1313
];
1414
}
15+
16+
export function getRemoteClientBaseURL(
17+
remoteOrigin: string,
18+
id: string,
19+
version: string,
20+
) {
21+
return `${remoteOrigin}/${id}/${version}/client`;
22+
}
23+
24+
export function getRemoteServerBaseURL(
25+
remoteOrigin: string,
26+
id: string,
27+
version: string,
28+
) {
29+
return `${remoteOrigin}/${id}/${version}/server`;
30+
}

0 commit comments

Comments
 (0)