@blocklet/ui-react 2.13.4 → 2.13.6

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.
@@ -48,6 +48,7 @@ export default function DangerZone() {
48
48
  confirm: t("destroyMyself.confirm"),
49
49
  success: t("destroyMyself.success")
50
50
  },
51
+ // @ts-expect-error 该 did-connect 后端api 将结果塞在了 result 中,并做了加密,所以已经变成一个字符串了
51
52
  onSuccess: ({ result }, decrypt = (x) => x) => {
52
53
  const decryptResult = decrypt(result);
53
54
  resolve(decryptResult);
@@ -21,10 +21,12 @@ import { useContext } from "react";
21
21
  import pick from "lodash/pick";
22
22
  import { getFederatedEnabled, getMaster } from "@arcblock/ux/lib/Util/federated";
23
23
  import { LOGIN_PROVIDER, LOGIN_PROVIDER_NAME } from "@arcblock/ux/lib/Util/constant";
24
+ import { useStateContext } from "@arcblock/did-connect/lib/Connect/contexts/state";
24
25
  import { translations } from "../../libs/locales.js";
25
26
  export default function ThirdPartyItem({
26
27
  item
27
28
  }) {
29
+ const { blocklet: targetBlocklet } = useStateContext();
28
30
  const { confirmApi, confirmHolder } = useConfirm();
29
31
  const currentState = useReactive({
30
32
  loading: false
@@ -35,7 +37,7 @@ export default function ThirdPartyItem({
35
37
  });
36
38
  const { session } = useContext(SessionContext);
37
39
  const { bindOAuth, unbindOAuth, setBaseUrl, baseUrl: oauthBaseUrl } = session.useOAuth();
38
- const { disconnectPasskey } = session.usePasskey();
40
+ const { disconnectPasskey, setTargetAppPid } = session.usePasskey();
39
41
  const iconMap = {
40
42
  // email: MailOutlineRoundedIcon,
41
43
  [LOGIN_PROVIDER.AUTH0]: MailOutlineRoundedIcon,
@@ -108,6 +110,7 @@ export default function ThirdPartyItem({
108
110
  baseUrl = master.appUrl;
109
111
  }
110
112
  setBaseUrl(baseUrl);
113
+ setTargetAppPid(targetBlocklet?.appPid);
111
114
  bindOAuth({
112
115
  session,
113
116
  oauthItem: {
@@ -116,6 +119,7 @@ export default function ThirdPartyItem({
116
119
  }
117
120
  }).then(resolve).catch(reject).finally(() => {
118
121
  setBaseUrl(backupBaseUrl);
122
+ setTargetAppPid();
119
123
  });
120
124
  }
121
125
  });
@@ -9,7 +9,7 @@ export default function UserSessions({ user, showAction, showUser, getUserSessio
9
9
  readonly getUserSessions: (params: {
10
10
  page: number;
11
11
  pageSize: number;
12
- status: string;
12
+ status?: 'online' | 'expired';
13
13
  }) => Promise<{
14
14
  paging: {
15
15
  total: number;
@@ -126,7 +126,11 @@ export default function UserSessions({
126
126
  },
127
127
  cancelButtonText: t("cancel"),
128
128
  onConfirm: async () => {
129
- await client.user.logout({ visitorId });
129
+ await client.user.logout({
130
+ visitorId,
131
+ // @ts-expect-error js-sdk 1.16.43 中会包含这个参数
132
+ includeFederated: true
133
+ });
130
134
  pageState.refresh();
131
135
  confirmApi.close();
132
136
  }
@@ -147,9 +151,10 @@ export default function UserSessions({
147
151
  cancelButtonText: t("cancel"),
148
152
  onConfirm: async () => {
149
153
  await client.user.logout({
150
- // @ts-expect-error js-sdk 发了新版后,会有这个类型定义
151
154
  status: filterParams.status,
152
- visitorId: currentVisitorId
155
+ visitorId: currentVisitorId,
156
+ // @ts-expect-error js-sdk 1.16.43 中会包含这个参数
157
+ includeFederated: true
153
158
  });
154
159
  pageState.refresh();
155
160
  confirmApi.close();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/ui-react",
3
- "version": "2.13.4",
3
+ "version": "2.13.6",
4
4
  "description": "Some useful front-end web components that can be used in Blocklets.",
5
5
  "keywords": [
6
6
  "react",
@@ -34,8 +34,8 @@
34
34
  "dependencies": {
35
35
  "@abtnode/constant": "^1.16.42",
36
36
  "@abtnode/util": "^1.16.42",
37
- "@arcblock/bridge": "^2.13.4",
38
- "@arcblock/react-hooks": "^2.13.4",
37
+ "@arcblock/bridge": "^2.13.6",
38
+ "@arcblock/react-hooks": "^2.13.6",
39
39
  "@arcblock/ws": "^1.20.1",
40
40
  "@blocklet/constant": "^1.16.42",
41
41
  "@blocklet/did-space-react": "^1.0.48",
@@ -94,5 +94,5 @@
94
94
  "jest": "^29.7.0",
95
95
  "unbuild": "^2.0.0"
96
96
  },
97
- "gitHead": "c41220412330b6bc0cd20482261c501beb7ddd34"
97
+ "gitHead": "1cc41a6a655f93eb1536a9dd36fe3979a2c654c8"
98
98
  }
@@ -7,6 +7,7 @@ import { useConfirm } from '@arcblock/ux/lib/Dialog';
7
7
  import { SessionContext } from '@arcblock/did-connect/lib/Session';
8
8
  import { LOGIN_PROVIDER } from '@blocklet/constant';
9
9
  import Toast from '@arcblock/ux/lib/Toast';
10
+ import type { ConnectProps } from '@arcblock/did-connect/lib/types';
10
11
 
11
12
  import { translations } from '../libs/locales';
12
13
  import { client } from '../../libs/client';
@@ -37,7 +38,7 @@ export default function DangerZone() {
37
38
  return new Promise<{ did: string }>((resolve, reject) => {
38
39
  const userDid = session?.user?.did;
39
40
  connectApi.open({
40
- locale,
41
+ locale: locale as ConnectProps['locale'],
41
42
  action: 'destroy-myself',
42
43
  forceConnected: true,
43
44
  saveConnect: false,
@@ -53,6 +54,7 @@ export default function DangerZone() {
53
54
  confirm: t('destroyMyself.confirm'),
54
55
  success: t('destroyMyself.success'),
55
56
  },
57
+ // @ts-expect-error 该 did-connect 后端api 将结果塞在了 result 中,并做了加密,所以已经变成一个字符串了
56
58
  onSuccess: ({ result }: { result: string }, decrypt = (x: string) => x) => {
57
59
  const decryptResult = decrypt(result) as unknown as { did: string };
58
60
  resolve(decryptResult);
@@ -79,10 +81,7 @@ export default function DangerZone() {
79
81
  try {
80
82
  if (isNeedVerify) {
81
83
  result = await handleVerify();
82
- // TODO: 等 js-sdk 新版后,就有这个方法,可以删除注释
83
- // @ts-ignore
84
84
  } else if (client?.user?.destroyMyself instanceof Function) {
85
- // @ts-ignore
86
85
  result = await client.user.destroyMyself();
87
86
  } else {
88
87
  Toast.error(t('notImplemented'));
@@ -73,11 +73,7 @@ export default function Settings({
73
73
  <UserSessions
74
74
  user={user}
75
75
  showUser={false}
76
- // FIXME: @zhanghan 暂时忽略类型不对的问题 (js-sdk 新版发布后,此处的类型就正确了)
77
- // @ts-ignore
78
76
  getUserSessions={(params) => {
79
- // FIXME: @zhanghan 暂时忽略类型不对的问题 (js-sdk 新版发布后,此处的类型就正确了)
80
- // @ts-ignore
81
77
  return client.userSession.getMyLoginSessions({}, params);
82
78
  }}
83
79
  />
@@ -21,6 +21,7 @@ import { useContext } from 'react';
21
21
  import pick from 'lodash/pick';
22
22
  import { getFederatedEnabled, getMaster } from '@arcblock/ux/lib/Util/federated';
23
23
  import { LOGIN_PROVIDER, LOGIN_PROVIDER_NAME, OAUTH_PROVIDER } from '@arcblock/ux/lib/Util/constant';
24
+ import { useStateContext } from '@arcblock/did-connect/lib/Connect/contexts/state';
24
25
 
25
26
  import { translations } from '../../libs/locales';
26
27
  import type { OAuthAccount, SessionContext as TSessionContext } from '../../../@types';
@@ -39,6 +40,7 @@ export default function ThirdPartyItem({
39
40
  _mainProvider?: boolean;
40
41
  };
41
42
  }) {
43
+ const { blocklet: targetBlocklet } = useStateContext();
42
44
  const { confirmApi, confirmHolder } = useConfirm();
43
45
  const currentState = useReactive({
44
46
  loading: false,
@@ -49,7 +51,7 @@ export default function ThirdPartyItem({
49
51
  });
50
52
  const { session } = useContext<TSessionContext>(SessionContext);
51
53
  const { bindOAuth, unbindOAuth, setBaseUrl, baseUrl: oauthBaseUrl } = session.useOAuth();
52
- const { disconnectPasskey } = session.usePasskey();
54
+ const { disconnectPasskey, setTargetAppPid } = session.usePasskey();
53
55
 
54
56
  const iconMap = {
55
57
  // email: MailOutlineRoundedIcon,
@@ -128,6 +130,8 @@ export default function ThirdPartyItem({
128
130
  baseUrl = master.appUrl;
129
131
  }
130
132
  setBaseUrl(baseUrl);
133
+ // @ts-ignore
134
+ setTargetAppPid(targetBlocklet?.appPid);
131
135
  bindOAuth({
132
136
  session,
133
137
  oauthItem: {
@@ -139,6 +143,7 @@ export default function ThirdPartyItem({
139
143
  .catch(reject)
140
144
  .finally(() => {
141
145
  setBaseUrl(backupBaseUrl);
146
+ setTargetAppPid();
142
147
  });
143
148
  }
144
149
  });
@@ -94,7 +94,7 @@ export default function UserSessions({
94
94
  };
95
95
  readonly showAction?: boolean;
96
96
  readonly showUser?: boolean;
97
- readonly getUserSessions: (params: { page: number; pageSize: number; status: string }) => Promise<{
97
+ readonly getUserSessions: (params: { page: number; pageSize: number; status?: 'online' | 'expired' }) => Promise<{
98
98
  paging: {
99
99
  total: number;
100
100
  };
@@ -122,7 +122,7 @@ export default function UserSessions({
122
122
  const result = await getUserSessions({
123
123
  page: filterParams.page,
124
124
  pageSize: filterParams.pageSize,
125
- status: filterParams.status,
125
+ status: filterParams.status as 'online' | 'expired',
126
126
  });
127
127
 
128
128
  const total = result?.paging?.total || 0;
@@ -171,7 +171,11 @@ export default function UserSessions({
171
171
  },
172
172
  cancelButtonText: t('cancel'),
173
173
  onConfirm: async () => {
174
- await client.user.logout({ visitorId });
174
+ await client.user.logout({
175
+ visitorId,
176
+ // @ts-expect-error js-sdk 1.16.43 中会包含这个参数
177
+ includeFederated: true,
178
+ });
175
179
  pageState.refresh();
176
180
  confirmApi.close();
177
181
  },
@@ -192,9 +196,10 @@ export default function UserSessions({
192
196
  cancelButtonText: t('cancel'),
193
197
  onConfirm: async () => {
194
198
  await client.user.logout({
195
- // @ts-expect-error js-sdk 发了新版后,会有这个类型定义
196
199
  status: filterParams.status,
197
200
  visitorId: currentVisitorId as string,
201
+ // @ts-expect-error js-sdk 1.16.43 中会包含这个参数
202
+ includeFederated: true,
198
203
  });
199
204
  pageState.refresh();
200
205
  confirmApi.close();