Merge pull request #1607 from Bilb/redesign-group-invitation
Redesign group invitation and ask user confirmation before accepting onepull/1611/head
commit
1d22c12bf5
@ -1,41 +1,43 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
import { SessionButton, SessionButtonType } from '../session/SessionButton';
|
||||||
|
import { SessionIconButton, SessionIconSize, SessionIconType } from '../session/icon';
|
||||||
|
import { useTheme } from 'styled-components';
|
||||||
|
|
||||||
interface Props {
|
type Props = {
|
||||||
serverName: string;
|
serverName: string;
|
||||||
serverAddress: string;
|
serverAddress: string;
|
||||||
direction: string;
|
direction: string;
|
||||||
onClick: any;
|
onJoinClick: () => void;
|
||||||
}
|
};
|
||||||
|
|
||||||
export class GroupInvitation extends React.Component<Props> {
|
export const GroupInvitation = (props: Props) => {
|
||||||
public render() {
|
const theme = useTheme();
|
||||||
const classes = ['group-invitation'];
|
const classes = ['group-invitation'];
|
||||||
|
|
||||||
if (this.props.direction === 'outgoing') {
|
if (props.direction === 'outgoing') {
|
||||||
classes.push('invitation-outgoing');
|
classes.push('invitation-outgoing');
|
||||||
}
|
}
|
||||||
|
const openGroupInvitation = window.i18n('openGroupInvitation');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={'group-invitation-container'}>
|
<div className="group-invitation-container">
|
||||||
<div className={classNames(classes)}>
|
<div className={classNames(classes)}>
|
||||||
<div className="title">Group invitation</div>
|
|
||||||
<div className="contents">
|
<div className="contents">
|
||||||
<img
|
<SessionIconButton
|
||||||
alt="group-avatar"
|
iconType={SessionIconType.Plus}
|
||||||
src="images/session/session_chat_icon.png"
|
iconColor={theme.colors.accent}
|
||||||
className="invite-group-avatar"
|
theme={theme}
|
||||||
|
iconSize={SessionIconSize.Large}
|
||||||
|
onClick={props.onJoinClick}
|
||||||
/>
|
/>
|
||||||
<span className="group-details">
|
<span className="group-details">
|
||||||
<span className="group-name">{this.props.serverName}</span>
|
<span className="group-name">{props.serverName}</span>
|
||||||
<span className="group-address">{this.props.serverAddress}</span>
|
<span className="group-type">{openGroupInvitation}</span>
|
||||||
</span>
|
<span className="group-address">{props.serverAddress}</span>
|
||||||
<span role="button" className="join-btn" onClick={this.props.onClick}>
|
|
||||||
Join
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue