add auth-panel block

This commit is contained in:
igoradamenko
2018-02-14 01:16:55 +02:00
parent 3e6215d7dd
commit 8e62f1b3aa
4 changed files with 57 additions and 0 deletions
@@ -0,0 +1,6 @@
.auth-panel__pseudo-link {
display: inline-block;
white-space: nowrap;
cursor: pointer;
color: #06c5c5;
}
@@ -0,0 +1,42 @@
import { h, Component } from 'preact';
export default class AuthPanel extends Component {
render(props, state) {
const { user, providers } = props;
return (
<div className={b('auth-panel', props)}>
{
!!user.name && (
<span>You signed in as <strong>{user.name}</strong>. <span className="auth-panel__pseudo-link" onClick={props.onSignOut}>Sign out?</span></span>
)
}
{
!user.name && (
<span>
Sign in to comment using
{' '}
{
providers.map((provider, i) => {
const comma = i === 0 ? '' : ', ';
return (
<span>
{comma}
<span
className="auth-panel__pseudo-link"
onClick={() => props.onSignIn(provider)}
>{provider}</span>
</span>
)
})
}
{'.'}
</span>
)
}
</div>
);
}
}
@@ -0,0 +1,4 @@
.auth-panel {
font-size: 12px;
line-height: 16px;
}
+5
View File
@@ -0,0 +1,5 @@
export { default } from './auth-panel';
require('./auth-panel.scss');
require('./__pseudo-link/auth-panel__pseudo-link.scss');