Commit eca11953 authored by JC Brand's avatar JC Brand

Upgrade to fontawesome 5

parent bacf9391
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
- #956 Conversation pane should show my own identity in pane header - #956 Conversation pane should show my own identity in pane header
- The UI is now based on Bootstrap4 and Flexbox is used extensively. - The UI is now based on Bootstrap4 and Flexbox is used extensively.
- Fontawesome 5 is used for icons.
- User Avatars are now shown in chat messages. - User Avatars are now shown in chat messages.
## Configuration changes ## Configuration changes
......
...@@ -8,16 +8,16 @@ CHROMIUM ?= ./node_modules/.bin/run-headless-chromium ...@@ -8,16 +8,16 @@ CHROMIUM ?= ./node_modules/.bin/run-headless-chromium
CLEANCSS ?= ./node_modules/clean-css-cli/bin/cleancss --skip-rebase CLEANCSS ?= ./node_modules/clean-css-cli/bin/cleancss --skip-rebase
ESLINT ?= ./node_modules/.bin/eslint ESLINT ?= ./node_modules/.bin/eslint
HTTPSERVE ?= ./node_modules/.bin/http-server HTTPSERVE ?= ./node_modules/.bin/http-server
HTTPSERVE_PORT ?= 8000 HTTPSERVE_PORT ?= 8000
INKSCAPE ?= inkscape INKSCAPE ?= inkscape
JSDOC ?= ./node_modules/.bin/jsdoc JSDOC ?= ./node_modules/.bin/jsdoc
OXIPNG ?= oxipng OXIPNG ?= oxipng
PAPER = PAPER =
PO2JSON ?= ./node_modules/.bin/po2json PO2JSON ?= ./node_modules/.bin/po2json
RJS ?= ./node_modules/.bin/r.js RJS ?= ./node_modules/.bin/r.js
WEBPACK ?= ./node_modules/.bin/npx WEBPACK ?= ./node_modules/.bin/npx
SASS ?= ./.bundle/bin/sass SASS ?= ./.bundle/bin/sass
SED ?= sed SED ?= sed
SPHINXBUILD ?= ./bin/sphinx-build SPHINXBUILD ?= ./bin/sphinx-build
SPHINXOPTS = SPHINXOPTS =
UGLIFYJS ?= node_modules/.bin/uglifyjs UGLIFYJS ?= node_modules/.bin/uglifyjs
......
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -79411,7 +79411,7 @@ __e(o.display_name) + ...@@ -79411,7 +79411,7 @@ __e(o.display_name) +
if (o.allow_chat_pending_contacts) { ; if (o.allow_chat_pending_contacts) { ;
__p += '</a>\n'; __p += '</a>\n';
} ; } ;
__p += '\n<a class="remove-xmpp-contact fa fa-trash" title="' + __p += '\n<a class="remove-xmpp-contact far fa-trash-alt" title="' +
__e(o.desc_remove) + __e(o.desc_remove) +
'" href="#"></a>\n'; '" href="#"></a>\n';
return __p return __p
...@@ -80183,7 +80183,7 @@ __p += '">' + ...@@ -80183,7 +80183,7 @@ __p += '">' +
__e(o.display_name) + __e(o.display_name) +
'</span></a>\n'; '</span></a>\n';
if (o.allow_contact_removal) { ; if (o.allow_contact_removal) { ;
__p += '\n<a class="list-item-action remove-xmpp-contact fa fa-trash" title="' + __p += '\n<a class="list-item-action remove-xmpp-contact far fa-trash-alt" title="' +
__e(o.desc_remove) + __e(o.desc_remove) +
'" href="#"></a>\n'; '" href="#"></a>\n';
} ; } ;
...@@ -80367,7 +80367,7 @@ var __t, __p = '', __e = _.escape, __j = Array.prototype.join; ...@@ -80367,7 +80367,7 @@ var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') } function print() { __p += __j.call(arguments, '') }
__p += '<!-- src/templates/toolbar.html -->\n'; __p += '<!-- src/templates/toolbar.html -->\n';
if (o.use_emoji) { ; if (o.use_emoji) { ;
__p += '\n<li class="toggle-toolbar-menu toggle-smiley dropup">\n <a class="toggle-smiley fa fa-smile-o" title="' + __p += '\n<li class="toggle-toolbar-menu toggle-smiley dropup">\n <a class="toggle-smiley far fa-smile" title="' +
__e(o.tooltip_insert_smiley) + __e(o.tooltip_insert_smiley) +
'" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a> \n <div class="emoji-picker dropdown-menu toolbar-menu"></div>\n</li>\n'; '" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a> \n <div class="emoji-picker dropdown-menu toolbar-menu"></div>\n</li>\n';
} ; } ;
...@@ -80586,7 +80586,7 @@ __p += '\n </ul>\n '; ...@@ -80586,7 +80586,7 @@ __p += '\n </ul>\n ';
} ; } ;
__p += '\n </div>\n <div class="modal-footer">\n '; __p += '\n </div>\n <div class="modal-footer">\n ';
if (o.allow_contact_removal && o.is_roster_contact) { ; if (o.allow_contact_removal && o.is_roster_contact) { ;
__p += '\n <button type="button" class="btn btn-danger remove-contact"><i class="fa fa-trash"> </i>' + __p += '\n <button type="button" class="btn btn-danger remove-contact"><i class="far fa-trash-alt"> </i>' +
__e(o.__('Remove as contact')) + __e(o.__('Remove as contact')) +
'</button>\n '; '</button>\n ';
} ; } ;
...@@ -853,6 +853,12 @@ ...@@ -853,6 +853,12 @@
} }
} }
}, },
"@fortawesome/fontawesome-free": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.3.1.tgz",
"integrity": "sha512-jt6yi7iZVtkY9Jc6zFo+G2vqL4M81pb3IA3WmnnDt9ci7Asz+mPg4gbZL8pjx0nGFBsG0Bmd7BjU9IQkebqxFA==",
"dev": true
},
"@mrmlnc/readdir-enhanced": { "@mrmlnc/readdir-enhanced": {
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
...@@ -4189,12 +4195,6 @@ ...@@ -4189,12 +4195,6 @@
"readable-stream": "2.3.5" "readable-stream": "2.3.5"
} }
}, },
"font-awesome": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
"integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=",
"dev": true
},
"for-in": { "for-in": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
......
...@@ -78,7 +78,9 @@ ...@@ -78,7 +78,9 @@
a, a:visited, a:hover, a:not([href]):not([tabindex]) { a, a:visited, a:hover, a:not([href]):not([tabindex]) {
&.chatbox-btn { &.chatbox-btn {
&.fa { &.fa,
&.fas,
&.far {
color: white; color: white;
&.button-on:before { &.button-on:before {
padding: 0.2em; padding: 0.2em;
...@@ -91,7 +93,7 @@ ...@@ -91,7 +93,7 @@
.chatbox-btn { .chatbox-btn {
color: white; color: white;
&.fa { &.fa, &.far, &.fas {
color: white; color: white;
} }
&:active { &:active {
...@@ -294,7 +296,9 @@ ...@@ -294,7 +296,9 @@
border-top: 4px solid $chat-head-color; border-top: 4px solid $chat-head-color;
background-color: white; background-color: white;
color: $chat-head-color; color: $chat-head-color;
.fa, .fa:hover { .fa, .fa:hover,
.far, .far:hover,
.fas, .fas:hover {
color: $chat-head-color; color: $chat-head-color;
font-size: $font-size-large; font-size: $font-size-large;
} }
......
...@@ -262,6 +262,8 @@ ...@@ -262,6 +262,8 @@
background-color: white; background-color: white;
border-top: 4px solid $chatroom-head-color; border-top: 4px solid $chatroom-head-color;
color: $chatroom-head-color; color: $chatroom-head-color;
.fas, .fas:hover,
.far, .far:hover,
.fa, .fa:hover { .fa, .fa:hover {
color: $chatroom-head-color; color: $chatroom-head-color;
} }
......
...@@ -190,7 +190,7 @@ body.reset { ...@@ -190,7 +190,7 @@ body.reset {
text-shadow: none; text-shadow: none;
} }
&.fa { &.fa, &.far, &.fas {
color: $subdued-color; color: $subdued-color;
&:hover { &:hover {
color: $gray-color; color: $gray-color;
...@@ -202,11 +202,11 @@ body.reset { ...@@ -202,11 +202,11 @@ body.reset {
border-radius: $chatbox-border-radius; border-radius: $chatbox-border-radius;
} }
.fa { .fa, .far, .fas {
color: $subdued-color; color: $subdued-color;
} }
.fa:hover { .fa:hover, .far:hover, .fas:hover {
color: $gray-color; color: $gray-color;
} }
...@@ -256,20 +256,11 @@ body.reset { ...@@ -256,20 +256,11 @@ body.reset {
font-size: 90%; font-size: 90%;
} }
.fa {
font: normal normal normal 14px/1 ConverseFontAwesome;
display: inline-block;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.btn { .btn {
font-family: $heading-font; font-family: $heading-font;
font-weight: normal; font-weight: normal;
color: #fff; color: #fff;
.fa { .fa, .far, .fas {
color: #fff; color: #fff;
margin-right: 0.5em; margin-right: 0.5em;
} }
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
&:hover { &:hover {
background-color: lighten($controlbox-head-color, 45%); background-color: lighten($controlbox-head-color, 45%);
.fa { .fa, .far, .fas {
opacity: 1; opacity: 1;
} }
} }
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
&.requesting-xmpp-contact { &.requesting-xmpp-contact {
a { a {
line-height: $line-height; line-height: $line-height;
&.fa { &.far, &.fas, &.fa {
width: 1.5em; width: 1.5em;
} }
} }
......
@import "font-awesome/scss/variables";
@import "font-awesome/scss/mixins";
@font-face { @font-face {
font-family: 'ConverseFontAwesome'; font-family: 'ConverseFontAwesomeRegular';
src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); font-style: normal;
src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), font-weight: 400;
url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), src: url('webfonts/fa-regular-400.eot');
url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), src: url('webfonts/fa-regular-400.eot?#iefix') format('embedded-opentype'),
url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), url('webfonts/fa-regular-400.woff2') format('woff2'),
url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); url('webfonts/fa-regular-400.woff') format('woff'),
url('webfonts/fa-regular-400.ttf') format('truetype'),
url('webfonts/fa-regular-400.svg#fontawesome') format('svg');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@import "font-awesome/scss/core"; @font-face {
@import "font-awesome/scss/larger"; font-family: 'ConverseFontAwesomeSolid';
@import "font-awesome/scss/fixed-width"; font-style: normal;
@import "font-awesome/scss/list"; font-weight: 900;
@import "font-awesome/scss/bordered-pulled"; src: url('webfonts/fa-solid-900.eot');
@import "font-awesome/scss/animated"; src: url('webfonts/fa-solid-900.eot?#iefix') format('embedded-opentype'),
@import "font-awesome/scss/rotated-flipped"; url('webfonts/fa-solid-900.woff2') format('woff2'),
@import "font-awesome/scss/stacked"; url('webfonts/fa-solid-900.woff') format('woff'),
@import "font-awesome/scss/icons"; url('webfonts/fa-solid-900.ttf') format('truetype'),
@import "font-awesome/scss/screen-reader"; url('webfonts/fa-solid-900.svg#fontawesome') format('svg');
}
.far {
font-family: 'ConverseFontAwesomeRegular' !important;
font-weight: 400;
}
.fa,
.fas {
font-family: 'ConverseFontAwesomeSolid' !important;
font-weight: 900;
}
.fa, .far, .fas {
display: inline-block;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
@import "@fortawesome/fontawesome-free/scss/variables";
@import "@fortawesome/fontawesome-free/scss/mixins";
@import "@fortawesome/fontawesome-free/scss/core";
@import "@fortawesome/fontawesome-free/scss/larger";
@import "@fortawesome/fontawesome-free/scss/fixed-width";
@import "@fortawesome/fontawesome-free/scss/list";
@import "@fortawesome/fontawesome-free/scss/bordered-pulled";
@import "@fortawesome/fontawesome-free/scss/animated";
@import "@fortawesome/fontawesome-free/scss/rotated-flipped";
@import "@fortawesome/fontawesome-free/scss/stacked";
@import "@fortawesome/fontawesome-free/scss/icons";
@import "@fortawesome/fontawesome-free/scss/screen-reader";
...@@ -4,4 +4,4 @@ ...@@ -4,4 +4,4 @@
<span class="pending-contact-name w-100" title="JID: {{{o.jid}}}">{{{o.display_name}}}</span> <span class="pending-contact-name w-100" title="JID: {{{o.jid}}}">{{{o.display_name}}}</span>
{[ if (o.allow_chat_pending_contacts) { ]}</a> {[ if (o.allow_chat_pending_contacts) { ]}</a>
{[ } ]} {[ } ]}
<a class="remove-xmpp-contact fa fa-trash" title="{{{o.desc_remove}}}" href="#"></a> <a class="remove-xmpp-contact far fa-trash-alt" title="{{{o.desc_remove}}}" href="#"></a>
...@@ -6,5 +6,5 @@ ...@@ -6,5 +6,5 @@
{[ } ]} {[ } ]}
<span class="contact-name {[ if (o.num_unread) { ]} unread-msgs {[ } ]}">{{{o.display_name}}}</span></a> <span class="contact-name {[ if (o.num_unread) { ]} unread-msgs {[ } ]}">{{{o.display_name}}}</span></a>
{[ if (o.allow_contact_removal) { ]} {[ if (o.allow_contact_removal) { ]}
<a class="list-item-action remove-xmpp-contact fa fa-trash" title="{{{o.desc_remove}}}" href="#"></a> <a class="list-item-action remove-xmpp-contact far fa-trash-alt" title="{{{o.desc_remove}}}" href="#"></a>
{[ } ]} {[ } ]}
{[ if (o.use_emoji) { ]} {[ if (o.use_emoji) { ]}
<li class="toggle-toolbar-menu toggle-smiley dropup"> <li class="toggle-toolbar-menu toggle-smiley dropup">
<a class="toggle-smiley fa fa-smile-o" title="{{{o.tooltip_insert_smiley}}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a> <a class="toggle-smiley far fa-smile" title="{{{o.tooltip_insert_smiley}}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a>
<div class="emoji-picker dropdown-menu toolbar-menu"></div> <div class="emoji-picker dropdown-menu toolbar-menu"></div>
</li> </li>
{[ } ]} {[ } ]}
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
{[ if (o.allow_contact_removal && o.is_roster_contact) { ]} {[ if (o.allow_contact_removal && o.is_roster_contact) { ]}
<button type="button" class="btn btn-danger remove-contact"><i class="fa fa-trash"> </i>{{{o.__('Remove as contact')}}}</button> <button type="button" class="btn btn-danger remove-contact"><i class="far fa-trash-alt"> </i>{{{o.__('Remove as contact')}}}</button>
{[ } ]} {[ } ]}
<button type="button" class="btn btn-info refresh-contact"><i class="fa fa-refresh"> </i>{{{o.__('Refresh')}}}</button> <button type="button" class="btn btn-info refresh-contact"><i class="fa fa-refresh"> </i>{{{o.__('Refresh')}}}</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{{o.__('Close')}}}</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">{{{o.__('Close')}}}</button>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment