diff options
Diffstat (limited to 'web/react/components')
-rw-r--r-- | web/react/components/channel_invite_modal.jsx | 2 | ||||
-rw-r--r-- | web/react/components/edit_channel_modal.jsx | 7 | ||||
-rw-r--r-- | web/react/components/new_channel.jsx | 4 | ||||
-rw-r--r-- | web/react/components/post.jsx | 2 | ||||
-rw-r--r-- | web/react/components/search_bar.jsx | 7 | ||||
-rw-r--r-- | web/react/components/search_results.jsx | 7 | ||||
-rw-r--r-- | web/react/components/setting_picture.jsx | 4 | ||||
-rw-r--r-- | web/react/components/setting_upload.jsx | 28 | ||||
-rw-r--r-- | web/react/components/team_feature_tab.jsx | 4 | ||||
-rw-r--r-- | web/react/components/team_import_tab.jsx | 8 | ||||
-rw-r--r-- | web/react/components/team_settings_modal.jsx | 2 |
11 files changed, 58 insertions, 17 deletions
diff --git a/web/react/components/channel_invite_modal.jsx b/web/react/components/channel_invite_modal.jsx index e446167ec..b70811db1 100644 --- a/web/react/components/channel_invite_modal.jsx +++ b/web/react/components/channel_invite_modal.jsx @@ -138,7 +138,7 @@ export default class ChannelInviteModal extends React.Component { <div className='modal-content'> <div className='modal-header'> <button type='button' className='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>×</span></button> - <h4 className='modal-title'>Add New Members to <span className='name'>{this.state.channel_name}</span></h4> + <h4 className='modal-title'>Add New Members to <span className='name'>{this.state.channelName}</span></h4> </div> <div className='modal-body'> {inviteError} diff --git a/web/react/components/edit_channel_modal.jsx b/web/react/components/edit_channel_modal.jsx index 1a633b193..76f0c2c4d 100644 --- a/web/react/components/edit_channel_modal.jsx +++ b/web/react/components/edit_channel_modal.jsx @@ -50,13 +50,18 @@ module.exports = React.createClass({ render: function() { var server_error = this.state.server_error ? <div className='form-group has-error'><br/><label className='control-label'>{ this.state.server_error }</label></div> : null; + var editTitle = <h4 className='modal-title' ref='title'>Edit Description</h4>; + if (this.state.title) { + editTitle = <h4 className='modal-title' ref='title'>Edit Description for <span className='name'>{this.state.title}</span></h4>; + } + return ( <div className="modal fade" ref="modal" id="edit_channel" role="dialog" tabIndex="-1" aria-hidden="true"> <div className="modal-dialog"> <div className="modal-content"> <div className="modal-header"> <button type="button" className="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> - <h4 className="modal-title" ref="title">Edit Description for {this.state.title}</h4> + {editTitle} </div> <div className="modal-body"> <textarea className="form-control no-resize" rows="6" ref="channelDesc" maxLength="1024" value={this.state.description} onChange={this.handleUserInput}></textarea> diff --git a/web/react/components/new_channel.jsx b/web/react/components/new_channel.jsx index b00376758..38c9ea76d 100644 --- a/web/react/components/new_channel.jsx +++ b/web/react/components/new_channel.jsx @@ -127,12 +127,12 @@ module.exports = React.createClass({ <div className='modal-body'> <div className={displayNameClass}> <label className='control-label'>Display Name</label> - <input onKeyUp={this.displayNameKeyUp} type='text' ref='display_name' className='form-control' placeholder='Enter display name' maxLength='64' /> + <input onKeyUp={this.displayNameKeyUp} type='text' ref='display_name' className='form-control' placeholder='Enter display name' maxLength='22' /> {displayNameError} </div> <div className={nameClass}> <label className='control-label'>Handle</label> - <input type='text' className='form-control' ref='channel_name' placeholder="lowercase alphanumeric's only" maxLength='64' /> + <input type='text' className='form-control' ref='channel_name' placeholder="lowercase alphanumeric's only" maxLength='22' /> {nameError} </div> <div className='form-group'> diff --git a/web/react/components/post.jsx b/web/react/components/post.jsx index 7bc6a8c01..53ffeb400 100644 --- a/web/react/components/post.jsx +++ b/web/react/components/post.jsx @@ -102,7 +102,7 @@ module.exports = React.createClass({ currentUserCss = "current--user"; } - var timestamp = UserStore.getCurrentUser().update_at; + var timestamp = UserStore.getProfile(post.user_id).update_at; return ( <div> diff --git a/web/react/components/search_bar.jsx b/web/react/components/search_bar.jsx index e39cf5d46..b11b39e9e 100644 --- a/web/react/components/search_bar.jsx +++ b/web/react/components/search_bar.jsx @@ -48,6 +48,13 @@ module.exports = React.createClass({ }); AppDispatcher.handleServerAction({ + type: ActionTypes.RECIEVED_SEARCH_TERM, + term: null, + do_search: false, + is_mention_search: false + }); + + AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_POST_SELECTED, results: null }); diff --git a/web/react/components/search_results.jsx b/web/react/components/search_results.jsx index 643ad112b..b1efd7685 100644 --- a/web/react/components/search_results.jsx +++ b/web/react/components/search_results.jsx @@ -24,6 +24,13 @@ var RhsHeaderSearch = React.createClass({ }); AppDispatcher.handleServerAction({ + type: ActionTypes.RECIEVED_SEARCH_TERM, + term: null, + do_search: false, + is_mention_search: false + }); + + AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_POST_SELECTED, results: null }); diff --git a/web/react/components/setting_picture.jsx b/web/react/components/setting_picture.jsx index e97b67706..5b12ad7e9 100644 --- a/web/react/components/setting_picture.jsx +++ b/web/react/components/setting_picture.jsx @@ -48,6 +48,7 @@ module.exports = React.createClass({ } confirmButton = <a className={confirmButtonClass} onClick={this.props.submit}>Save</a>; } + var helpText = 'Upload a profile picture in either JPG or PNG format, at least ' + config.ProfileWidth + 'px in width and ' + config.ProfileHeight + 'px height.' var self = this; return ( @@ -59,6 +60,9 @@ module.exports = React.createClass({ {img} </li> <li className='setting-list-item'> + {helpText} + </li> + <li className='setting-list-item'> {serverError} {clientError} <span className='btn btn-sm btn-primary btn-file sel-btn'>Select<input ref='input' accept='.jpg,.png,.bmp' type='file' onChange={this.props.pictureChange}/></span> diff --git a/web/react/components/setting_upload.jsx b/web/react/components/setting_upload.jsx index 83b6d85fc..02789f5dd 100644 --- a/web/react/components/setting_upload.jsx +++ b/web/react/components/setting_upload.jsx @@ -46,17 +46,25 @@ module.exports = React.createClass({ serverError: '' }); }, + onFileSelect: function(e) { + var filename = $(e.target).val(); + if (filename.substring(3, 11) === 'fakepath') { + filename = filename.substring(12); + } + $(e.target).closest('li').find('.file-status').addClass('hide'); + $(e.target).closest('li').find('.file-name').removeClass('hide').html(filename); + }, render: function() { var clientError = null; if (this.state.clientError) { clientError = ( - <div className='form-group has-error'><label className='control-label'>{this.state.clientError}</label></div> + <div className='file-status'>{this.state.clientError}</div> ); } var serverError = null; if (this.state.serverError) { serverError = ( - <div className='form-group has-error'><label className='control-label'>{this.state.serverError}</label></div> + <div className='file-status'>{this.state.serverError}</div> ); } return ( @@ -65,11 +73,21 @@ module.exports = React.createClass({ <li className='col-xs-offset-3 col-xs-8'> <ul className='setting-list'> <li className='setting-list-item'> + <span className='btn btn-sm btn-primary btn-file sel-btn'>Select file<input ref='uploadinput' accept={this.props.fileTypesAccepted} type='file' onChange={this.onFileSelect}/></span> + <a + className={'btn btn-sm btn-primary'} + onClick={this.doSubmit}> + Import + </a> + <a + className='btn btn-sm btn-link theme' + href='#' + onClick={this.doCancel}> + Cancel + </a> + <div className='file-status file-name hide'></div> {serverError} {clientError} - <span className='btn btn-sm btn-primary btn-file sel-btn'>Select File<input ref='uploadinput' accept={this.props.fileTypesAccepted} type='file' onChange={this.onFileSelect}/></span> - <a className={'btn btn-sm btn-primary'} onClick={this.doSubmit}>Import</a> - <a className='btn btn-sm theme' href='#' onClick={this.doCancel}>Cancel</a> </li> </ul> </li> diff --git a/web/react/components/team_feature_tab.jsx b/web/react/components/team_feature_tab.jsx index ee0bfa874..4f28d84c6 100644 --- a/web/react/components/team_feature_tab.jsx +++ b/web/react/components/team_feature_tab.jsx @@ -133,10 +133,10 @@ module.exports = React.createClass({ <div> <div className='modal-header'> <button type='button' className='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>×</span></button> - <h4 className='modal-title' ref='title'><i className='modal-back'></i>Feature Settings</h4> + <h4 className='modal-title' ref='title'><i className='modal-back'></i>Advanced Features</h4> </div> <div ref='wrapper' className='user-settings'> - <h3 className='tab-header'>Feature Settings</h3> + <h3 className='tab-header'>Advanced Features</h3> <div className='divider-dark first'/> {valetSection} <div className='divider-dark'/> diff --git a/web/react/components/team_import_tab.jsx b/web/react/components/team_import_tab.jsx index ae7f875cb..c21701c0e 100644 --- a/web/react/components/team_import_tab.jsx +++ b/web/react/components/team_import_tab.jsx @@ -34,17 +34,17 @@ module.exports = React.createClass({ break; case 'in-progress': messageSection = ( - <p>Importing...</p> + <p className="confirm-import alert alert-warning"><i className="fa fa-spinner fa-pulse"></i> Importing...</p> ); break; case 'done': messageSection = ( - <p>Import sucessfull: <a href={this.state.link} download='MattermostImportSummary.txt'>View Summary</a></p> + <p className="confirm-import alert alert-success"><i className="fa fa-check"></i> Import sucessfull: <a href={this.state.link} download='MattermostImportSummery.txt'>View Summery</a></p> ); break; case 'fail': messageSection = ( - <p>Import failure: <a href={this.state.link} download='MattermostImportSummary.txt'>View Summary</a></p> + <p className="confirm-import alert alert-warning"><i className="fa fa-warning"></i> Import failure: <a href={this.state.link} download='MattermostImportSummery.txt'>View Summery</a></p> ); break; } @@ -59,8 +59,8 @@ module.exports = React.createClass({ <h3 className='tab-header'>Import</h3> <div className='divider-dark first'/> {uploadSection} - {messageSection} <div className='divider-dark'/> + {messageSection} </div> </div> ); diff --git a/web/react/components/team_settings_modal.jsx b/web/react/components/team_settings_modal.jsx index c9f479a22..ef2564de0 100644 --- a/web/react/components/team_settings_modal.jsx +++ b/web/react/components/team_settings_modal.jsx @@ -27,8 +27,8 @@ module.exports = React.createClass({ }, render: function() { var tabs = []; - tabs.push({name: 'feature', uiName: 'Features', icon: 'glyphicon glyphicon-wrench'}); tabs.push({name: 'import', uiName: 'Import', icon: 'glyphicon glyphicon-upload'}); + tabs.push({name: 'feature', uiName: 'Advanced', icon: 'glyphicon glyphicon-wrench'}); return ( <div className='modal fade' ref='modal' id='team_settings' role='dialog' tabIndex='-1' aria-hidden='true'> |