diff options
author | =Corey Hulen <corey@hulen.com> | 2016-01-25 11:23:55 -0500 |
---|---|---|
committer | =Corey Hulen <corey@hulen.com> | 2016-01-25 11:23:55 -0500 |
commit | ea71731f838fc010cfc7511c09875184d1b2396b (patch) | |
tree | 7841e6908a42badb5171760426d2ca5898a76bda /web/react/pages/authorize.jsx | |
parent | 6b534f1b0dae2614ec267a82f1c4dc1b096b7b1c (diff) | |
parent | 5478ea34e436109ece417c3704a1fa36d3aba4a5 (diff) | |
download | chat-ea71731f838fc010cfc7511c09875184d1b2396b.tar.gz chat-ea71731f838fc010cfc7511c09875184d1b2396b.tar.bz2 chat-ea71731f838fc010cfc7511c09875184d1b2396b.zip |
merging
Diffstat (limited to 'web/react/pages/authorize.jsx')
-rw-r--r-- | web/react/pages/authorize.jsx | 75 |
1 files changed, 62 insertions, 13 deletions
diff --git a/web/react/pages/authorize.jsx b/web/react/pages/authorize.jsx index 71f17d007..7474332ce 100644 --- a/web/react/pages/authorize.jsx +++ b/web/react/pages/authorize.jsx @@ -2,20 +2,69 @@ // See License.txt for license information. import Authorize from '../components/authorize.jsx'; +import * as Client from '../utils/client.jsx'; -function setupAuthorizePage(props) { +var IntlProvider = ReactIntl.IntlProvider; + +class Root extends React.Component { + constructor() { + super(); + this.state = { + translations: null, + loaded: false + }; + } + + static propTypes() { + return { + map: React.PropTypes.object.isRequired + }; + } + + componentWillMount() { + Client.getTranslations( + this.props.map.Locale, + (data) => { + this.setState({ + translations: data, + loaded: true + }); + }, + () => { + this.setState({ + loaded: true + }); + } + ); + } + + render() { + if (!this.state.loaded) { + return <div></div>; + } + + return ( + <IntlProvider + locale={this.props.map.Locale} + messages={this.state.translations} + > + <Authorize + teamName={this.props.map.TeamName} + appName={this.props.map.AppName} + responseType={this.props.map.ResponseType} + clientId={this.props.map.ClientId} + redirectUri={this.props.map.RedirectUri} + scope={this.props.map.Scope} + state={this.props.map.State} + /> + </IntlProvider> + ); + } +} + +global.window.setup_authorize_page = function setup(props) { ReactDOM.render( - <Authorize - teamName={props.TeamName} - appName={props.AppName} - responseType={props.ResponseType} - clientId={props.ClientId} - redirectUri={props.RedirectUri} - scope={props.Scope} - state={props.State} - />, + <Root map={props} />, document.getElementById('authorize') ); -} - -global.window.setup_authorize_page = setupAuthorizePage; +}; |