@arcblock/ux 2.12.22 → 2.12.24
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.
- package/lib/NavMenu/nav-menu.js +11 -6
- package/lib/PhoneInput/index.js +0 -7
- package/lib/SessionBlocklet/index.d.ts +4 -2
- package/lib/SessionBlocklet/index.js +20 -4
- package/lib/SessionUser/components/logged-in.d.ts +4 -2
- package/lib/SessionUser/components/logged-in.js +20 -4
- package/lib/SessionUser/index.d.ts +2 -1
- package/lib/SessionUser/index.js +4 -2
- package/package.json +5 -5
- package/src/NavMenu/nav-menu.tsx +18 -22
- package/src/PhoneInput/index.tsx +0 -7
- package/src/SessionBlocklet/index.tsx +21 -5
- package/src/SessionUser/components/logged-in.tsx +15 -5
- package/src/SessionUser/index.tsx +16 -2
package/lib/NavMenu/nav-menu.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { Children, cloneElement, useEffect, useRef, forwardRef, useLayoutEffect, isValidElement } from 'react';
|
3
|
+
import { ClickAwayListener } from '@mui/material';
|
3
4
|
import clsx from 'clsx';
|
4
5
|
import { MoreHoriz as MoreHorizIcon, ExpandMore as ExpandMoreIcon, Menu as MenuIcon } from '@mui/icons-material';
|
5
6
|
import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
|
@@ -300,8 +301,8 @@ export const Sub = /*#__PURE__*/forwardRef(({
|
|
300
301
|
'navmenu-item--inline': isInlineMode
|
301
302
|
}, rest.className);
|
302
303
|
|
303
|
-
//
|
304
|
-
const props =
|
304
|
+
// 统一使用 click 事件控制收缩/伸展子菜单
|
305
|
+
const props = {
|
305
306
|
onClick: () => {
|
306
307
|
if (openedIds?.includes(id)) {
|
307
308
|
close?.(id);
|
@@ -309,15 +310,12 @@ export const Sub = /*#__PURE__*/forwardRef(({
|
|
309
310
|
open?.(id);
|
310
311
|
}
|
311
312
|
}
|
312
|
-
} : {
|
313
|
-
onMouseEnter: () => open?.(id),
|
314
|
-
onMouseLeave: () => close?.(id)
|
315
313
|
};
|
316
314
|
// inline mode, 避免点击子菜单项时触发父菜单的 open/close
|
317
315
|
const containerProps = isInlineMode ? {
|
318
316
|
onClick: e => e.stopPropagation()
|
319
317
|
} : {};
|
320
|
-
|
318
|
+
const menu = /*#__PURE__*/_jsxs(NavMenuSub, {
|
321
319
|
...rest,
|
322
320
|
className: classes,
|
323
321
|
...props,
|
@@ -351,6 +349,13 @@ export const Sub = /*#__PURE__*/forwardRef(({
|
|
351
349
|
})
|
352
350
|
})]
|
353
351
|
});
|
352
|
+
if (!isInlineMode) {
|
353
|
+
return menu;
|
354
|
+
}
|
355
|
+
return /*#__PURE__*/_jsx(ClickAwayListener, {
|
356
|
+
onClickAway: () => close?.(id),
|
357
|
+
children: menu
|
358
|
+
});
|
354
359
|
});
|
355
360
|
Sub.displayName = 'NavMenu.Sub';
|
356
361
|
NavMenu.Item = Item;
|
package/lib/PhoneInput/index.js
CHANGED
@@ -162,13 +162,6 @@ export default function PhoneInput({
|
|
162
162
|
sx: mergeSx({
|
163
163
|
'& .MuiInputBase-input': {
|
164
164
|
padding: 1
|
165
|
-
},
|
166
|
-
'& .MuiFormHelperText-root': {
|
167
|
-
position: 'absolute',
|
168
|
-
bottom: 0,
|
169
|
-
left: 0,
|
170
|
-
transform: 'translateY(100%)',
|
171
|
-
margin: 0
|
172
165
|
}
|
173
166
|
}, props.sx // 这里传入的可能是一个数组或一个对象
|
174
167
|
),
|
@@ -1,7 +1,9 @@
|
|
1
|
+
import { type BoxProps } from '@mui/material';
|
1
2
|
import type { Locale } from '../type';
|
2
|
-
export interface SessionBlockletProps {
|
3
|
+
export interface SessionBlockletProps extends Omit<BoxProps, 'onClick' | 'onMouseEnter' | 'onMouseLeave'> {
|
3
4
|
session: Record<string, any>;
|
4
5
|
locale?: Locale;
|
5
6
|
size?: number;
|
7
|
+
popperType?: 'hover' | 'click';
|
6
8
|
}
|
7
|
-
export default function SessionBlocklet({ session, locale, size }: SessionBlockletProps): import("react/jsx-runtime").JSX.Element | null;
|
9
|
+
export default function SessionBlocklet({ session, locale, size, popperType, sx, ...rest }: SessionBlockletProps): import("react/jsx-runtime").JSX.Element | null;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useRef } from 'react';
|
3
3
|
import { Box, ClickAwayListener, Fade, IconButton, List, ListItem, ListItemButton, Paper, Popper, Typography } from '@mui/material';
|
4
4
|
import { Icon } from '@iconify/react';
|
@@ -13,7 +13,10 @@ import { getTranslation } from '../Util';
|
|
13
13
|
export default function SessionBlocklet({
|
14
14
|
session,
|
15
15
|
locale = 'zh',
|
16
|
-
size = 24
|
16
|
+
size = 24,
|
17
|
+
popperType = 'click',
|
18
|
+
sx,
|
19
|
+
...rest
|
17
20
|
}) {
|
18
21
|
const blocklet = window?.blocklet || {};
|
19
22
|
const sessionMenuList = (blocklet.navigation || []
|
@@ -37,14 +40,27 @@ export default function SessionBlocklet({
|
|
37
40
|
const onTogglePopper = useMemoizedFn((value = !currentState.open) => {
|
38
41
|
currentState.open = value;
|
39
42
|
});
|
43
|
+
const handleEventProps = popperType === 'hover' ? {
|
44
|
+
onMouseEnter: () => onTogglePopper(true),
|
45
|
+
onMouseLeave: () => onTogglePopper(false)
|
46
|
+
} : {
|
47
|
+
onClick: () => onTogglePopper()
|
48
|
+
};
|
40
49
|
if (sessionMenuList.length === 0 || !session?.user) {
|
41
50
|
return null;
|
42
51
|
}
|
43
|
-
return /*#__PURE__*/_jsxs(
|
52
|
+
return /*#__PURE__*/_jsxs(Box, {
|
53
|
+
sx: {
|
54
|
+
display: 'inline-flex',
|
55
|
+
alignItems: 'center',
|
56
|
+
justifyContent: 'center',
|
57
|
+
...sx
|
58
|
+
},
|
59
|
+
...rest,
|
60
|
+
...handleEventProps,
|
44
61
|
children: [/*#__PURE__*/_jsx(IconButton, {
|
45
62
|
size: "medium",
|
46
63
|
ref: popperAnchorRef,
|
47
|
-
onClick: () => onTogglePopper(),
|
48
64
|
children: /*#__PURE__*/_jsx(Icon, {
|
49
65
|
icon: DashboardOutlineRoundedIcon,
|
50
66
|
fontSize: size,
|
@@ -1,10 +1,12 @@
|
|
1
|
+
import { type BoxProps } from '@mui/material';
|
1
2
|
import type { Locale, Session } from '../../type';
|
2
|
-
export interface LoggedInProps {
|
3
|
+
export interface LoggedInProps extends Omit<BoxProps, 'onClick' | 'onMouseEnter' | 'onMouseLeave'> {
|
3
4
|
session: Session;
|
4
5
|
dark?: false | true;
|
5
6
|
onBindWallet?: () => void;
|
6
7
|
isBlocklet?: true | false;
|
7
8
|
locale?: Locale;
|
8
9
|
size?: number;
|
10
|
+
popperType?: 'hover' | 'click';
|
9
11
|
}
|
10
|
-
export default function LoggedIn({ session, dark, onBindWallet, isBlocklet, locale, size, }: LoggedInProps): import("react/jsx-runtime").JSX.Element;
|
12
|
+
export default function LoggedIn({ session, dark, onBindWallet, isBlocklet, locale, size, popperType, sx, ...rest }: LoggedInProps): import("react/jsx-runtime").JSX.Element;
|
@@ -30,7 +30,10 @@ export default function LoggedIn({
|
|
30
30
|
onBindWallet = noop,
|
31
31
|
isBlocklet = true,
|
32
32
|
locale = 'en',
|
33
|
-
size = 24
|
33
|
+
size = 24,
|
34
|
+
popperType = 'click',
|
35
|
+
sx,
|
36
|
+
...rest
|
34
37
|
}) {
|
35
38
|
const t = useMemoizedFn((key, data = {}) => {
|
36
39
|
return translate(translations, key, locale, 'en', data);
|
@@ -45,6 +48,12 @@ export default function LoggedIn({
|
|
45
48
|
const onTogglePopper = useMemoizedFn((value = !currentState.open) => {
|
46
49
|
currentState.open = value;
|
47
50
|
});
|
51
|
+
const handleEventProps = popperType === 'hover' ? {
|
52
|
+
onMouseEnter: () => onTogglePopper(true),
|
53
|
+
onMouseLeave: () => onTogglePopper(false)
|
54
|
+
} : {
|
55
|
+
onClick: () => onTogglePopper()
|
56
|
+
};
|
48
57
|
|
49
58
|
// base64 img maybe have some blank char, need encodeURIComponent to transform it
|
50
59
|
const avatar = getUserAvatar(session.user?.avatar?.replace(/\s/g, encodeURIComponent(' ')));
|
@@ -97,10 +106,17 @@ export default function LoggedIn({
|
|
97
106
|
Copy(link);
|
98
107
|
Toast.success(t('inviteCopied'));
|
99
108
|
});
|
100
|
-
return /*#__PURE__*/_jsxs(
|
109
|
+
return /*#__PURE__*/_jsxs(Box, {
|
110
|
+
sx: {
|
111
|
+
display: 'inline-flex',
|
112
|
+
alignItems: 'center',
|
113
|
+
justifyContent: 'center',
|
114
|
+
...sx
|
115
|
+
},
|
116
|
+
...rest,
|
117
|
+
...handleEventProps,
|
101
118
|
children: [/*#__PURE__*/_jsx(IconButton, {
|
102
119
|
ref: popperAnchorRef,
|
103
|
-
onClick: () => onTogglePopper(),
|
104
120
|
size: "medium",
|
105
121
|
"data-cy": "sessionManager-logout-popup",
|
106
122
|
className: "arc-session-user-logged-in",
|
@@ -129,7 +145,7 @@ export default function LoggedIn({
|
|
129
145
|
onClickAway: e => {
|
130
146
|
e.preventDefault();
|
131
147
|
e.stopPropagation();
|
132
|
-
|
148
|
+
currentState.open = false;
|
133
149
|
},
|
134
150
|
children: /*#__PURE__*/_jsx(Fade, {
|
135
151
|
...TransitionProps,
|
@@ -4,5 +4,6 @@ export interface SessionUserProps {
|
|
4
4
|
onBindWallet?: () => void;
|
5
5
|
locale?: Locale;
|
6
6
|
size?: number;
|
7
|
+
popperType?: 'hover' | 'click';
|
7
8
|
}
|
8
|
-
export default function SessionUser({ session, onBindWallet, locale, size }: SessionUserProps): import("react/jsx-runtime").JSX.Element;
|
9
|
+
export default function SessionUser({ session, onBindWallet, locale, size, popperType, }: SessionUserProps): import("react/jsx-runtime").JSX.Element;
|
package/lib/SessionUser/index.js
CHANGED
@@ -7,7 +7,8 @@ export default function SessionUser({
|
|
7
7
|
session,
|
8
8
|
onBindWallet = noop,
|
9
9
|
locale = 'en',
|
10
|
-
size = 24
|
10
|
+
size = 24,
|
11
|
+
popperType = 'click'
|
11
12
|
}) {
|
12
13
|
const isBlocklet = useCreation(() => {
|
13
14
|
return !!globalThis?.blocklet;
|
@@ -18,7 +19,8 @@ export default function SessionUser({
|
|
18
19
|
session: session,
|
19
20
|
onBindWallet: onBindWallet,
|
20
21
|
locale: locale,
|
21
|
-
size: size
|
22
|
+
size: size,
|
23
|
+
popperType: popperType
|
22
24
|
});
|
23
25
|
}
|
24
26
|
return /*#__PURE__*/_jsx(UnLogin, {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@arcblock/ux",
|
3
|
-
"version": "2.12.
|
3
|
+
"version": "2.12.24",
|
4
4
|
"description": "Common used react components for arcblock products",
|
5
5
|
"keywords": [
|
6
6
|
"react",
|
@@ -68,12 +68,12 @@
|
|
68
68
|
"react": ">=18.2.0",
|
69
69
|
"react-router-dom": ">=6.22.3"
|
70
70
|
},
|
71
|
-
"gitHead": "
|
71
|
+
"gitHead": "1b60545e5fe97a4efa0515e7b6c02439b5dac919",
|
72
72
|
"dependencies": {
|
73
73
|
"@arcblock/did-motif": "^1.1.13",
|
74
|
-
"@arcblock/icons": "^2.12.
|
75
|
-
"@arcblock/nft-display": "^2.12.
|
76
|
-
"@arcblock/react-hooks": "^2.12.
|
74
|
+
"@arcblock/icons": "^2.12.24",
|
75
|
+
"@arcblock/nft-display": "^2.12.24",
|
76
|
+
"@arcblock/react-hooks": "^2.12.24",
|
77
77
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
78
78
|
"@fontsource/inter": "^5.0.16",
|
79
79
|
"@fontsource/ubuntu-mono": "^5.0.18",
|
package/src/NavMenu/nav-menu.tsx
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Children, cloneElement, useEffect, useRef, forwardRef, useLayoutEffect, isValidElement } from 'react';
|
2
|
-
import { type SxProps } from '@mui/material';
|
2
|
+
import { ClickAwayListener, type SxProps } from '@mui/material';
|
3
3
|
import clsx from 'clsx';
|
4
4
|
import { MoreHoriz as MoreHorizIcon, ExpandMore as ExpandMoreIcon, Menu as MenuIcon } from '@mui/icons-material';
|
5
5
|
import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
|
@@ -371,29 +371,19 @@ export const Sub = forwardRef<HTMLLIElement, SubProps>(
|
|
371
371
|
rest.className
|
372
372
|
);
|
373
373
|
|
374
|
-
//
|
375
|
-
const props =
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
open?.(id);
|
382
|
-
}
|
383
|
-
},
|
374
|
+
// 统一使用 click 事件控制收缩/伸展子菜单
|
375
|
+
const props = {
|
376
|
+
onClick: () => {
|
377
|
+
if (openedIds?.includes(id)) {
|
378
|
+
close?.(id);
|
379
|
+
} else {
|
380
|
+
open?.(id);
|
384
381
|
}
|
385
|
-
|
386
|
-
|
387
|
-
onMouseLeave: () => close?.(id),
|
388
|
-
};
|
382
|
+
},
|
383
|
+
};
|
389
384
|
// inline mode, 避免点击子菜单项时触发父菜单的 open/close
|
390
|
-
const containerProps = isInlineMode
|
391
|
-
|
392
|
-
onClick: (e: React.MouseEvent) => e.stopPropagation(),
|
393
|
-
}
|
394
|
-
: {};
|
395
|
-
|
396
|
-
return (
|
385
|
+
const containerProps = isInlineMode ? { onClick: (e: React.MouseEvent) => e.stopPropagation() } : {};
|
386
|
+
const menu = (
|
397
387
|
<NavMenuSub {...rest} className={classes} {...props} ref={ref} $activeTextColor={activeTextColor}>
|
398
388
|
{icon && <span className="navmenu-item__icon">{icon}</span>}
|
399
389
|
<div className="navmenu-item__content">
|
@@ -414,6 +404,12 @@ export const Sub = forwardRef<HTMLLIElement, SubProps>(
|
|
414
404
|
</SubContainer>
|
415
405
|
</NavMenuSub>
|
416
406
|
);
|
407
|
+
|
408
|
+
if (!isInlineMode) {
|
409
|
+
return menu;
|
410
|
+
}
|
411
|
+
|
412
|
+
return <ClickAwayListener onClickAway={() => close?.(id)}>{menu}</ClickAwayListener>;
|
417
413
|
}
|
418
414
|
);
|
419
415
|
Sub.displayName = 'NavMenu.Sub';
|
package/src/PhoneInput/index.tsx
CHANGED
@@ -164,13 +164,6 @@ export default function PhoneInput({
|
|
164
164
|
'& .MuiInputBase-input': {
|
165
165
|
padding: 1,
|
166
166
|
},
|
167
|
-
'& .MuiFormHelperText-root': {
|
168
|
-
position: 'absolute',
|
169
|
-
bottom: 0,
|
170
|
-
left: 0,
|
171
|
-
transform: 'translateY(100%)',
|
172
|
-
margin: 0,
|
173
|
-
},
|
174
167
|
},
|
175
168
|
props.sx as any // 这里传入的可能是一个数组或一个对象
|
176
169
|
)}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { useRef } from 'react';
|
2
2
|
import {
|
3
3
|
Box,
|
4
|
+
type BoxProps,
|
4
5
|
ClickAwayListener,
|
5
6
|
Fade,
|
6
7
|
IconButton,
|
@@ -23,13 +24,21 @@ import SessionPermission from '../SessionPermission';
|
|
23
24
|
import { getTranslation } from '../Util';
|
24
25
|
import type { Locale } from '../type';
|
25
26
|
|
26
|
-
export interface SessionBlockletProps {
|
27
|
+
export interface SessionBlockletProps extends Omit<BoxProps, 'onClick' | 'onMouseEnter' | 'onMouseLeave'> {
|
27
28
|
session: Record<string, any>;
|
28
29
|
locale?: Locale;
|
29
30
|
size?: number;
|
31
|
+
popperType?: 'hover' | 'click';
|
30
32
|
}
|
31
33
|
|
32
|
-
export default function SessionBlocklet({
|
34
|
+
export default function SessionBlocklet({
|
35
|
+
session,
|
36
|
+
locale = 'zh',
|
37
|
+
size = 24,
|
38
|
+
popperType = 'click',
|
39
|
+
sx,
|
40
|
+
...rest
|
41
|
+
}: SessionBlockletProps) {
|
33
42
|
const blocklet = window?.blocklet || {};
|
34
43
|
const sessionMenuList = (blocklet.navigation || [])
|
35
44
|
// HACK 过滤掉默认插入的 /sessionManager 菜单
|
@@ -54,14 +63,21 @@ export default function SessionBlocklet({ session, locale = 'zh', size = 24 }: S
|
|
54
63
|
const onTogglePopper = useMemoizedFn((value = !currentState.open) => {
|
55
64
|
currentState.open = value;
|
56
65
|
});
|
66
|
+
const handleEventProps =
|
67
|
+
popperType === 'hover'
|
68
|
+
? { onMouseEnter: () => onTogglePopper(true), onMouseLeave: () => onTogglePopper(false) }
|
69
|
+
: { onClick: () => onTogglePopper() };
|
57
70
|
|
58
71
|
if (sessionMenuList.length === 0 || !session?.user) {
|
59
72
|
return null;
|
60
73
|
}
|
61
74
|
|
62
75
|
return (
|
63
|
-
|
64
|
-
|
76
|
+
<Box
|
77
|
+
sx={{ display: 'inline-flex', alignItems: 'center', justifyContent: 'center', ...sx }}
|
78
|
+
{...rest}
|
79
|
+
{...handleEventProps}>
|
80
|
+
<IconButton size="medium" ref={popperAnchorRef}>
|
65
81
|
<Icon icon={DashboardOutlineRoundedIcon} fontSize={size} style={{ transform: 'scale(1.08)' }} />
|
66
82
|
</IconButton>
|
67
83
|
<Popper
|
@@ -172,6 +188,6 @@ export default function SessionBlocklet({ session, locale = 'zh', size = 24 }: S
|
|
172
188
|
</ClickAwayListener>
|
173
189
|
)}
|
174
190
|
</Popper>
|
175
|
-
|
191
|
+
</Box>
|
176
192
|
);
|
177
193
|
}
|
@@ -38,13 +38,14 @@ const getInviteLink = (inviter: string) => {
|
|
38
38
|
return url.toString();
|
39
39
|
};
|
40
40
|
|
41
|
-
export interface LoggedInProps {
|
41
|
+
export interface LoggedInProps extends Omit<BoxProps, 'onClick' | 'onMouseEnter' | 'onMouseLeave'> {
|
42
42
|
session: Session;
|
43
43
|
dark?: false | true;
|
44
44
|
onBindWallet?: () => void;
|
45
45
|
isBlocklet?: true | false;
|
46
46
|
locale?: Locale;
|
47
47
|
size?: number;
|
48
|
+
popperType?: 'hover' | 'click';
|
48
49
|
}
|
49
50
|
|
50
51
|
export default function LoggedIn({
|
@@ -54,6 +55,9 @@ export default function LoggedIn({
|
|
54
55
|
isBlocklet = true,
|
55
56
|
locale = 'en',
|
56
57
|
size = 24,
|
58
|
+
popperType = 'click',
|
59
|
+
sx,
|
60
|
+
...rest
|
57
61
|
}: LoggedInProps) {
|
58
62
|
const t = useMemoizedFn((key, data = {}) => {
|
59
63
|
return translate(translations, key, locale, 'en', data);
|
@@ -68,6 +72,10 @@ export default function LoggedIn({
|
|
68
72
|
const onTogglePopper = useMemoizedFn((value = !currentState.open) => {
|
69
73
|
currentState.open = value;
|
70
74
|
});
|
75
|
+
const handleEventProps =
|
76
|
+
popperType === 'hover'
|
77
|
+
? { onMouseEnter: () => onTogglePopper(true), onMouseLeave: () => onTogglePopper(false) }
|
78
|
+
: { onClick: () => onTogglePopper() };
|
71
79
|
|
72
80
|
// base64 img maybe have some blank char, need encodeURIComponent to transform it
|
73
81
|
const avatar = getUserAvatar(session.user?.avatar?.replace(/\s/g, encodeURIComponent(' ')));
|
@@ -127,10 +135,12 @@ export default function LoggedIn({
|
|
127
135
|
});
|
128
136
|
|
129
137
|
return (
|
130
|
-
|
138
|
+
<Box
|
139
|
+
sx={{ display: 'inline-flex', alignItems: 'center', justifyContent: 'center', ...sx }}
|
140
|
+
{...rest}
|
141
|
+
{...handleEventProps}>
|
131
142
|
<IconButton
|
132
143
|
ref={popperAnchorRef}
|
133
|
-
onClick={() => onTogglePopper()}
|
134
144
|
size="medium"
|
135
145
|
data-cy="sessionManager-logout-popup"
|
136
146
|
className="arc-session-user-logged-in"
|
@@ -151,7 +161,7 @@ export default function LoggedIn({
|
|
151
161
|
onClickAway={(e) => {
|
152
162
|
e.preventDefault();
|
153
163
|
e.stopPropagation();
|
154
|
-
|
164
|
+
currentState.open = false;
|
155
165
|
}}>
|
156
166
|
<Fade {...TransitionProps} timeout={350}>
|
157
167
|
<Paper
|
@@ -220,7 +230,7 @@ export default function LoggedIn({
|
|
220
230
|
</ClickAwayListener>
|
221
231
|
)}
|
222
232
|
</Popper>
|
223
|
-
|
233
|
+
</Box>
|
224
234
|
);
|
225
235
|
}
|
226
236
|
|
@@ -10,16 +10,30 @@ export interface SessionUserProps {
|
|
10
10
|
onBindWallet?: () => void;
|
11
11
|
locale?: Locale;
|
12
12
|
size?: number;
|
13
|
+
popperType?: 'hover' | 'click';
|
13
14
|
}
|
14
15
|
|
15
|
-
export default function SessionUser({
|
16
|
+
export default function SessionUser({
|
17
|
+
session,
|
18
|
+
onBindWallet = noop,
|
19
|
+
locale = 'en',
|
20
|
+
size = 24,
|
21
|
+
popperType = 'click',
|
22
|
+
}: SessionUserProps) {
|
16
23
|
const isBlocklet = useCreation(() => {
|
17
24
|
return !!globalThis?.blocklet;
|
18
25
|
}, []);
|
19
26
|
|
20
27
|
if (session.user) {
|
21
28
|
return (
|
22
|
-
<LoggedIn
|
29
|
+
<LoggedIn
|
30
|
+
isBlocklet={isBlocklet}
|
31
|
+
session={session}
|
32
|
+
onBindWallet={onBindWallet}
|
33
|
+
locale={locale}
|
34
|
+
size={size}
|
35
|
+
popperType={popperType}
|
36
|
+
/>
|
23
37
|
);
|
24
38
|
}
|
25
39
|
return <UnLogin session={session} locale={locale} size={size} />;
|