Merge pull request #1148 from asaadmahmoodspin/ui-improvements
Ui improvements
@@ -12,19 +12,21 @@ export default class FileUploadOverlay extends React.Component {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={overlayClass}>
|
<div className={overlayClass}>
|
||||||
<div className='overlay__circle'>
|
<div className='overlay__indent'>
|
||||||
<img
|
<div className='overlay__circle'>
|
||||||
className='overlay__files'
|
<img
|
||||||
src='/static/images/filesOverlay.png'
|
className='overlay__files'
|
||||||
alt='Files'
|
src='/static/images/filesOverlay.png'
|
||||||
/>
|
alt='Files'
|
||||||
<span><i className='fa fa-upload'></i>{'Drop a file to upload it.'}</span>
|
/>
|
||||||
<img
|
<span><i className='fa fa-upload'></i>{'Drop a file to upload it.'}</span>
|
||||||
className='overlay__logo'
|
<img
|
||||||
src='/static/images/logoWhite.png'
|
className='overlay__logo'
|
||||||
width='100'
|
src='/static/images/logoWhite.png'
|
||||||
alt='Logo'
|
width='100'
|
||||||
/>
|
alt='Logo'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ var AppDispatcher = require('../dispatcher/app_dispatcher.jsx');
|
|||||||
var utils = require('../utils/utils.jsx');
|
var utils = require('../utils/utils.jsx');
|
||||||
var Constants = require('../utils/constants.jsx');
|
var Constants = require('../utils/constants.jsx');
|
||||||
var ActionTypes = Constants.ActionTypes;
|
var ActionTypes = Constants.ActionTypes;
|
||||||
var Tooltip = ReactBootstrap.Tooltip;
|
var Popover = ReactBootstrap.Popover;
|
||||||
|
|
||||||
export default class SearchBar extends React.Component {
|
export default class SearchBar extends React.Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -163,7 +163,7 @@ export default class SearchBar extends React.Component {
|
|||||||
onMouseUp={this.handleMouseInput}
|
onMouseUp={this.handleMouseInput}
|
||||||
/>
|
/>
|
||||||
{isSearching}
|
{isSearching}
|
||||||
<Tooltip
|
<Popover
|
||||||
placement='bottom'
|
placement='bottom'
|
||||||
className={helpClass}
|
className={helpClass}
|
||||||
>
|
>
|
||||||
@@ -176,7 +176,7 @@ export default class SearchBar extends React.Component {
|
|||||||
<span>{'Use '}</span><b>{'from:'}</b><span>{' to find posts from specific users and '}</span><b>{'in:'}</b><span>{' to find posts in specific channels'}</span>
|
<span>{'Use '}</span><b>{'from:'}</b><span>{' to find posts from specific users and '}</span><b>{'in:'}</b><span>{' to find posts in specific channels'}</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Tooltip>
|
</Popover>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ module.exports = {
|
|||||||
sidebarText: '#333333',
|
sidebarText: '#333333',
|
||||||
sidebarUnreadText: '#333333',
|
sidebarUnreadText: '#333333',
|
||||||
sidebarTextHoverBg: '#e6f2fa',
|
sidebarTextHoverBg: '#e6f2fa',
|
||||||
sidebarTextActiveBg: '#e1e1e1',
|
sidebarTextActiveBorder: '#378FD2',
|
||||||
sidebarTextActiveColor: '#111111',
|
sidebarTextActiveColor: '#111111',
|
||||||
sidebarHeaderBg: '#2389d7',
|
sidebarHeaderBg: '#2389d7',
|
||||||
sidebarHeaderTextColor: '#ffffff',
|
sidebarHeaderTextColor: '#ffffff',
|
||||||
@@ -161,7 +161,7 @@ module.exports = {
|
|||||||
sidebarText: '#fff',
|
sidebarText: '#fff',
|
||||||
sidebarUnreadText: '#fff',
|
sidebarUnreadText: '#fff',
|
||||||
sidebarTextHoverBg: '#136197',
|
sidebarTextHoverBg: '#136197',
|
||||||
sidebarTextActiveBg: '#136197',
|
sidebarTextActiveBorder: '#7AB0D6',
|
||||||
sidebarTextActiveColor: '#FFFFFF',
|
sidebarTextActiveColor: '#FFFFFF',
|
||||||
sidebarHeaderBg: '#2f81b7',
|
sidebarHeaderBg: '#2f81b7',
|
||||||
sidebarHeaderTextColor: '#FFFFFF',
|
sidebarHeaderTextColor: '#FFFFFF',
|
||||||
@@ -183,7 +183,7 @@ module.exports = {
|
|||||||
sidebarText: '#fff',
|
sidebarText: '#fff',
|
||||||
sidebarUnreadText: '#fff',
|
sidebarUnreadText: '#fff',
|
||||||
sidebarTextHoverBg: '#4A5664',
|
sidebarTextHoverBg: '#4A5664',
|
||||||
sidebarTextActiveBg: '#39769C',
|
sidebarTextActiveBorder: '#39769C',
|
||||||
sidebarTextActiveColor: '#FFFFFF',
|
sidebarTextActiveColor: '#FFFFFF',
|
||||||
sidebarHeaderBg: '#1B2C3E',
|
sidebarHeaderBg: '#1B2C3E',
|
||||||
sidebarHeaderTextColor: '#FFFFFF',
|
sidebarHeaderTextColor: '#FFFFFF',
|
||||||
@@ -205,7 +205,7 @@ module.exports = {
|
|||||||
sidebarText: '#fff',
|
sidebarText: '#fff',
|
||||||
sidebarUnreadText: '#fff',
|
sidebarUnreadText: '#fff',
|
||||||
sidebarTextHoverBg: '#302e30',
|
sidebarTextHoverBg: '#302e30',
|
||||||
sidebarTextActiveBg: '#484748',
|
sidebarTextActiveBorder: '#196CAF',
|
||||||
sidebarTextActiveColor: '#FFFFFF',
|
sidebarTextActiveColor: '#FFFFFF',
|
||||||
sidebarHeaderBg: '#1f1f1f',
|
sidebarHeaderBg: '#1f1f1f',
|
||||||
sidebarHeaderTextColor: '#FFFFFF',
|
sidebarHeaderTextColor: '#FFFFFF',
|
||||||
@@ -248,8 +248,8 @@ module.exports = {
|
|||||||
uiName: 'Sidebar Text Hover BG'
|
uiName: 'Sidebar Text Hover BG'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'sidebarTextActiveBg',
|
id: 'sidebarTextActiveBorder',
|
||||||
uiName: 'Sidebar Text Active BG'
|
uiName: 'Sidebar Text Active Border'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'sidebarTextActiveColor',
|
id: 'sidebarTextActiveColor',
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ export function notifyMe(title, body, channel) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (permission === 'granted') {
|
if (permission === 'granted') {
|
||||||
var notification = new Notification(title, {body: body, tag: body, icon: '/static/images/icon50x50.gif'});
|
var notification = new Notification(title, {body: body, tag: body, icon: '/static/images/icon50x50.png'});
|
||||||
notification.onclick = function onClick() {
|
notification.onclick = function onClick() {
|
||||||
window.focus();
|
window.focus();
|
||||||
if (channel) {
|
if (channel) {
|
||||||
@@ -425,18 +425,14 @@ export function applyTheme(theme) {
|
|||||||
changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
|
changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (theme.sidebarTextActiveBg) {
|
if (theme.sidebarTextActiveBorder) {
|
||||||
changeCss('.sidebar--left .nav-pills__container li.active a, .sidebar--left .nav-pills__container li.active a:hover, .sidebar--left .nav-pills__container li.active a:focus, .settings-modal .nav-pills>li.active a, .settings-modal .nav-pills>li.active a:hover, .settings-modal .nav-pills>li.active a:active', 'background:' + theme.sidebarTextActiveBg, 1);
|
changeCss('.sidebar--left .nav li.active a:before, .settings-modal .nav-pills>li.active a:before', 'background:' + theme.sidebarTextActiveBorder, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (theme.sidebarTextActiveColor) {
|
if (theme.sidebarTextActiveColor) {
|
||||||
changeCss('.sidebar--left .nav-pills__container li.active a, .sidebar--left .nav-pills__container li.active a:hover, .sidebar--left .nav-pills__container li.active a:focus, .settings-modal .nav-pills>li.active a, .settings-modal .nav-pills>li.active a:hover, .settings-modal .nav-pills>li.active a:active', 'color:' + theme.sidebarTextActiveColor, 2);
|
changeCss('.sidebar--left .nav-pills__container li.active a, .sidebar--left .nav-pills__container li.active a:hover, .sidebar--left .nav-pills__container li.active a:focus, .settings-modal .nav-pills>li.active a, .settings-modal .nav-pills>li.active a:hover, .settings-modal .nav-pills>li.active a:active', 'color:' + theme.sidebarTextActiveColor, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (theme.sidebarTextActiveBg === theme.onlineIndicator) {
|
|
||||||
changeCss('.sidebar--left .nav-pills__container li.active a .status .online--icon', 'fill:' + theme.sidebarTextActiveColor, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (theme.sidebarHeaderBg) {
|
if (theme.sidebarHeaderBg) {
|
||||||
changeCss('.sidebar--left .team__header, .sidebar--menu .team__header', 'background:' + theme.sidebarHeaderBg, 1);
|
changeCss('.sidebar--left .team__header, .sidebar--menu .team__header', 'background:' + theme.sidebarHeaderBg, 1);
|
||||||
changeCss('.modal .modal-header', 'background:' + theme.sidebarHeaderBg, 1);
|
changeCss('.modal .modal-header', 'background:' + theme.sidebarHeaderBg, 1);
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.popover {
|
.popover {
|
||||||
|
@include border-radius(3px);
|
||||||
color: #333;
|
color: #333;
|
||||||
&.bottom, &.right, &.top, &.left {
|
&.bottom, &.right, &.top, &.left {
|
||||||
>.arrow:after {
|
>.arrow:after {
|
||||||
@@ -118,6 +119,7 @@ a:focus, a:hover {
|
|||||||
|
|
||||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||||
cursor: auto;
|
cursor: auto;
|
||||||
|
background: rgba(#fff, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-group {
|
.form-group {
|
||||||
|
|||||||
@@ -21,21 +21,43 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.search-help-popover {
|
.search-help-popover {
|
||||||
transition: opacity 0.3s;
|
visibility: hidden;
|
||||||
|
max-width: none;
|
||||||
|
width: 100%;
|
||||||
|
top: 36px;
|
||||||
|
@include single-transition(opacity, 0.3s, ease-in);
|
||||||
|
font-size: em(13px);
|
||||||
|
|
||||||
|
&.bottom > .arrow {
|
||||||
|
top: -18px;
|
||||||
|
border-width: 9px;
|
||||||
|
left: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover-content {
|
||||||
|
padding: 3px 13px;
|
||||||
|
}
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
text-align: left;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
padding-left: 2em;
|
padding-left: 17px;
|
||||||
text-align: left;
|
span {
|
||||||
|
@include opacity(0.8);
|
||||||
|
}
|
||||||
|
strong, b {
|
||||||
|
@include opacity(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-inner {
|
.tooltip-inner {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.search-help-popover.visible {
|
&.visible {
|
||||||
opacity: 100;
|
visibility: visible;
|
||||||
transition: opacity 0.3s;
|
@include opacity(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ body.ios {
|
|||||||
height: 2em;
|
height: 2em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
&:before, &:after {
|
&:before, &:after {
|
||||||
content: "";
|
content: "";
|
||||||
height: 1em;
|
height: 1em;
|
||||||
@@ -116,13 +117,25 @@ body.ios {
|
|||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: rgba(0, 0, 0, 0.6);
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
font-size: em(20px);
|
font-size: em(20px);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
z-index: 6;
|
z-index: 6;
|
||||||
|
|
||||||
|
.overlay__indent {
|
||||||
|
background-color: rgba(0, 0, 0, 0.6);
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
@include clearfix;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.center-file-overlay {
|
||||||
|
.overlay__indent {
|
||||||
|
margin-left: 220px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&.right-file-overlay {
|
&.right-file-overlay {
|
||||||
font-size: em(18px);
|
font-size: em(18px);
|
||||||
.overlay__circle {
|
.overlay__circle {
|
||||||
|
|||||||
@@ -179,6 +179,22 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1140px) {
|
@media screen and (max-width: 1140px) {
|
||||||
|
.inner__wrap {
|
||||||
|
&.move--left {
|
||||||
|
.file-overlay {
|
||||||
|
font-size: em(18px);
|
||||||
|
.overlay__circle {
|
||||||
|
width: 300px;
|
||||||
|
height: 300px;
|
||||||
|
margin: -150px 0 0 -150px;
|
||||||
|
}
|
||||||
|
.overlay__files {
|
||||||
|
margin: 60px auto 15px;
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.post {
|
.post {
|
||||||
.post__content {
|
.post__content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -277,6 +293,11 @@
|
|||||||
}
|
}
|
||||||
.file-overlay {
|
.file-overlay {
|
||||||
font-size: em(18px);
|
font-size: em(18px);
|
||||||
|
&.center-file-overlay {
|
||||||
|
.overlay__indent {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
.overlay__circle {
|
.overlay__circle {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
height: 300px;
|
height: 300px;
|
||||||
|
|||||||
@@ -211,6 +211,22 @@
|
|||||||
a {
|
a {
|
||||||
color: #111;
|
color: #111;
|
||||||
background-color: #E1E1E1;
|
background-color: #E1E1E1;
|
||||||
|
&:before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 5px;
|
||||||
|
height: 100%;
|
||||||
|
background: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
a, a:hover, a:focus {
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: rgba(black, 0.1);
|
||||||
|
border-radius: 0;
|
||||||
|
font-weight: 400;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,12 +128,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
|
a {
|
||||||
|
&:before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 5px;
|
||||||
|
height: 100%;
|
||||||
|
background: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
a, a:hover, a:focus {
|
a, a:hover, a:focus {
|
||||||
color: #111;
|
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
background-color: #e1e1e1;
|
background-color: rgba(black, 0.1);
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "Mattermost",
|
"name": "Mattermost",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "../static/iamges/icon50x50.gif",
|
"src": "../static/iamges/icon50x50.png",
|
||||||
"sizes": "50x50",
|
"sizes": "50x50",
|
||||||
"type": "image/png"
|
"type": "image/png"
|
||||||
}
|
}
|
||||||
|
|||||||
Двоичные данные
web/static/images/favicon.ico
|
До Ширина: | Высота: | Размер: 1.3 KiB После Ширина: | Высота: | Размер: 15 KiB |
Двоичные данные
web/static/images/icon50x50.gif
|
До Ширина: | Высота: | Размер: 2.1 KiB |
Двоичные данные
web/static/images/icon50x50.png
Обычный файл
|
После Ширина: | Высота: | Размер: 15 KiB |
Двоичные данные
web/static/images/logo.png
|
До Ширина: | Высота: | Размер: 15 KiB После Ширина: | Высота: | Размер: 23 KiB |
Двоичные данные
web/static/images/redfavicon.ico
|
До Ширина: | Высота: | Размер: 1.5 KiB После Ширина: | Высота: | Размер: 15 KiB |
@@ -6,7 +6,7 @@
|
|||||||
<div class="oauth-prompt">
|
<div class="oauth-prompt">
|
||||||
<div class="prompt__heading">
|
<div class="prompt__heading">
|
||||||
<div class="prompt__app-icon">
|
<div class="prompt__app-icon">
|
||||||
<img src="/static/images/icon50x50.gif" width="50" height="50" alt="">
|
<img src="/static/images/icon50x50.png" width="50" height="50" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="text">An application would like to connect to your {{.Props.TeamName}} account.</div>
|
<div class="text">An application would like to connect to your {{.Props.TeamName}} account.</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||