@selfcommunity/react-ui 0.7.0-alpha.363 → 0.7.0-alpha.364
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/cjs/components/ChangeCover/ChangeCover.js +12 -23
- package/lib/cjs/components/ChangeCover/constants.d.ts +1 -0
- package/lib/cjs/components/ChangeCover/constants.js +4 -0
- package/lib/cjs/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js +10 -10
- package/lib/cjs/components/UserProfileHeader/UserProfileHeader.d.ts +7 -0
- package/lib/cjs/components/UserProfileHeader/UserProfileHeader.js +12 -5
- package/lib/esm/components/ChangeCover/ChangeCover.js +7 -18
- package/lib/esm/components/ChangeCover/constants.d.ts +1 -0
- package/lib/esm/components/ChangeCover/constants.js +1 -0
- package/lib/esm/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js +10 -10
- package/lib/esm/components/UserProfileHeader/UserProfileHeader.d.ts +7 -0
- package/lib/esm/components/UserProfileHeader/UserProfileHeader.js +12 -5
- package/lib/umd/react-ui.js +1 -1
- package/package.json +4 -4
|
@@ -14,29 +14,17 @@ const CircularProgress_1 = tslib_1.__importDefault(require("@mui/material/Circul
|
|
|
14
14
|
const system_1 = require("@mui/system");
|
|
15
15
|
const Errors_1 = require("../../constants/Errors");
|
|
16
16
|
const utils_1 = require("@selfcommunity/utils");
|
|
17
|
-
const
|
|
17
|
+
const constants_1 = require("./constants");
|
|
18
18
|
const classes = {
|
|
19
|
-
root: `${PREFIX}-root`,
|
|
20
|
-
helpPopover: `${PREFIX}-help-popover`,
|
|
21
|
-
addMenuItem: `${PREFIX}-add-menuItem`,
|
|
22
|
-
delMenuItem: `${PREFIX}-del-menuItem`
|
|
19
|
+
root: `${constants_1.PREFIX}-root`,
|
|
20
|
+
helpPopover: `${constants_1.PREFIX}-help-popover`,
|
|
21
|
+
addMenuItem: `${constants_1.PREFIX}-add-menuItem`,
|
|
22
|
+
delMenuItem: `${constants_1.PREFIX}-del-menuItem`
|
|
23
23
|
};
|
|
24
24
|
const Root = (0, styles_1.styled)(material_1.Box, {
|
|
25
|
-
name: PREFIX,
|
|
26
|
-
slot: 'Root'
|
|
27
|
-
|
|
28
|
-
})(({ theme }) => ({
|
|
29
|
-
display: 'flex',
|
|
30
|
-
alignItems: 'center',
|
|
31
|
-
flexWrap: 'wrap',
|
|
32
|
-
[theme.breakpoints.down('md')]: {
|
|
33
|
-
'& .MuiButtonBase-root': {
|
|
34
|
-
padding: 6,
|
|
35
|
-
borderRadius: 50,
|
|
36
|
-
minWidth: 'auto'
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}));
|
|
25
|
+
name: constants_1.PREFIX,
|
|
26
|
+
slot: 'Root'
|
|
27
|
+
})(() => ({}));
|
|
40
28
|
const messages = (0, react_intl_1.defineMessages)({
|
|
41
29
|
imageMaxSize: {
|
|
42
30
|
id: 'ui.changeCover.button.change.alertMaxSize',
|
|
@@ -77,7 +65,7 @@ function ChangeCover(inProps) {
|
|
|
77
65
|
//PROPS
|
|
78
66
|
const props = (0, system_1.useThemeProps)({
|
|
79
67
|
props: inProps,
|
|
80
|
-
name: PREFIX
|
|
68
|
+
name: constants_1.PREFIX
|
|
81
69
|
});
|
|
82
70
|
const { onChange, autoHide, className } = props, rest = tslib_1.__rest(props, ["onChange", "autoHide", "className"]);
|
|
83
71
|
//CONTEXT
|
|
@@ -196,10 +184,11 @@ function ChangeCover(inProps) {
|
|
|
196
184
|
* Renders change cover menu
|
|
197
185
|
*/
|
|
198
186
|
const cc = (react_1.default.createElement(react_1.default.Fragment, null,
|
|
199
|
-
react_1.default.createElement(material_1.Button, Object.assign({ size: "small", variant: "contained", disabled: loading, onClick: handleOpen }, rest),
|
|
187
|
+
react_1.default.createElement(material_1.Button, Object.assign({ size: "small", variant: "contained", disabled: loading, onClick: handleOpen }, rest),
|
|
188
|
+
react_1.default.createElement(Icon_1.default, null, "photo_camera")),
|
|
200
189
|
react_1.default.createElement(react_1.default.Fragment, null, isMobile ? (react_1.default.createElement(material_1.SwipeableDrawer, { open: open, onClose: handleClose, onOpen: handleOpen, anchor: "bottom", disableSwipeToOpen: true }, renderMenuItems())) : (react_1.default.createElement(material_1.Menu, { anchorEl: anchorEl, open: open, onClose: handleClose }, renderMenuItems()))),
|
|
201
190
|
!isMobile && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
202
|
-
react_1.default.createElement(material_1.
|
|
191
|
+
react_1.default.createElement(material_1.Button, { className: classes.helpPopover, variant: "contained", onClick: handleClickHelpButton },
|
|
203
192
|
react_1.default.createElement(Icon_1.default, { fontSize: "small" }, "help_outline")),
|
|
204
193
|
isOpen && (react_1.default.createElement(material_1.Popover, { open: isOpen, anchorEl: anchorElPopover, onClose: handleCloseHelpPopover, anchorOrigin: {
|
|
205
194
|
vertical: 'bottom',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PREFIX = "SCChangeCoverButton";
|
package/lib/cjs/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js
CHANGED
|
@@ -107,26 +107,26 @@ function PrivateMessageSettingsIconButton(inProps) {
|
|
|
107
107
|
const renderList = () => {
|
|
108
108
|
if (isMobile) {
|
|
109
109
|
return [
|
|
110
|
-
react_1.default.createElement(material_1.ListItem, { className: classes.item, key: "delete", onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick },
|
|
111
|
-
react_1.default.createElement(material_1.ListItemIcon, null,
|
|
112
|
-
react_1.default.createElement(Icon_1.default, { fontSize: "small" }, "delete")),
|
|
113
|
-
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" })),
|
|
114
110
|
react_1.default.createElement(material_1.ListItem, { className: classes.item, key: "profile", component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.USER_PROFILE_ROUTE_NAME, user) },
|
|
115
111
|
react_1.default.createElement(material_1.ListItemIcon, null,
|
|
116
112
|
react_1.default.createElement(Icon_1.default, { fontSize: "small" }, "people_alt")),
|
|
117
|
-
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" }))
|
|
113
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" })),
|
|
114
|
+
react_1.default.createElement(material_1.ListItem, { className: classes.item, key: "delete", onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick },
|
|
115
|
+
react_1.default.createElement(material_1.ListItemIcon, null,
|
|
116
|
+
react_1.default.createElement(Icon_1.default, { fontSize: "small" }, "delete")),
|
|
117
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" }))
|
|
118
118
|
];
|
|
119
119
|
}
|
|
120
120
|
else {
|
|
121
121
|
return [
|
|
122
|
-
react_1.default.createElement(material_1.MenuItem, { className: classes.item, onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick, key: "delete" },
|
|
123
|
-
react_1.default.createElement(material_1.ListItemIcon, null,
|
|
124
|
-
react_1.default.createElement(Icon_1.default, { fontSize: "small" }, "delete")),
|
|
125
|
-
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" })),
|
|
126
122
|
react_1.default.createElement(material_1.MenuItem, { className: classes.item, component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.USER_PROFILE_ROUTE_NAME, user), key: "profile" },
|
|
127
123
|
react_1.default.createElement(material_1.ListItemIcon, null,
|
|
128
124
|
react_1.default.createElement(Icon_1.default, { fontSize: "small" }, "people_alt")),
|
|
129
|
-
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" }))
|
|
125
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" })),
|
|
126
|
+
react_1.default.createElement(material_1.MenuItem, { className: classes.item, onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick, key: "delete" },
|
|
127
|
+
react_1.default.createElement(material_1.ListItemIcon, null,
|
|
128
|
+
react_1.default.createElement(Icon_1.default, { fontSize: "small" }, "delete")),
|
|
129
|
+
react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" }))
|
|
130
130
|
];
|
|
131
131
|
}
|
|
132
132
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ChangeCoverProps } from '../ChangeCover';
|
|
2
3
|
import { ChangePictureProps } from '../ChangePicture';
|
|
3
4
|
import { SCUserType } from '@selfcommunity/types';
|
|
@@ -32,6 +33,10 @@ export interface UserProfileHeaderProps {
|
|
|
32
33
|
* @default {}
|
|
33
34
|
*/
|
|
34
35
|
ChangeCoverProps?: ChangeCoverProps;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
actions?: React.ReactNode;
|
|
35
40
|
/**
|
|
36
41
|
* Any other properties
|
|
37
42
|
*/
|
|
@@ -62,6 +67,8 @@ export interface UserProfileHeaderProps {
|
|
|
62
67
|
|root|.SCUserProfileHeader-root|Styles applied to the root element.|
|
|
63
68
|
|cover|.SCUserProfileHeader-cover|Styles applied to the cover element.|
|
|
64
69
|
|avatar|.SCUserProfileHeader-avatar|Styles applied to the avatar element.|
|
|
70
|
+
|infOpsSection|SCUserProfileHeader-infops-section|Styles applied to the section including info and actions.|
|
|
71
|
+
|info|SCUserProfileHeader-info|Styles applied to the info section.|
|
|
65
72
|
|username|SCUserProfileHeader-username|Styles applied to the username element.|
|
|
66
73
|
|realname|SCUserProfileHeader-realname|Styles applied to the realname element.|
|
|
67
74
|
|changePicture|.SCUserProfileHeader-change-picture|Styles applied to changePicture element.|
|
|
@@ -15,6 +15,8 @@ const classes = {
|
|
|
15
15
|
root: `${constants_1.PREFIX}-root`,
|
|
16
16
|
cover: `${constants_1.PREFIX}-cover`,
|
|
17
17
|
avatar: `${constants_1.PREFIX}-avatar`,
|
|
18
|
+
info: `${constants_1.PREFIX}-info`,
|
|
19
|
+
infOpsSection: `${constants_1.PREFIX}-infops-section`,
|
|
18
20
|
username: `${constants_1.PREFIX}-username`,
|
|
19
21
|
realname: `${constants_1.PREFIX}-realname`,
|
|
20
22
|
changePicture: `${constants_1.PREFIX}-change-picture`,
|
|
@@ -49,6 +51,8 @@ const Root = (0, styles_1.styled)(material_1.Box, {
|
|
|
49
51
|
|root|.SCUserProfileHeader-root|Styles applied to the root element.|
|
|
50
52
|
|cover|.SCUserProfileHeader-cover|Styles applied to the cover element.|
|
|
51
53
|
|avatar|.SCUserProfileHeader-avatar|Styles applied to the avatar element.|
|
|
54
|
+
|infOpsSection|SCUserProfileHeader-infops-section|Styles applied to the section including info and actions.|
|
|
55
|
+
|info|SCUserProfileHeader-info|Styles applied to the info section.|
|
|
52
56
|
|username|SCUserProfileHeader-username|Styles applied to the username element.|
|
|
53
57
|
|realname|SCUserProfileHeader-realname|Styles applied to the realname element.|
|
|
54
58
|
|changePicture|.SCUserProfileHeader-change-picture|Styles applied to changePicture element.|
|
|
@@ -62,7 +66,7 @@ function UserProfileHeader(inProps) {
|
|
|
62
66
|
props: inProps,
|
|
63
67
|
name: constants_1.PREFIX
|
|
64
68
|
});
|
|
65
|
-
const { id = null, className = null, userId = null, user = null, ChangePictureProps = {}, ChangeCoverProps = {} } = props, rest = tslib_1.__rest(props, ["id", "className", "userId", "user", "ChangePictureProps", "ChangeCoverProps"]);
|
|
69
|
+
const { id = null, className = null, userId = null, user = null, ChangePictureProps = {}, ChangeCoverProps = {}, actions } = props, rest = tslib_1.__rest(props, ["id", "className", "userId", "user", "ChangePictureProps", "ChangeCoverProps", "actions"]);
|
|
66
70
|
// PREFERENCES
|
|
67
71
|
const scPreferences = (0, react_core_1.useSCPreferences)();
|
|
68
72
|
// CONTEXT
|
|
@@ -111,9 +115,12 @@ function UserProfileHeader(inProps) {
|
|
|
111
115
|
react_1.default.createElement(ChangePicture_1.default, Object.assign({ iconButton: true, onChange: handleChangeAvatar, className: classes.changePicture }, ChangePictureProps)),
|
|
112
116
|
react_1.default.createElement("div", { className: classes.changeCover },
|
|
113
117
|
react_1.default.createElement(ChangeCover_1.default, Object.assign({ onChange: handleChangeCover }, ChangeCoverProps)))))),
|
|
114
|
-
react_1.default.createElement(material_1.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
+
react_1.default.createElement(material_1.Box, { className: classes.infOpsSection },
|
|
119
|
+
react_1.default.createElement(material_1.Box, { className: classes.info },
|
|
120
|
+
react_1.default.createElement(material_1.Typography, { variant: "h5", className: classes.username },
|
|
121
|
+
"@",
|
|
122
|
+
isMe ? scUserContext.user.username : scUser.username),
|
|
123
|
+
realName && (react_1.default.createElement(material_1.Typography, { variant: "h5", className: classes.realname }, realName))),
|
|
124
|
+
actions && actions)));
|
|
118
125
|
}
|
|
119
126
|
exports.default = UserProfileHeader;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import React, { useContext, useRef, useState } from 'react';
|
|
3
3
|
import { styled } from '@mui/material/styles';
|
|
4
|
-
import { Alert, Box, Button, Divider,
|
|
4
|
+
import { Alert, Box, Button, Divider, ListItemIcon, Menu, MenuItem, Popover, SwipeableDrawer, Typography, useMediaQuery, useTheme } from '@mui/material';
|
|
5
5
|
import { Endpoints, http } from '@selfcommunity/api-services';
|
|
6
6
|
import { SCUserContext } from '@selfcommunity/react-core';
|
|
7
7
|
import Icon from '@mui/material/Icon';
|
|
@@ -12,7 +12,7 @@ import CircularProgress from '@mui/material/CircularProgress';
|
|
|
12
12
|
import { useThemeProps } from '@mui/system';
|
|
13
13
|
import { SCOPE_SC_UI } from '../../constants/Errors';
|
|
14
14
|
import { Logger } from '@selfcommunity/utils';
|
|
15
|
-
|
|
15
|
+
import { PREFIX } from './constants';
|
|
16
16
|
const classes = {
|
|
17
17
|
root: `${PREFIX}-root`,
|
|
18
18
|
helpPopover: `${PREFIX}-help-popover`,
|
|
@@ -21,20 +21,8 @@ const classes = {
|
|
|
21
21
|
};
|
|
22
22
|
const Root = styled(Box, {
|
|
23
23
|
name: PREFIX,
|
|
24
|
-
slot: 'Root'
|
|
25
|
-
|
|
26
|
-
})(({ theme }) => ({
|
|
27
|
-
display: 'flex',
|
|
28
|
-
alignItems: 'center',
|
|
29
|
-
flexWrap: 'wrap',
|
|
30
|
-
[theme.breakpoints.down('md')]: {
|
|
31
|
-
'& .MuiButtonBase-root': {
|
|
32
|
-
padding: 6,
|
|
33
|
-
borderRadius: 50,
|
|
34
|
-
minWidth: 'auto'
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}));
|
|
24
|
+
slot: 'Root'
|
|
25
|
+
})(() => ({}));
|
|
38
26
|
const messages = defineMessages({
|
|
39
27
|
imageMaxSize: {
|
|
40
28
|
id: 'ui.changeCover.button.change.alertMaxSize',
|
|
@@ -194,10 +182,11 @@ export default function ChangeCover(inProps) {
|
|
|
194
182
|
* Renders change cover menu
|
|
195
183
|
*/
|
|
196
184
|
const cc = (React.createElement(React.Fragment, null,
|
|
197
|
-
React.createElement(Button, Object.assign({ size: "small", variant: "contained", disabled: loading, onClick: handleOpen }, rest),
|
|
185
|
+
React.createElement(Button, Object.assign({ size: "small", variant: "contained", disabled: loading, onClick: handleOpen }, rest),
|
|
186
|
+
React.createElement(Icon, null, "photo_camera")),
|
|
198
187
|
React.createElement(React.Fragment, null, isMobile ? (React.createElement(SwipeableDrawer, { open: open, onClose: handleClose, onOpen: handleOpen, anchor: "bottom", disableSwipeToOpen: true }, renderMenuItems())) : (React.createElement(Menu, { anchorEl: anchorEl, open: open, onClose: handleClose }, renderMenuItems()))),
|
|
199
188
|
!isMobile && (React.createElement(React.Fragment, null,
|
|
200
|
-
React.createElement(
|
|
189
|
+
React.createElement(Button, { className: classes.helpPopover, variant: "contained", onClick: handleClickHelpButton },
|
|
201
190
|
React.createElement(Icon, { fontSize: "small" }, "help_outline")),
|
|
202
191
|
isOpen && (React.createElement(Popover, { open: isOpen, anchorEl: anchorElPopover, onClose: handleCloseHelpPopover, anchorOrigin: {
|
|
203
192
|
vertical: 'bottom',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PREFIX = "SCChangeCoverButton";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const PREFIX = 'SCChangeCoverButton';
|
package/lib/esm/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js
CHANGED
|
@@ -105,26 +105,26 @@ export default function PrivateMessageSettingsIconButton(inProps) {
|
|
|
105
105
|
const renderList = () => {
|
|
106
106
|
if (isMobile) {
|
|
107
107
|
return [
|
|
108
|
-
React.createElement(ListItem, { className: classes.item, key: "delete", onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick },
|
|
109
|
-
React.createElement(ListItemIcon, null,
|
|
110
|
-
React.createElement(Icon, { fontSize: "small" }, "delete")),
|
|
111
|
-
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" })),
|
|
112
108
|
React.createElement(ListItem, { className: classes.item, key: "profile", component: Link, to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, user) },
|
|
113
109
|
React.createElement(ListItemIcon, null,
|
|
114
110
|
React.createElement(Icon, { fontSize: "small" }, "people_alt")),
|
|
115
|
-
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" }))
|
|
111
|
+
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" })),
|
|
112
|
+
React.createElement(ListItem, { className: classes.item, key: "delete", onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick },
|
|
113
|
+
React.createElement(ListItemIcon, null,
|
|
114
|
+
React.createElement(Icon, { fontSize: "small" }, "delete")),
|
|
115
|
+
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" }))
|
|
116
116
|
];
|
|
117
117
|
}
|
|
118
118
|
else {
|
|
119
119
|
return [
|
|
120
|
-
React.createElement(MenuItem, { className: classes.item, onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick, key: "delete" },
|
|
121
|
-
React.createElement(ListItemIcon, null,
|
|
122
|
-
React.createElement(Icon, { fontSize: "small" }, "delete")),
|
|
123
|
-
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" })),
|
|
124
120
|
React.createElement(MenuItem, { className: classes.item, component: Link, to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, user), key: "profile" },
|
|
125
121
|
React.createElement(ListItemIcon, null,
|
|
126
122
|
React.createElement(Icon, { fontSize: "small" }, "people_alt")),
|
|
127
|
-
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" }))
|
|
123
|
+
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.profile", defaultMessage: "ui.privateMessageSettingsIconButton.item.profile" })),
|
|
124
|
+
React.createElement(MenuItem, { className: classes.item, onClick: threadToDelete ? handleOpenDialog : onMenuItemDeleteClick, key: "delete" },
|
|
125
|
+
React.createElement(ListItemIcon, null,
|
|
126
|
+
React.createElement(Icon, { fontSize: "small" }, "delete")),
|
|
127
|
+
React.createElement(FormattedMessage, { id: "ui.privateMessageSettingsIconButton.item.delete", defaultMessage: "ui.privateMessageSettingsIconButton.item.delete" }))
|
|
128
128
|
];
|
|
129
129
|
}
|
|
130
130
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ChangeCoverProps } from '../ChangeCover';
|
|
2
3
|
import { ChangePictureProps } from '../ChangePicture';
|
|
3
4
|
import { SCUserType } from '@selfcommunity/types';
|
|
@@ -32,6 +33,10 @@ export interface UserProfileHeaderProps {
|
|
|
32
33
|
* @default {}
|
|
33
34
|
*/
|
|
34
35
|
ChangeCoverProps?: ChangeCoverProps;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
actions?: React.ReactNode;
|
|
35
40
|
/**
|
|
36
41
|
* Any other properties
|
|
37
42
|
*/
|
|
@@ -62,6 +67,8 @@ export interface UserProfileHeaderProps {
|
|
|
62
67
|
|root|.SCUserProfileHeader-root|Styles applied to the root element.|
|
|
63
68
|
|cover|.SCUserProfileHeader-cover|Styles applied to the cover element.|
|
|
64
69
|
|avatar|.SCUserProfileHeader-avatar|Styles applied to the avatar element.|
|
|
70
|
+
|infOpsSection|SCUserProfileHeader-infops-section|Styles applied to the section including info and actions.|
|
|
71
|
+
|info|SCUserProfileHeader-info|Styles applied to the info section.|
|
|
65
72
|
|username|SCUserProfileHeader-username|Styles applied to the username element.|
|
|
66
73
|
|realname|SCUserProfileHeader-realname|Styles applied to the realname element.|
|
|
67
74
|
|changePicture|.SCUserProfileHeader-change-picture|Styles applied to changePicture element.|
|
|
@@ -13,6 +13,8 @@ const classes = {
|
|
|
13
13
|
root: `${PREFIX}-root`,
|
|
14
14
|
cover: `${PREFIX}-cover`,
|
|
15
15
|
avatar: `${PREFIX}-avatar`,
|
|
16
|
+
info: `${PREFIX}-info`,
|
|
17
|
+
infOpsSection: `${PREFIX}-infops-section`,
|
|
16
18
|
username: `${PREFIX}-username`,
|
|
17
19
|
realname: `${PREFIX}-realname`,
|
|
18
20
|
changePicture: `${PREFIX}-change-picture`,
|
|
@@ -47,6 +49,8 @@ const Root = styled(Box, {
|
|
|
47
49
|
|root|.SCUserProfileHeader-root|Styles applied to the root element.|
|
|
48
50
|
|cover|.SCUserProfileHeader-cover|Styles applied to the cover element.|
|
|
49
51
|
|avatar|.SCUserProfileHeader-avatar|Styles applied to the avatar element.|
|
|
52
|
+
|infOpsSection|SCUserProfileHeader-infops-section|Styles applied to the section including info and actions.|
|
|
53
|
+
|info|SCUserProfileHeader-info|Styles applied to the info section.|
|
|
50
54
|
|username|SCUserProfileHeader-username|Styles applied to the username element.|
|
|
51
55
|
|realname|SCUserProfileHeader-realname|Styles applied to the realname element.|
|
|
52
56
|
|changePicture|.SCUserProfileHeader-change-picture|Styles applied to changePicture element.|
|
|
@@ -60,7 +64,7 @@ export default function UserProfileHeader(inProps) {
|
|
|
60
64
|
props: inProps,
|
|
61
65
|
name: PREFIX
|
|
62
66
|
});
|
|
63
|
-
const { id = null, className = null, userId = null, user = null, ChangePictureProps = {}, ChangeCoverProps = {} } = props, rest = __rest(props, ["id", "className", "userId", "user", "ChangePictureProps", "ChangeCoverProps"]);
|
|
67
|
+
const { id = null, className = null, userId = null, user = null, ChangePictureProps = {}, ChangeCoverProps = {}, actions } = props, rest = __rest(props, ["id", "className", "userId", "user", "ChangePictureProps", "ChangeCoverProps", "actions"]);
|
|
64
68
|
// PREFERENCES
|
|
65
69
|
const scPreferences = useSCPreferences();
|
|
66
70
|
// CONTEXT
|
|
@@ -109,8 +113,11 @@ export default function UserProfileHeader(inProps) {
|
|
|
109
113
|
React.createElement(ChangePicture, Object.assign({ iconButton: true, onChange: handleChangeAvatar, className: classes.changePicture }, ChangePictureProps)),
|
|
110
114
|
React.createElement("div", { className: classes.changeCover },
|
|
111
115
|
React.createElement(ChangeCover, Object.assign({ onChange: handleChangeCover }, ChangeCoverProps)))))),
|
|
112
|
-
React.createElement(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
+
React.createElement(Box, { className: classes.infOpsSection },
|
|
117
|
+
React.createElement(Box, { className: classes.info },
|
|
118
|
+
React.createElement(Typography, { variant: "h5", className: classes.username },
|
|
119
|
+
"@",
|
|
120
|
+
isMe ? scUserContext.user.username : scUser.username),
|
|
121
|
+
realName && (React.createElement(Typography, { variant: "h5", className: classes.realname }, realName))),
|
|
122
|
+
actions && actions)));
|
|
116
123
|
}
|