Skip to content

Commit fcb9d6c

Browse files
authored
Merge pull request #230 from abhinavkrin/new/message-component+avatar
New/message component+avatar
2 parents b196e3a + 7c1ee0f commit fcb9d6c

23 files changed

+846
-206
lines changed

packages/react/src/components/ActionButton/ActionButton.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ const getSize = ({ small, large }) => {
1414
};
1515

1616
const ActionButton = forwardRef(
17-
({ icon, size = 'medium', children, ...props }, ref) => (
18-
<Button ref={ref} square size={size} {...props}>
17+
({ icon, size = 'medium', color = 'default', children, ...props }, ref) => (
18+
<Button ref={ref} square size={size} color={color} {...props}>
1919
{children}
2020
<Icon name={icon} size={getSize(props)} />
2121
</Button>

packages/react/src/components/ActionButton/ActionButton.stories.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export const Ghost = {
3939
ghost: true,
4040
icon: 'cross',
4141
disabled: false,
42+
color: 'primary',
4243
},
4344
render: (args) => (
4445
<ThemeProvider theme={DefaultTheme}>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { css } from '@emotion/react';
2+
import React from 'react';
3+
import useComponentOverrides from '../../theme/useComponentOverrides';
4+
import { AvatarContainer } from './AvatarContainer';
5+
6+
export const Avatar = ({
7+
size = '2.25rem',
8+
className = '',
9+
style = {},
10+
url,
11+
...props
12+
}) => {
13+
const AvatarCss = css`
14+
border-radius: 0.25rem;
15+
height: ${size};
16+
width: ${size};
17+
`;
18+
const { classNames, styleOverrides } = useComponentOverrides(
19+
'Avatar',
20+
className,
21+
style
22+
);
23+
24+
return (
25+
<AvatarContainer size={size} {...props}>
26+
<img
27+
src={`${url}`}
28+
css={AvatarCss}
29+
className={classNames}
30+
style={styleOverrides}
31+
/>
32+
</AvatarContainer>
33+
);
34+
};
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { css } from '@emotion/react';
2+
import React from 'react';
3+
import { appendClassNames } from '../../lib/appendClassNames';
4+
import useComponentOverrides from '../../theme/useComponentOverrides';
5+
import { Box } from '../Box';
6+
7+
export const AvatarContainer = ({
8+
title,
9+
children,
10+
className = '',
11+
style = {},
12+
...props
13+
}) => {
14+
const AvatarContainerCSS = css`
15+
display: inline-flex;
16+
vertical-align: middle;
17+
cursor: pointer;
18+
`;
19+
const { classNames, styleOverrides } = useComponentOverrides(
20+
'AvatarContainer',
21+
className,
22+
style
23+
);
24+
props.className = appendClassNames('ec-avatar-container', [classNames]);
25+
26+
props.style = styleOverrides;
27+
28+
return (
29+
<Box is="figure" css={AvatarContainerCSS} aria-label={title} {...props}>
30+
{children}
31+
</Box>
32+
);
33+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './Avatar';

packages/react/src/components/Button/Button.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ const Button = ({
3030
const classNameButton = css`
3131
cursor: pointer;
3232
display: inline-block;
33-
background-color: ${theme.palette[color].main};
34-
color: ${theme.palette[color].contrastText || 'currentColor'};
35-
border-color: ${theme.palette[color].main || 'currentColor'};
33+
background-color: ${theme.palette[color]?.main};
34+
color: ${theme.palette[color]?.contrastText || 'currentColor'};
35+
border-color: ${theme.palette[color]?.main || 'currentColor'};
3636
border-style: solid;
3737
border-width: 1px;
3838
font-size: 0.875rem;
@@ -96,7 +96,7 @@ const Button = ({
9696
}
9797
&.ghost {
9898
background: none;
99-
color: ${theme?.palette?.text?.primary || '#1A2027'};
99+
color: ${theme?.palette?.[color]?.main || '#1A2027'};
100100
border: none;
101101
}
102102
&.disabled.ghost {

packages/react/src/components/ChatBody/ChatBody.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -177,12 +177,10 @@ const ChatBody = ({ height, anonymousMode, showRoles }) => {
177177
useEffect(() => {
178178
RCInstance.auth.onAuthChange((user) => {
179179
if (user) {
180-
RCInstance.connect().then(() => {
181-
RCInstance.addMessageListener(addMessage);
182-
RCInstance.addMessageDeleteListener(removeMessage);
183-
RCInstance.addActionTriggeredListener(onActionTriggerResponse);
184-
RCInstance.addUiInteractionListener(onActionTriggerResponse);
185-
});
180+
RCInstance.addMessageListener(addMessage);
181+
RCInstance.addMessageDeleteListener(removeMessage);
182+
RCInstance.addActionTriggeredListener(onActionTriggerResponse);
183+
RCInstance.addUiInteractionListener(onActionTriggerResponse);
186184
getMessagesAndRoles();
187185
} else {
188186
getMessagesAndRoles(anonymousMode);

packages/react/src/components/ChatInput/ChatInput.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,6 @@ const ChatInput = () => {
280280
margin-top: 20px;
281281
border: 2px solid #ddd;
282282
`}
283-
className={styles.containerParent}
284283
>
285284
{showMembersList ? (
286285
<MembersList

0 commit comments

Comments
 (0)