@peers-app/peers-ui 0.23.8 → 0.23.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,2 @@
1
+ /** Searchable list of installed packages, plus create/import from the search box. */
1
2
  export declare const PackageList: () => import("react/jsx-runtime").JSX.Element;
@@ -119,6 +119,7 @@ const PackageRow = ({ pkg, onUpdated }) => {
119
119
  }
120
120
  return ((0, jsx_runtime_1.jsxs)("div", { className: "container-fluid pb-4 d-flex align-items-center", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-grow-1", style: { minWidth: 0 }, children: [(0, jsx_runtime_1.jsx)("i", { className: "bi bi-box-fill" }), "\u00A0\u00A0", (0, jsx_runtime_1.jsx)("a", { href: `#packages/${pkg.packageId}`, children: pkg.name }), isDeviceOverridden && ((0, jsx_runtime_1.jsx)("span", { className: "text-warning ms-1", title: "This device is using a different version than the group", children: (0, jsx_runtime_1.jsx)("i", { className: "bi bi-pc-display" }) })), status && ((0, jsx_runtime_1.jsxs)("span", { className: "ms-2", children: [(0, jsx_runtime_1.jsxs)("small", { className: "text-muted", children: ["v", status.activePv.version] }), status.activePv.versionTag && ((0, jsx_runtime_1.jsx)("span", { className: `badge ms-1 ${tagBadgeClass(status.activePv.versionTag)}`, style: { fontSize: "0.65em" }, children: status.activePv.versionTag })), hasUpdate ? ((0, jsx_runtime_1.jsxs)("span", { className: `badge ms-1 ${updateBadgeClass(status.newerLevel)}`, style: { fontSize: "0.65em" }, children: ["v", status.newestPv?.version, " available"] })) : isOnDev && hasGroupRelease ? ((0, jsx_runtime_1.jsxs)("span", { className: "badge ms-1 text-bg-secondary", style: { fontSize: "0.65em" }, children: ["release: v", status.groupReleasePv?.version] })) : ((0, jsx_runtime_1.jsx)("span", { className: "badge ms-1 text-bg-success", style: { fontSize: "0.65em" }, children: "up to date" }))] })), (0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { markdownContent: pkg.description, positions: ["bottom", "top", "right", "left"] })] }), hasUpdate && ((0, jsx_runtime_1.jsxs)("button", { className: "btn btn-sm btn-outline-primary ms-2 text-nowrap", disabled: updating, onClick: handleUpdate, children: [updating ? ((0, jsx_runtime_1.jsx)("span", { className: "spinner-border spinner-border-sm me-1" })) : ((0, jsx_runtime_1.jsx)("i", { className: "bi bi-arrow-up-circle me-1" })), "Update"] })), isOnDev && hasGroupRelease && ((0, jsx_runtime_1.jsxs)("button", { className: "btn btn-sm btn-outline-secondary ms-2 text-nowrap", disabled: updating, onClick: handleUseRelease, children: [updating ? ((0, jsx_runtime_1.jsx)("span", { className: "spinner-border spinner-border-sm me-1" })) : ((0, jsx_runtime_1.jsx)("i", { className: "bi bi-box-arrow-in-right me-1" })), "Use Release"] })), hasDevVersion && ((0, jsx_runtime_1.jsxs)("button", { className: "btn btn-sm btn-outline-danger ms-2 text-nowrap", disabled: updating, onClick: handleUseDev, children: [updating ? ((0, jsx_runtime_1.jsx)("span", { className: "spinner-border spinner-border-sm me-1" })) : ((0, jsx_runtime_1.jsx)("i", { className: "bi bi-tools me-1" })), "Use Dev"] }))] }));
121
121
  };
122
+ /** Searchable list of installed packages, plus create/import from the search box. */
122
123
  const PackageList = () => {
123
124
  const [searchTextObs] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)(""));
124
125
  const [searchText] = (0, hooks_1.useObservable)(searchTextObs);
@@ -203,7 +204,7 @@ const PackageList = () => {
203
204
  return;
204
205
  try {
205
206
  addingPackage(true);
206
- const packageId = await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(name);
207
+ const { packageId } = (0, peers_sdk_1.unwrapAddOrUpdatePackageResult)(await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(name));
207
208
  const pkg = await (0, peers_sdk_1.Packages)().get(packageId);
208
209
  if (pkg) {
209
210
  (0, globals_1.mainContentPath)(`packages/${packageId}`);
@@ -223,9 +224,12 @@ const PackageList = () => {
223
224
  return;
224
225
  try {
225
226
  addingPackage(true);
226
- const packageId = await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(name);
227
+ const { packageId, warning } = (0, peers_sdk_1.unwrapAddOrUpdatePackageResult)(await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(name));
227
228
  const pkg = await (0, peers_sdk_1.Packages)().get(packageId);
228
229
  if (pkg) {
230
+ if (warning) {
231
+ confirm(warning);
232
+ }
229
233
  (0, globals_1.mainContentPath)(`packages/${packageId}`);
230
234
  }
231
235
  }
@@ -59,11 +59,14 @@ const PackageNewLocal = () => {
59
59
  };
60
60
  const createLocalPackage = async () => {
61
61
  try {
62
- const packageId = await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(packageName, {
62
+ const { packageId, warning } = (0, peers_sdk_1.unwrapAddOrUpdatePackageResult)(await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(packageName, {
63
63
  packageLocation: packageLocation || packageLocationDefault,
64
- });
64
+ }));
65
65
  const pkg = await (0, peers_sdk_1.Packages)().get(packageId);
66
66
  if (pkg) {
67
+ if (warning) {
68
+ confirm(warning);
69
+ }
67
70
  (0, globals_1.mainContentPath)(`packages/${packageId}`);
68
71
  peers_sdk_1.rpcServerCalls.openPackage(packageLocation || packageLocationDefault);
69
72
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peers-app/peers-ui",
3
- "version": "0.23.8",
3
+ "version": "0.23.9",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/peers-app/peers-ui.git"
@@ -28,7 +28,7 @@
28
28
  "lint:fix": "biome check --write ."
29
29
  },
30
30
  "peerDependencies": {
31
- "@peers-app/peers-sdk": "^0.23.8",
31
+ "@peers-app/peers-sdk": "^0.23.9",
32
32
  "bootstrap": "^5.3.3",
33
33
  "react": "^18.0.0",
34
34
  "react-dom": "^18.0.0"
@@ -39,7 +39,7 @@
39
39
  "@babel/preset-react": "^7.24.1",
40
40
  "@babel/preset-typescript": "^7.27.1",
41
41
  "@biomejs/biome": "2.3.11",
42
- "@peers-app/peers-sdk": "0.23.8",
42
+ "@peers-app/peers-sdk": "0.23.9",
43
43
  "@testing-library/dom": "^10.4.0",
44
44
  "@testing-library/jest-dom": "^6.6.3",
45
45
  "@testing-library/react": "^16.3.0",
@@ -9,6 +9,7 @@ import {
9
9
  packagePrefsVar,
10
10
  packagesRootDir,
11
11
  rpcServerCalls,
12
+ unwrapAddOrUpdatePackageResult,
12
13
  updatePackagePrefs,
13
14
  } from "@peers-app/peers-sdk";
14
15
  import type React from "react";
@@ -234,6 +235,7 @@ const PackageRow = ({ pkg, onUpdated }: { pkg: IPackage; onUpdated: () => void }
234
235
  );
235
236
  };
236
237
 
238
+ /** Searchable list of installed packages, plus create/import from the search box. */
237
239
  export const PackageList = () => {
238
240
  const [searchTextObs] = useState(() => observable(""));
239
241
  const [searchText] = useObservable(searchTextObs);
@@ -323,7 +325,9 @@ export const PackageList = () => {
323
325
  if (!confirm(`Add remote package: ${name}`)) return;
324
326
  try {
325
327
  addingPackage(true);
326
- const packageId = await rpcServerCalls.addOrUpdatePackage(name);
328
+ const { packageId } = unwrapAddOrUpdatePackageResult(
329
+ await rpcServerCalls.addOrUpdatePackage(name),
330
+ );
327
331
  const pkg = await Packages().get(packageId);
328
332
  if (pkg) {
329
333
  mainContentPath(`packages/${packageId}`);
@@ -342,9 +346,14 @@ export const PackageList = () => {
342
346
 
343
347
  try {
344
348
  addingPackage(true);
345
- const packageId = await rpcServerCalls.addOrUpdatePackage(name);
349
+ const { packageId, warning } = unwrapAddOrUpdatePackageResult(
350
+ await rpcServerCalls.addOrUpdatePackage(name),
351
+ );
346
352
  const pkg = await Packages().get(packageId);
347
353
  if (pkg) {
354
+ if (warning) {
355
+ confirm(warning);
356
+ }
348
357
  mainContentPath(`packages/${packageId}`);
349
358
  }
350
359
  } catch (err: unknown) {
@@ -3,6 +3,7 @@ import {
3
3
  Packages,
4
4
  packagesRootDir,
5
5
  rpcServerCalls,
6
+ unwrapAddOrUpdatePackageResult,
6
7
  } from "@peers-app/peers-sdk";
7
8
  import React, { useState } from "react";
8
9
  import { mainContentPath } from "../../globals";
@@ -34,11 +35,16 @@ export const PackageNewLocal = () => {
34
35
 
35
36
  const createLocalPackage = async () => {
36
37
  try {
37
- const packageId = await rpcServerCalls.addOrUpdatePackage(packageName, {
38
- packageLocation: packageLocation || packageLocationDefault,
39
- });
38
+ const { packageId, warning } = unwrapAddOrUpdatePackageResult(
39
+ await rpcServerCalls.addOrUpdatePackage(packageName, {
40
+ packageLocation: packageLocation || packageLocationDefault,
41
+ }),
42
+ );
40
43
  const pkg = await Packages().get(packageId);
41
44
  if (pkg) {
45
+ if (warning) {
46
+ confirm(warning);
47
+ }
42
48
  mainContentPath(`packages/${packageId}`);
43
49
  rpcServerCalls.openPackage(packageLocation || packageLocationDefault);
44
50
  }