summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/react/components/channel_invite_modal.jsx2
-rw-r--r--web/react/components/edit_channel_modal.jsx2
-rw-r--r--web/react/components/new_channel.jsx4
-rw-r--r--web/react/components/search_bar.jsx7
-rw-r--r--web/react/components/search_results.jsx7
-rw-r--r--web/react/components/setting_picture.jsx4
-rw-r--r--web/react/components/team_feature_tab.jsx4
-rw-r--r--web/react/components/team_settings_modal.jsx2
-rw-r--r--web/react/utils/utils.jsx3
-rw-r--r--web/sass-files/sass/partials/_headers.scss3
-rw-r--r--web/templates/head.html2
-rw-r--r--web/web.go15
12 files changed, 41 insertions, 14 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'>&times;</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..fc303bbc2 100644
--- a/web/react/components/edit_channel_modal.jsx
+++ b/web/react/components/edit_channel_modal.jsx
@@ -56,7 +56,7 @@ module.exports = React.createClass({
<div className="modal-content">
<div className="modal-header">
<button type="button" className="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
- <h4 className="modal-title" ref="title">Edit Description for {this.state.title}</h4>
+ <h4 className="modal-title" ref="title">Edit Description for <span className='name'>{this.state.title}</span></h4>
</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/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/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'>&times;</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_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'>
diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx
index 09cd299df..4571312bb 100644
--- a/web/react/utils/utils.jsx
+++ b/web/react/utils/utils.jsx
@@ -271,11 +271,12 @@ function getYoutubeEmbed(link) {
iframe.setAttribute('src',
'https://www.youtube.com/embed/' +
div.id +
- '?autoplay=1&autohide=1&border=0&wmode=opaque&enablejsapi=1');
+ '?autoplay=1&autohide=1&border=0&wmode=opaque&fs=1&enablejsapi=1');
iframe.setAttribute('width', '480px');
iframe.setAttribute('height', '360px');
iframe.setAttribute('type', 'text/html');
iframe.setAttribute('frameborder', '0');
+ iframe.setAttribute('allowfullscreen', 'allowfullscreen');
div.parentNode.replaceChild(iframe, div);
}
diff --git a/web/sass-files/sass/partials/_headers.scss b/web/sass-files/sass/partials/_headers.scss
index 571c7ff1f..c311941b6 100644
--- a/web/sass-files/sass/partials/_headers.scss
+++ b/web/sass-files/sass/partials/_headers.scss
@@ -200,6 +200,9 @@
}
}
}
+ .search__clear {
+ display: none;
+ }
}
#navbar {
diff --git a/web/templates/head.html b/web/templates/head.html
index 5448b09ed..02904e764 100644
--- a/web/templates/head.html
+++ b/web/templates/head.html
@@ -50,6 +50,8 @@
config = {};
}
config.SiteName = '{{ .SiteName }}';
+ config.ProfileWidth = '{{ .Props.ProfileWidth }}'
+ config.ProfileHeight = '{{ .Props.ProfileHeight }}'
</script>
<script src="/static/js/bundle.js"></script>
diff --git a/web/web.go b/web/web.go
index d6f8d553b..dc2b5dced 100644
--- a/web/web.go
+++ b/web/web.go
@@ -4,18 +4,19 @@
package web
import (
- l4g "code.google.com/p/log4go"
"fmt"
+ "html/template"
+ "net/http"
+ "strconv"
+ "strings"
+
+ l4g "code.google.com/p/log4go"
"github.com/gorilla/mux"
"github.com/mattermost/platform/api"
"github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils"
"github.com/mssola/user_agent"
"gopkg.in/fsnotify.v1"
- "html/template"
- "net/http"
- "strconv"
- "strings"
)
var Templates *template.Template
@@ -30,6 +31,8 @@ func NewHtmlTemplatePage(templateName string, title string) *HtmlTemplatePage {
props := make(map[string]string)
props["AnalyticsUrl"] = utils.Cfg.ServiceSettings.AnalyticsUrl
+ props["ProfileHeight"] = fmt.Sprintf("%v", utils.Cfg.ImageSettings.ProfileHeight)
+ props["ProfileWidth"] = fmt.Sprintf("%v", utils.Cfg.ImageSettings.ProfileWidth)
return &HtmlTemplatePage{TemplateName: templateName, Title: title, SiteName: utils.Cfg.ServiceSettings.SiteName, Props: props}
}
@@ -212,7 +215,7 @@ func signupTeamComplete(c *api.Context, w http.ResponseWriter, r *http.Request)
props := model.MapFromJson(strings.NewReader(data))
t, err := strconv.ParseInt(props["time"], 10, 64)
- if err != nil || model.GetMillis()-t > 1000*60*60 { // one hour
+ if err != nil || model.GetMillis()-t > 1000*60*60*24*30 { // 30 days
c.Err = model.NewAppError("signupTeamComplete", "The signup link has expired", "")
return
}