accounts-ui/imports/ui/components/PasswordOrService.jsx
2016-04-02 18:55:07 +02:00

39 lines
1 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react';
import { Accounts } from 'meteor/accounts-base';
import { T9n } from 'meteor/softwarerero:accounts-t9n';
import { hasPasswordService } from '../../helpers.js';
export class PasswordOrService extends React.Component {
constructor(props) {
super(props);
this.state = {
hasPasswordService: hasPasswordService(),
services: Object.keys(props.oauthServices).map(service => {
return props.oauthServices[service].label
})
};
}
render () {
let { className, style = {} } = this.props;
let { hasPasswordService, services } = this.state;
labels = services;
if (services.length > 2) {
labels = [];
}
if (hasPasswordService && services.length > 0) {
return (
<div style={ style } className={ className }>
{ `${T9n.get('or use')} ${ labels.join(' / ') }` }
</div>
);
}
return null;
}
}
PasswordOrService.propTypes = {
oauthServices: React.PropTypes.object
};
Accounts.ui.PasswordOrService = PasswordOrService;