Inital toast UI
parent
02d23e972c
commit
94f6ee3f3b
@ -0,0 +1,81 @@
|
||||
import React from 'react';
|
||||
import classNames from 'classnames';
|
||||
|
||||
import {
|
||||
SessionIcon,
|
||||
SessionIconButton,
|
||||
SessionIconSize,
|
||||
SessionIconType,
|
||||
} from './icon/';
|
||||
|
||||
export enum SessionToastType {
|
||||
Info = 'info',
|
||||
Success = 'success',
|
||||
Warning = 'warning',
|
||||
Error = 'error',
|
||||
}
|
||||
|
||||
interface Props {
|
||||
title: string;
|
||||
description: string;
|
||||
type: SessionToastType;
|
||||
}
|
||||
|
||||
export class SessionToast extends React.PureComponent<Props> {
|
||||
public static defaultProps = {
|
||||
description: '',
|
||||
type: SessionToastType.Info,
|
||||
};
|
||||
|
||||
constructor(props: any) {
|
||||
super(props);
|
||||
}
|
||||
|
||||
public render() {
|
||||
const { title, description, type } = this.props;
|
||||
|
||||
let toastIcon;
|
||||
switch (type) {
|
||||
case SessionToastType.Info:
|
||||
toastIcon = SessionIconType.Eye;
|
||||
break;
|
||||
case SessionToastType.Success:
|
||||
toastIcon = SessionIconType.Check;
|
||||
break;
|
||||
case SessionToastType.Error:
|
||||
toastIcon = SessionIconType.Search;
|
||||
break;
|
||||
case SessionToastType.Warning:
|
||||
toastIcon = SessionIconType.Globe;
|
||||
break;
|
||||
default:
|
||||
toastIcon = SessionIconType.Globe;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={classNames('session-toast', type)}>
|
||||
<div className="toast-icon">
|
||||
<SessionIcon iconType={toastIcon} iconSize={SessionIconSize.Large} />
|
||||
</div>
|
||||
<div className="toast-info">
|
||||
<div className="toast-info-container">
|
||||
<h3 className="title">{title}</h3>
|
||||
<p className="description">{description}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="toast-close">
|
||||
<SessionIconButton
|
||||
iconType={SessionIconType.Exit}
|
||||
iconSize={SessionIconSize.Small}
|
||||
onClick={this.closeToast}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
public closeToast() {
|
||||
return;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue